模組:Release timeline
外观
local p = {}
local function left(i)
local ret
ret = '<td>' .. i .. '-</td>'
return ret
end
local function middle(i)
local ret = ''
local cl ={}
for i = 0, 4 do
cl[i] = args['color' .. i]
end
if (pargs[i] == nil or pargs[i] == '') and (pargs[i .. 'a'] == nil or pargs[i .. 'a'] == '') then
ret = cl[0]
else
ret = cl[1]
end
ret = '<td style="width:10px; border-top:1px solid black; border-right:1px solid black; border-bottom:1px solid black; border-left:1px solid black; background:' .. ret .. ';"> </td>'
return ret
end
local function right(i)
local ret
if (pargs[i] == nil or pargs[i] == '') and (pargs[i .. 'a'] == nil or pargs[i .. 'a'] == '') then
ret = ' '
else
ret = '-' .. (pargs[i] or pargs[i .. 'a'])
end
for j = 98, 105 do
if pargs[i .. string.char(j)] ~= nil and pargs[i .. string.char(j)] ~= '' then
ret = ret .. '<br />-' .. pargs[i .. string.char(j)]
end
end
ret = '<td>' .. ret .. '</td>'
return ret
end
local function row(i)
local ret = '<tr>' .. left(i) .. middle(i) .. right(i) .. '</tr>'
return ret
end
function p.func(frame)
local ret
local pframe = frame:getParent()
args = frame.args
pargs = pframe.args
local align = args.align
local summary = args.summary
local caption = args.caption
local begin = args.begin
local final = args.final
if not tonumber(begin) then
begin = 1982
end
if not tonumber(final) then
final = os.date("%Y")
end
local top = '<table style="float:' .. align .. '; margin:0 0 0.5ex 1em; font-size:90%; line-height:95%; clear:' .. align .. ';" cellspacing="0" cellpadding="2" summary="' .. summary .. '">'
caption = '<caption style="font-size: 100%; white-space: nowrap;"><b>' .. caption .. '</b></caption>'
top = top .. caption
local body = ''
local bottom = '</table>'
for i = begin, final do
body = body .. row(i)
end
ret = top .. body .. bottom
return ret
end
return p