Module:Unsigned
You might want to create a documentation page for this module.
Editors can experiment in this module's sandbox and testcases pages.
Please add categories to the /doc subpage. Subpages of this module.
Editors can experiment in this module's sandbox and testcases pages.
Please add categories to the /doc subpage. Subpages of this module.
local getArgs = require('Module:Arguments').getArgs
local p = {}
function p.main(frame)
local args = getArgs(frame)
return p._main(args)
end
function p._main(args)
if not args[1] then
error('Argument "1" is required')
end
local username
local timestamp = mw.ustring.match(args[1], '([^ ]+ [^ ]+ [^ ]+ [^ ]+) .+')
if timestamp then -- Revision history format
username = mw.ustring.match(args[1], '[^ ]+ [^ ]+ [^ ]+ [^ ]+ (.+)')
timestamp = timestamp .. ' (UTC)'
else -- Standard format
username = args[1]
timestamp = args[2] or ''
if #timestamp > 0 and not mw.ustring.find(timestamp, '(UTC)', 1, true) then
timestamp = timestamp .. ' (UTC)'
end
end
local html = mw.html.create('small')
html
:wikitext(
mw.ustring.format(
'—Preceding [[Help:Signatures|unsigned]] comment added by %s (%s • %s) %s',
mw.ustring.format('[[User:%s|%s]]', username, username),
mw.ustring.format('[[User talk:%s#top|talk]]', username),
mw.ustring.format('[[Special:Contributions/%s|contribs]]', username),
timestamp
)
)
return tostring(html)
end
return p