Module:Navseasoncats/navyear
Appearance
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])
local arg5 = tonumber(frame.args[5])
if arg4 == nil then arg4 = -9999 end
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