Module:New pages: Difference between revisions
From Eli's Software Encyclopedia
Created page with "local p = {} function p.main() local data = mw.ext.externalData.getWebData { url = 'https://elisoftware.org/w/api.php?action=query&format=json&list=random&formatversion=2&rnnamespace=0', format = 'JSON', data = { json = '_json' } } or {} data = data.json return data end return p" |
mNo edit summary |
||
| (15 intermediate revisions by the same user not shown) | |||
| Line 3: | Line 3: | ||
function p.main() | function p.main() | ||
local data = mw. | 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', | |||
'@deferred' | |||
} or {} | } or {} | ||
local rtitle, rdate, ruser, rrow | |||
local html = mw.html.create() | |||
local ul = html:tag('ul'):attr('id', 'new-pages') | |||
for _, page in ipairs(data) do | |||
rtitle = page.title | |||
rdate = page.timestamp | |||
ruser = page.user or 'User:Eli' | |||
rname = ruser:match("([^:]+)$") | |||
return | rrow = string.format('%s - [[%s]] by [[%s|%s]]', rdate, rtitle, ruser, rname ) | ||
ul:tag('li'):wikitext(rrow) | |||
end | |||
return html | |||
end | end | ||
return p | return p | ||
Latest revision as of 11:57, December 10, 2025
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-d H:i:s]=timestamp',
'?#-=title',
'?Page creator#-=user',
'sort=Creation date',
'order=desc',
'limit=20',
'@deferred'
} or {}
local rtitle, rdate, ruser, rrow
local html = mw.html.create()
local ul = html:tag('ul'):attr('id', 'new-pages')
for _, page in ipairs(data) do
rtitle = page.title
rdate = page.timestamp
ruser = page.user or 'User:Eli'
rname = ruser:match("([^:]+)$")
rrow = string.format('%s - [[%s]] by [[%s|%s]]', rdate, rtitle, ruser, rname )
ul:tag('li'):wikitext(rrow)
end
return html
end
return p
