<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.tachyony.co.uk/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AJctbtm</id>
	<title>Module:Jctbtm - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.tachyony.co.uk/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AJctbtm"/>
	<link rel="alternate" type="text/html" href="https://wiki.tachyony.co.uk/w/index.php?title=Module:Jctbtm&amp;action=history"/>
	<updated>2026-05-15T22:57:22Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.5</generator>
	<entry>
		<id>https://wiki.tachyony.co.uk/w/index.php?title=Module:Jctbtm&amp;diff=5793&amp;oldid=prev</id>
		<title>Tachyony: Created page with &quot;local p = {}  local types = mw.loadData(&quot;Module:Road data/RJL types&quot;)  local row  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, &quot;,&quot;) 	table.sort(keys) 	retur...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.tachyony.co.uk/w/index.php?title=Module:Jctbtm&amp;diff=5793&amp;oldid=prev"/>
		<updated>2022-01-15T01:50:58Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local p = {}  local types = mw.loadData(&amp;quot;Module:Road data/RJL types&amp;quot;)  local row  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, &amp;quot;,&amp;quot;) 	table.sort(keys) 	retur...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local types = mw.loadData(&amp;quot;Module:Road data/RJL types&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
local row&lt;br /&gt;
&lt;br /&gt;
local columns = {   -- Constants for how many columns different list types should have.&lt;br /&gt;
	default = 6,    -- default&lt;br /&gt;
	exit = 7,       -- default + exit number&lt;br /&gt;
	old = 8,        -- default + exit number + old exit number&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local function parameterParser(args)&lt;br /&gt;
	local keysParam = args.keys&lt;br /&gt;
	if not(keysParam) then return {} end&lt;br /&gt;
	local keys = mw.text.split(keysParam, &amp;quot;,&amp;quot;)&lt;br /&gt;
	table.sort(keys)&lt;br /&gt;
	return keys&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function createLegend(key)&lt;br /&gt;
	local legend = row:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;jct-bottom-legend hlist&amp;#039;)&lt;br /&gt;
		:tag(&amp;#039;ul&amp;#039;)&lt;br /&gt;
	for k,v in ipairs(key) do&lt;br /&gt;
		local type = types[v]&lt;br /&gt;
		if type then&lt;br /&gt;
			legend&lt;br /&gt;
				:tag(&amp;#039;li&amp;#039;)&lt;br /&gt;
					:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
						:css(&amp;#039;background-color&amp;#039;, type.color)&lt;br /&gt;
						:wikitext(&amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;quot;)&lt;br /&gt;
						:done()&lt;br /&gt;
					:wikitext(&amp;quot;&amp;amp;nbsp; &amp;quot;)&lt;br /&gt;
					:wikitext(type.jctbtm)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._jctbtm(args)&lt;br /&gt;
&lt;br /&gt;
	local root = mw.html.create()&lt;br /&gt;
	&lt;br /&gt;
	local cols = args.col or columns[args[1]] or columns.default&lt;br /&gt;
	row = root&lt;br /&gt;
		:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:attr(&amp;#039;colspan&amp;#039;, cols)&lt;br /&gt;
				:addClass(&amp;#039;jct-bottom&amp;#039;)&lt;br /&gt;
				:wikitext(mw.getCurrentFrame():extensionTag{&lt;br /&gt;
					name = &amp;#039;templatestyles&amp;#039;, args = { src = &amp;#039;Module:Jctbtm/styles.css&amp;#039; }&lt;br /&gt;
				})&lt;br /&gt;
					&lt;br /&gt;
	if (args.conv or &amp;#039;yes&amp;#039;) == &amp;#039;yes&amp;#039; then&lt;br /&gt;
		row:wikitext(&amp;quot;1.000&amp;amp;nbsp;mi = 1.609&amp;amp;nbsp;km; 1.000&amp;amp;nbsp;km = 0.621&amp;amp;nbsp;mi&amp;lt;br&amp;gt;&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local key = parameterParser(args)&lt;br /&gt;
	if key[1] then createLegend(key) end&lt;br /&gt;
	&lt;br /&gt;
	local keyParam = args.key&lt;br /&gt;
	if keyParam then -- This is a deprecated parameter&lt;br /&gt;
		local page = mw.title.getCurrentTitle()&lt;br /&gt;
		local pagename = page.prefixedText&lt;br /&gt;
		row:wikitext(string.format(&amp;quot;[[Category:Jctbtm temporary tracking category|# %s]]&amp;quot;, pagename))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	row:wikitext(args.notes or args.key) -- If additional notes are provided, display them.&lt;br /&gt;
	&lt;br /&gt;
	if #row.nodes == 0 then&lt;br /&gt;
		return &amp;#039;|-\n|}&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		return tostring(root) .. &amp;#039;\n|-\n|}&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.jctbtm(frame)&lt;br /&gt;
	return p._jctbtm(require(&amp;#039;Module:Arguments&amp;#039;).getArgs(frame))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Tachyony</name></author>
	</entry>
</feed>