Module:Freeze
Appearance
local p = {}
function p.main(frame)
local parent = frame:getParent()
local curTitle = mw.title.getCurrentTitle()
local page = parent.args[1]
local text = parent.args[2]
page = page ~= nil and mw.text.trim(page) or ''
if page == '' or string.sub(page, 1, 1) == '#' then
page = curTitle.subjectPageTitle.prefixedText .. page
end
if text == nil then
text = page .. ' (as of now)'
end
local title = mw.title.new(page)
if mw.title.equals(title, curTitle) then
local revTimestamp = frame:callParserFunction('REVISIONTIMESTAMP', title.prefixedText)
if mw.isSubsting() then
return string.format('{{#invoke:Freeze/same page link|main|%s|2=%s}', revTimestamp, text)
else
local samePageLink = require('Module:Freeze/same page link')
return samePageLink._main(title.prefixedText, revTimestamp, text)
end
else
local revId = frame:callParserFunction('REVISIONID', title.prefixedText)
if revId == '' then
return string.format('<strong class="error">Unable to get latest revision ID for "%s".</strong>', title.prefixedText)
end
if mw.isSubsting() then
return string.format('{{oldid|1=%s|2=%s|3=%s}}', title.fullText, revId, text)
else
return frame:expandTemplate{title='oldid', args={title.fullText, revId, text}}
end
end
end
return p