Module:Jctbtm

local p = {}local types = mw.loadData("Module:Road data/RJL types")local columns = {   -- Constants for how many columns different list types should have.default = 6,    -- defaultexit = 7,       -- default + exit numberold = 8,        -- default + exit number + old exit number}local function parameterParser(args)local keysParam = args.keysif not(keysParam) then return {} endlocal keys = mw.text.split(keysParam, ",")table.sort(keys)return keysendlocal function createLegend(key, html_object)local listargs = {class = 'jct-bottom-legend'}for _,v in ipairs(key) dolocal type = types[v]if type thentable.insert(listargs,'<span class="jct-bottom-legend-color" style="background-color: ' ..type.color .. '">&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;&nbsp;<span class="nowrap">' ..type.jctbtm .. '</span>')endendhtml_object:wikitext(require('Module:List').horizontal(listargs))endfunction p._jctbtm(args)local root = mw.html.create()local cols = args.col or columns[args[1]] or columns.defaultrow = root:tag('tr'):tag('td'):attr('colspan', cols):addClass('jct-bottom'):wikitext(mw.getCurrentFrame():extensionTag{name = 'templatestyles', args = { src = 'Module:Jctbtm/styles.css' }})if (args.conv or 'yes') == 'yes' thenrow:wikitext("1.000&nbsp;mi = 1.609&nbsp;km; 1.000&nbsp;km = 0.621&nbsp;mi<br>")endlocal key = parameterParser(args)if key[1] then createLegend(key, row) endlocal keyParam = args.keyif keyParam then -- This is a deprecated parameterlocal page = mw.title.getCurrentTitle()local pagename = page.prefixedTextrow:wikitext(string.format("[[Category:Jctbtm temporary tracking category|# %s]]", pagename))endrow:wikitext(args.notes or args.key) -- If additional notes are provided, display them.if #row.nodes == 0 thenreturn '|-\n|}'elsereturn tostring(root) .. '\n|-\n|}'endendfunction p.jctbtm(frame)return p._jctbtm(require('Module:Arguments').getArgs(frame))endreturn p