Jump to content

Module:Large category TOC

From Simple English Wikipedia, the free encyclopedia
Revision as of 17:59, 1 July 2014 by The Mol Man (talk | changes) (Created page with '-- Implements Template:Large Category TOC local p = {} local azupper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' local azlower = 'abcdefghijklmnopqrstuvwxyz' function...')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:Large category TOC/doc

-- Implements [[Template:Large Category TOC]]

local p = {}

local azupper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
local azlower = 'abcdefghijklmnopqrstuvwxyz'

function p.make(frame)
	local pageurl = frame:preprocess('{{fullurl:{{FULLPAGENAME}}}}')
	
	local title = '<div style="width:100%;">\n<span class="plainlinks">'..'{{MediaWiki:Toc}}:\n['..pageurl..' Top]'..
					'\n['..pageurl..'?from=0 0-9]'
	
	for i=1,26,1 do
		local letter = string.sub(azupper,i,i+1)
		title = title..'\n['..pageurl..'?from='..letter..' '..letter..']'
	end
	
	title = title..'\n</span>\n</div>'
	
	local list = '<div style="overflow-x:auto; overflow-y:hidden; width:98%;"><span class="plainlinks">'..
					'\n['..pageurl..'?from=* *] •'
					
	local function atoz(letter)
		local azlist = '\n• <b>'..letter..'</b> '
			for i=1,26,1 do
				local lowerletter = string.sub(azlower,i,i+1)
				azlist = azlist..'\n['..pageurl..'?from='..letter..lowerletter..' '..letter..lowerletter..'] '
			end
		return azlist
	end
	
	for i=0,9,1 do
		list = list..'\n['..pageurl..'?from='..i..' '..i..']'
	end
	
	for i=1,26,1 do
		local letter = string.sub(azupper,i,i+1)
		list = list..atoz(letter)
	end
	
	list = list..'\n</span></div>'
	
	return frame:expandTemplate{title='Navigation bar',args={color='#f9f9f9;',title=title,list=list}}
end

return p