<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.filipefonseca.pt/index.php?action=history&amp;feed=atom&amp;title=Module%3ALarge_category_TOC</id>
	<title>Module:Large category TOC - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.filipefonseca.pt/index.php?action=history&amp;feed=atom&amp;title=Module%3ALarge_category_TOC"/>
	<link rel="alternate" type="text/html" href="http://wiki.filipefonseca.pt/index.php?title=Module:Large_category_TOC&amp;action=history"/>
	<updated>2026-04-19T13:38:05Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>http://wiki.filipefonseca.pt/index.php?title=Module:Large_category_TOC&amp;diff=3287&amp;oldid=prev</id>
		<title>FilipeFonseca: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://wiki.filipefonseca.pt/index.php?title=Module:Large_category_TOC&amp;diff=3287&amp;oldid=prev"/>
		<updated>2021-07-08T09:28:49Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&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 azupper = mw.text.split('ABCDEFGHIJKLMNOPQRSTUVWXYZ','')&lt;br /&gt;
local azlower = mw.text.split('abcdefghijklmnopqrstuvwxyz','')&lt;br /&gt;
local aejot = mw.text.split('aejot','')&lt;br /&gt;
&lt;br /&gt;
function p.scrollable(frame)&lt;br /&gt;
	return main('scrollable')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.collapsible(frame)&lt;br /&gt;
	return main('collapsible')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.aejot(frame)&lt;br /&gt;
	return main('aejot')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function main(toc_type)&lt;br /&gt;
	-- It should be much faster to only process these once, and just re use them as variables&lt;br /&gt;
	local pageurl = mw.title.getCurrentTitle():fullUrl()&lt;br /&gt;
	local toc = mw.message.new('Toc'):plain()&lt;br /&gt;
	&lt;br /&gt;
	-- Highest level div&lt;br /&gt;
	local toc_frame = mw.html.create('div')&lt;br /&gt;
				:addClass('plainlinks')&lt;br /&gt;
				:addClass('hlist')&lt;br /&gt;
				:addClass('toc')&lt;br /&gt;
				-- :attr('id','toc')&lt;br /&gt;
				:css({&lt;br /&gt;
					display = 'block',&lt;br /&gt;
					background = 'WhiteSmoke',&lt;br /&gt;
					clear = 'both',&lt;br /&gt;
					width = '98%'&lt;br /&gt;
				})&lt;br /&gt;
&lt;br /&gt;
	-- Contains &amp;quot;Content: Top 0-9 A - Z&amp;quot;&lt;br /&gt;
	local header = toc_frame:tag('div')&lt;br /&gt;
		:attr('id', 'toctitle')&lt;br /&gt;
		:attr('class', 'toctitle')&lt;br /&gt;
	&lt;br /&gt;
	-- Contains all the rest&lt;br /&gt;
	local body_wrapper&lt;br /&gt;
	local body = toc_frame:tag('div')&lt;br /&gt;
		:css('text-align', 'center')&lt;br /&gt;
		&lt;br /&gt;
	local jumpy_collapse = mw.html.create('div')&lt;br /&gt;
		:cssText('margin: 0 4em')&lt;br /&gt;
	&lt;br /&gt;
	if toc_type == 'collapsible' then&lt;br /&gt;
		toc_frame:addClass('mw-collapsible mw-collapsed')&lt;br /&gt;
			:cssText('padding: 4px; text-align: center; border: 1px solid #a2a9b1; font-size: 95%')&lt;br /&gt;
		header:cssText('font-weight: bold; line-height: 1.6em')&lt;br /&gt;
		body:addClass('mw-collapsible-content')&lt;br /&gt;
			:css({&lt;br /&gt;
				background = 'white'&lt;br /&gt;
			})&lt;br /&gt;
	elseif toc_type == 'scrollable' then&lt;br /&gt;
		body:css({ ['overflow-x'] = 'scroll',&lt;br /&gt;
					['overflow-y']= 'hidden',&lt;br /&gt;
					['white-space'] = 'nowrap' })&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local header_content = {'&amp;lt;span style=&amp;quot;font-weight: bold&amp;quot;&amp;gt;',toc,':&amp;lt;/span&amp;gt;',&lt;br /&gt;
						' [',pageurl,' Top]',&lt;br /&gt;
						' [',pageurl,'?from=0 0–9]' }&lt;br /&gt;
	&lt;br /&gt;
	for _, v in ipairs(azupper) do&lt;br /&gt;
		table.insert(header_content,string.format(' [%s?from=%s %s]',pageurl,v,v))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if toc_type == 'collapsible' then&lt;br /&gt;
		jumpy_collapse:wikitext(table.concat(header_content))&lt;br /&gt;
		header:node(jumpy_collapse)&lt;br /&gt;
	else&lt;br /&gt;
		header:wikitext(table.concat(header_content))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local body_content = {}&lt;br /&gt;
	&lt;br /&gt;
	if toc_type == 'collapsible' then&lt;br /&gt;
		table.insert(body_content,'&amp;lt;b&amp;gt;#&amp;lt;/b&amp;gt; ')&lt;br /&gt;
		body_wrapper = body:tag('code')&lt;br /&gt;
						:css('background','White')&lt;br /&gt;
	else&lt;br /&gt;
		table.insert(body_content,'['..pageurl..'?from=* &amp;lt;b&amp;gt;*&amp;lt;/b&amp;gt;] &amp;lt;b&amp;gt;#&amp;lt;/b&amp;gt; ')&lt;br /&gt;
		body_wrapper = body:tag('span')&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for i=0,9 do&lt;br /&gt;
		table.insert(body_content,string.format(' [%s?from=%s %s]',pageurl,i,i))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local function atoz(letter)&lt;br /&gt;
		local azlist = {}&lt;br /&gt;
		local letterlist&lt;br /&gt;
		if toc_type == 'aejot' then&lt;br /&gt;
			letterlist = aejot&lt;br /&gt;
		else&lt;br /&gt;
			letterlist = azlower&lt;br /&gt;
		end&lt;br /&gt;
				&lt;br /&gt;
		if toc_type == 'aejot' or toc_type == 'scrollable' then&lt;br /&gt;
			table.insert(azlist,' • &amp;lt;b&amp;gt;'..letter..'&amp;lt;/b&amp;gt; ')&lt;br /&gt;
		else&lt;br /&gt;
			table.insert(azlist,'&amp;lt;br /&amp;gt;&amp;lt;b&amp;gt;'..letter..'&amp;lt;/b&amp;gt; ')&lt;br /&gt;
		end&lt;br /&gt;
			&lt;br /&gt;
		for _, v in ipairs(letterlist) do&lt;br /&gt;
			table.insert(azlist,string.format(' [%s?from=%s%s %s%s] ',pageurl,letter,v,letter,v))&lt;br /&gt;
		end&lt;br /&gt;
		return table.concat(azlist)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for _, v in ipairs(azupper) do&lt;br /&gt;
		table.insert(body_content,atoz(v))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	body_wrapper:wikitext(table.concat(body_content))&lt;br /&gt;
	&lt;br /&gt;
	return '__NOTOC__\n'..tostring(toc_frame)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>FilipeFonseca</name></author>
	</entry>
</feed>