Module:New pages
From Eli's Software Encyclopedia
Documentation for this module may be created at Module:New pages/doc
local p = {}
function p.main()
local data = mw.smw.ask {
'[[:+]][[Creation date::+]]',
'mainlabel=-',
'?Creation date#-F[Y-m-dTH:i:s]=timestamp',
'?#-=title',
'?Page creator#-=user',
'sort=Creation date',
'order=desc',
'limit=20'
} or {}
local rtitle, rdate, ruser, rrow
local html = mw.html.create()
local ul = html:tag('ul')
for _, page in ipairs(data) do
rtitle = page.title
rdate = page.timestamp
ruser = page.user or 'Eli'
local year, month, day, hour, minute, second = rdate:match("^(%d+)-(%d+)-(%d+) (%d+):(%d+):(%d+)")
if year and month and day and hour and minute then
rdate = string.format('%s-%s-%s %s:%s', year, month, day, hour, minute)
else
rdate = 'Invalid Timestamp' -- Handle invalid timestamps
end
rrow = string.format('%s - [[%s]] by [[User:%s|%s]]', rdate, rtitle, ruser, ruser )
ul:tag('li'):wikitext(rrow)
end
return html
end
function p.test()
local data = mw.smw.ask {
'[[:+]][[Creation date::+]]',
'mainlabel=-',
'?Creation date#-F[Y-m-d H:i:s]=timestamp',
'?#-=title',
'?Page creator#-=user',
'sort=Creation date',
'order=desc',
'limit=20'
} or {}
return data
end
return p
