<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.runerealm.org/index.php?action=history&amp;feed=atom&amp;title=Module%3ATable_list</id>
	<title>Module:Table list - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.runerealm.org/index.php?action=history&amp;feed=atom&amp;title=Module%3ATable_list"/>
	<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=Module:Table_list&amp;action=history"/>
	<updated>2026-05-15T11:12:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://wiki.runerealm.org/index.php?title=Module:Table_list&amp;diff=35184&amp;oldid=prev</id>
		<title>Alex: Created page with &quot;-- &lt;pre&gt; local p = {} local alphabet = &#039;ABCDEFGHIJKLMNOPQRSTUVWXYZ0&#039;  function p.main(frame) 	return p._main(frame:getParent().args) end function p._main(args) 	local columns = tonumber(args.columns) or 4 	local header = args.header or &#039;&#039; 	local links = string.lower(args.links or &#039;&#039;)  	local alphabeticalheaders = string.lower(args.alphaheader or &#039;&#039;)  	if alphabeticalheaders == &#039;yes&#039; then 		alphabeticalheaders = true 	else 		alphabeticalheaders = false 	end  	local entrie...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=Module:Table_list&amp;diff=35184&amp;oldid=prev"/>
		<updated>2024-10-16T23:13:15Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;-- &amp;lt;pre&amp;gt; local p = {} local alphabet = &amp;#039;ABCDEFGHIJKLMNOPQRSTUVWXYZ0&amp;#039;  function p.main(frame) 	return p._main(frame:getParent().args) end function p._main(args) 	local columns = tonumber(args.columns) or 4 	local header = args.header or &amp;#039;&amp;#039; 	local links = string.lower(args.links or &amp;#039;&amp;#039;)  	local alphabeticalheaders = string.lower(args.alphaheader or &amp;#039;&amp;#039;)  	if alphabeticalheaders == &amp;#039;yes&amp;#039; then 		alphabeticalheaders = true 	else 		alphabeticalheaders = false 	end  	local entrie...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- &amp;lt;pre&amp;gt;&lt;br /&gt;
local p = {}&lt;br /&gt;
local alphabet = &amp;#039;ABCDEFGHIJKLMNOPQRSTUVWXYZ0&amp;#039;&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	return p._main(frame:getParent().args)&lt;br /&gt;
end&lt;br /&gt;
function p._main(args)&lt;br /&gt;
	local columns = tonumber(args.columns) or 4&lt;br /&gt;
	local header = args.header or &amp;#039;&amp;#039;&lt;br /&gt;
	local links = string.lower(args.links or &amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	local alphabeticalheaders = string.lower(args.alphaheader or &amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	if alphabeticalheaders == &amp;#039;yes&amp;#039; then&lt;br /&gt;
		alphabeticalheaders = true&lt;br /&gt;
	else&lt;br /&gt;
		alphabeticalheaders = false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local entries = {}&lt;br /&gt;
&lt;br /&gt;
	for _, v in ipairs(args) do&lt;br /&gt;
		table.insert(entries,v)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local pageimport = args.page or &amp;#039;&amp;#039;&lt;br /&gt;
	if pageimport:find(&amp;#039;%S&amp;#039;) then&lt;br /&gt;
		local _t = mw.title.new(pageimport)&lt;br /&gt;
 		if not _t.exists then&lt;br /&gt;
			-- nothing&lt;br /&gt;
		end&lt;br /&gt;
		local tsplit = mw.text.split(_t:getContent(),&amp;#039;\n&amp;#039;)&lt;br /&gt;
 		for _, v in ipairs(tsplit) do&lt;br /&gt;
			table.insert(entries,v)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local _format&lt;br /&gt;
&lt;br /&gt;
	if links == &amp;#039;yes&amp;#039; then&lt;br /&gt;
		_format = &amp;#039;[[%s]]&amp;#039;&lt;br /&gt;
	elseif links == &amp;#039;plink&amp;#039; then&lt;br /&gt;
		_format = &amp;#039;[[File:%s.png|link=%s]]&amp;amp;nbsp;[[%s]]&amp;#039;&lt;br /&gt;
	elseif links == &amp;#039;plinkp&amp;#039; then&lt;br /&gt;
		_format = &amp;#039;[[File:%s.png|link=%s]]&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		_format = &amp;#039;%s&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local list = {}&lt;br /&gt;
&lt;br /&gt;
	for _, v in ipairs(entries) do&lt;br /&gt;
		if v:find(&amp;#039;%S&amp;#039;) then&lt;br /&gt;
			table.insert(list,mw.text.trim(v))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	table.sort(list,&lt;br /&gt;
			function (a,b)&lt;br /&gt;
				return a:lower() &amp;lt; b:lower()&lt;br /&gt;
			end&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
	local ret = mw.html.create(&amp;#039;table&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;wikitable&amp;#039;)&lt;br /&gt;
				:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
					:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
						:attr(&amp;#039;colspan&amp;#039;,columns)&lt;br /&gt;
						:wikitext(header)&lt;br /&gt;
					:done()&lt;br /&gt;
				:done()&lt;br /&gt;
&lt;br /&gt;
	if alphabeticalheaders then&lt;br /&gt;
		local alphalist = {}&lt;br /&gt;
		local alphatable = mw.text.split(alphabet,&amp;#039;&amp;#039;)&lt;br /&gt;
		local toc = {}&lt;br /&gt;
			&lt;br /&gt;
		for _, v in pairs(alphatable) do&lt;br /&gt;
			alphalist[v] = {}&lt;br /&gt;
			table.insert(toc,string.format(&amp;#039;[[#tl-%s|%s]]&amp;#039;,v,v))&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		toc = table.concat(toc,&amp;#039; &amp;lt;b&amp;gt;•&amp;lt;/b&amp;gt; &amp;#039;)&lt;br /&gt;
&lt;br /&gt;
		for _, v in ipairs(list) do&lt;br /&gt;
			local firstletter = mw.text.split(v:upper(),&amp;#039;&amp;#039;)[1]&lt;br /&gt;
			if alphalist[firstletter] then&lt;br /&gt;
				table.insert(alphalist[firstletter],v)&lt;br /&gt;
			else&lt;br /&gt;
				table.insert(alphalist[&amp;#039;#&amp;#039;],v)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		ret	:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
				:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
					:attr(&amp;#039;colspan&amp;#039;,columns)&lt;br /&gt;
					:wikitext(toc)&lt;br /&gt;
				:done()&lt;br /&gt;
			:done()&lt;br /&gt;
&lt;br /&gt;
		for _, v in ipairs(alphatable) do&lt;br /&gt;
			local letterused = false&lt;br /&gt;
			ret	:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
					:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
						:attr(&amp;#039;colspan&amp;#039;,columns)&lt;br /&gt;
						:attr(&amp;#039;id&amp;#039;,&amp;#039;tl-&amp;#039;..v)&lt;br /&gt;
						:css(&amp;#039;background&amp;#039;,&amp;#039;#CCCCCC&amp;#039;)&lt;br /&gt;
						:wikitext(v)&lt;br /&gt;
					:done()&lt;br /&gt;
				:done()&lt;br /&gt;
			local newrow&lt;br /&gt;
			local i = 0&lt;br /&gt;
			for _, w in ipairs(alphalist[v]) do&lt;br /&gt;
				letterused = true&lt;br /&gt;
				i = i + 1&lt;br /&gt;
				if i % columns == 1 then&lt;br /&gt;
					newrow = ret:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
				end&lt;br /&gt;
				newrow	:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
						:wikitext(string.format(_format,w,w,w,w,w))&lt;br /&gt;
					:done()&lt;br /&gt;
&lt;br /&gt;
				if i % columns == 0 then&lt;br /&gt;
					newrow:done()&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			local j = i % columns&lt;br /&gt;
&lt;br /&gt;
			if j ~= 0 then&lt;br /&gt;
				newrow	:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
						:attr(&amp;#039;colspan&amp;#039;,columns-j)&lt;br /&gt;
					:done()&lt;br /&gt;
				:done()&lt;br /&gt;
			elseif not letterused then&lt;br /&gt;
				ret	:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
						:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
							:attr(&amp;#039;colspan&amp;#039;,columns)&lt;br /&gt;
							:wikitext(&amp;#039;&amp;amp;nbsp;&amp;#039;)&lt;br /&gt;
						:done()&lt;br /&gt;
					:done()&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		local newrow&lt;br /&gt;
		local i = 0&lt;br /&gt;
		for _, v in ipairs(list) do&lt;br /&gt;
			i = i + 1&lt;br /&gt;
			if i % columns == 1 then&lt;br /&gt;
				newrow = ret:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			end&lt;br /&gt;
			newrow	:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
					:wikitext(string.format(_format,v,v,v,v,v))&lt;br /&gt;
				:done()&lt;br /&gt;
&lt;br /&gt;
			if i % columns == 0 then&lt;br /&gt;
				newrow:done()&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		local j = i % columns&lt;br /&gt;
&lt;br /&gt;
		if j ~= 0 then&lt;br /&gt;
			newrow	:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
					:attr(&amp;#039;colspan&amp;#039;,columns-j)&lt;br /&gt;
				:done()&lt;br /&gt;
			:done()&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
</feed>