Module:On this day
Appearance
Implements {{On this day}}
local p = {}
function p.countDates( frame )
local args = frame:getParent().args
local i = 1
while true do
local oldid = args['oldid' .. i] or ''
if oldid == '' then
return i - 1
end
i = i + 1
end
end
function p.showDates( frame )
local args = frame:getParent().args
local i = 1
local ret = {}
local page = mw.title.getCurrentTitle().text
local fmt = '[https://en.wikipedia.org/wiki/Wikipedia:Selected_anniversaries/%s?oldid=%s %s]'
if not args.demo then
fmt = fmt .. '[[Category:Selected anniversaries (%s)|%s]]'
end
local lang = mw.getContentLanguage()
while true do
local date = args['date' .. i] or ''
local oldid = args['oldid' .. i] or ''
if oldid == '' then
break
end
ret[i] = string.format( fmt,
lang:formatDate( 'F_j', date ),
oldid,
lang:formatDate( 'F j, Y', date ),
lang:formatDate( 'F Y', date ),
page
)
i = i + 1
end
i = #ret
if i > 1 then
ret[i] = 'and ' .. ret[i]
end
return table.concat( ret, i > 2 and ', ' or ' ' )
end
return p