Module:Aligned dates list
Yi palo
Documentation for this module may be created at Module:Aligned dates list/doc
local p = {}
function p.main(frame)
local output = {}
local monthNames = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}
local daysInMonth = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
local function generateSuffixes()
local suffixes = {""}
for char = string.byte("b"), string.byte("z") do
table.insert(suffixes, string.char(char))
end
return suffixes
end
local suffixes = generateSuffixes()
for month = 1, 12 do
local monthName = monthNames[month]
local days = daysInMonth[month]
for day = 1, days do
for _, suffix in ipairs(suffixes) do
local key1 = string.format("%02d-%02d%s", month, day, suffix)
local key2 = string.format("%s %02d%s", string.sub(monthName, 1, 3), day, suffix)
local key3 = string.format("%s %02d%s", string.lower(string.sub(monthName, 1, 3)), day, suffix)
local value = frame:getParent().args[key1] or frame:getParent().args[key2] or frame:getParent().args[key3]
if value then
table.insert(output, string.format('<div><div style="width:4em;display:inline-block;">%s %d</div> <div style="display:inline-block;">%s</div></div>', monthName, day, value))
end
end
end
end
return table.concat(output)
end
return p