Module:New pages: Difference between revisions

From Eli's Software Encyclopedia
mNo edit summary
mNo edit summary
Line 6: Line 6:
'[[:+]][[Creation date::+]]',
'[[:+]][[Creation date::+]]',
'mainlabel=-',
'mainlabel=-',
'?Creation date#-F[Y-m-dTH:i:s]=timestamp',
'?Creation date#-F[Y-m-d H:i:s]=timestamp',
'?#-=title',
'?#-=title',
'?Page creator#-=user',
'?Page creator#-=user',
Line 25: Line 25:
ruser = page.user or 'Eli'
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 )
rrow = string.format('%s - [[%s]] by [[User:%s|%s]]', rdate, rtitle, ruser, ruser )



Revision as of 11:47, 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'
	} 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'

		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