Module:Jctbtm
Appearance
From Wikipedia, the free encyclopedia
Warning This Lua module is used on approximately 15,000 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them.
This module depends on the following other modules:
This module implements the {{Jctbtm }} template. Please see the template page for usage instructions.
Usage
{{#invoke:Jctbtm|jctbtm}}
Tracking/maintenance category
The above documentation is transcluded from Module:Jctbtm/doc. (edit | history)
Editors can experiment in this module's sandbox (edit | diff) and testcases (create) pages.
Subpages of this module.
Editors can experiment in this module's sandbox (edit | diff) and testcases (create) pages.
Subpages of this module.
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, -- default exit = 7, -- default + exit number old = 8, -- default + exit number + old exit number } local function parameterParser(args) local keysParam = args.keys if not(keysParam) then return {} end local keys = mw.text.split(keysParam, ",") table.sort(keys) return keys end local function createLegend(key, html_object) local listargs = { class = 'jct-bottom-legend' } for _,v in ipairs(key) do local type = types[v] if type then table.insert( listargs, '<span class="jct-bottom-legend-color" style="background-color: ' .. type.color .. '"> </span> <span class="nowrap">' .. type.jctbtm .. '</span>' ) end end html_object:wikitext(require('Module:List').horizontal(listargs)) end function p._jctbtm(args) local root = mw.html.create() local cols = args.col or columns[args[1]] or columns.default row = root :tag('tr') :tag('td') :attr('colspan', cols) :addClass('jct-bottom notheme') :wikitext(mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Module:Jctbtm/styles.css' } }) if (args.conv or 'yes') == 'yes' then row:wikitext("1.000 mi = 1.609 km; 1.000 km = 0.621 mi<br>") end local key = parameterParser(args) if key[1] then createLegend(key, row) end local keyParam = args.key if keyParam then -- This is a deprecated parameter local page = mw.title.getCurrentTitle() local pagename = page.prefixedText row:wikitext(string.format("[[Category:Jctbtm temporary tracking category|# %s]]", pagename)) end row:wikitext(args.notes or args.key) -- If additional notes are provided, display them. if #row.nodes == 0 then return '|-\n|}' else return tostring(root) .. '\n|-\n|}' end end function p.jctbtm(frame) return p._jctbtm(require('Module:Arguments').getArgs(frame)) end return p