Jump to content

Module:Navseasoncats/navyear

From Simple English Wikipedia, the free encyclopedia
Revision as of 20:26, 18 November 2018 by BrownHairedGirl (talk | changes) (Undid revision 869464778 by S.A. Julio -- revert and fix. The error was in line 14)


About

This is a former submodule to {{Navseasoncats}}. Due to minimal error checking and limited scope, it should not be used on its own except in controlled situations. It should not be used in category sequences which extend below AD 6, to simplify maintenance for that sequence and to limit the potential for error.



local p = {}

function p.navyear(frame)
	--Expects a PAGENAME of the form "Some sequential 2015 example cat", where 
	--	{{{1}}}=Some sequential
	--	{{{2}}}=2015
	--	{{{3}}}=example cat
	--	{{{4}}}=1758 ('min' year parameter; optional)
	--	{{{5}}}=1800 ('max' year parameter; optional)
	local arg1 = frame.args[1]
	local arg2 = tonumber(frame.args[2])
	local arg3 = frame.args[3]
	local arg4 = tonumber(frame.args[4])
	if arg4 == nil then arg4 = -9999 end
	local arg5 = tonumber(frame.args[5])
	if arg5 == nil then arg5 = 9999 end
	
	local navyear = '{| class="toccolours hlist" style="text-align: center; margin: auto;"\n' .. '|\n'
	
	local i = -5
	while i <= 5 do
		local year = arg2 + i
		if i ~= 0 then
			if ((year >= arg4) and (year <= arg5)) then
				navyear = navyear..'*'..frame:expandTemplate{ title = 'LinkCatIfExists2', args = { arg1..' '..year..' '..arg3, year } }..'\n'
			else
				navyear = navyear..'*<span style="visibility:hidden">'..year..'</span>\n'
			end
		else
			navyear = navyear..'*<b>'..arg2..'</b>\n'
		end
		i = i + 1
	end
	return navyear..'|}'
end

return p