Module:Sandbox/CAS222222221: Difference between revisions

Content deleted Content added
No edit summary
Replace Module:No globals with require( "strict" )
 
(38 intermediate revisions by 2 users not shown)
Line 1:
require('strict')
 
local getArgs = require('Module:Arguments').getArgs
local p = {}
 
local function color(args, year)
return '#FF6666'
end
 
local function titleItem(content)
local ret
if content ~= nil then
ret = mw.html.create( 'span' )
ret
:css( 'text-indent', '-1em')
:wikitext( '-' .. context )
end
return ret
end
 
local function left(args, year)
local ret
ret = mw.html.create( 'td' )
ret
:wikitext( year .. '-' )
return ret
end
 
local function center(args, year)
local ret
ret = mw.html.create( 'td' )
ret
:wikitext( ' ' )
:css( 'width', '10px' )
:css( 'background-color', color(args, year) )
return ret
end
 
local function right(args, year)
local ret
ret = mw.html.create( 'td' )
 
ret
:css( 'padding-left', '1em')
:node( titleItem(args[year]) or titleItem(args[year .. 'a' ]) )
 
for i = 98, 106 do
ret:node( titleItem(args[year .. string.char(i)]) )
end
 
return ret
end
 
local function row(args, year)
local ret
ret = mw.html.create('tr')
ret
:node( left(args, year) )
:node( center(args, year) )
:node( right(args, year) )
return ret
end
 
--------------------------------------------------------------------------------
 
function p.main(frame)
Line 77 ⟶ 11:
function p._main(args)
-- Main module code goes here.
local ret
local firstyear, lastyear
ret = mw.html.create( 'table' )
if tonumber(args.first) then
firstyear = tonumber(args.first)
else
for i = 1980, os.date('%Y') do
if right(args, i) then
firstyear = i
end
end
end
if tonumber(args.last) then
lastyear = tonumber(args.last)
else
for i = firstyear, os.date('%Y') + 3, -1 do
if right(args, i) then
lastyear = i
end
end
end
for year = firstyear, lastyear do
ret:node( row(args, year) )
end
return ret
end