Module:Documentation: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
move diff link to the env table |
convert the sandbox notice code to Lua |
||
Line 295: | Line 295: | ||
function p.sandboxNotice(args, env) |
function p.sandboxNotice(args, env) |
||
local title = env.title |
|||
local sandboxNoticeTemplate = message('sandboxNoticeTemplate', 'string') |
|||
local sandboxTitle = env.sandboxTitle |
|||
if not (sandboxNoticeTemplate and env.title.subpageText == message('sandboxSubpage', 'string')) then |
|||
local templateTitle = env.templateTitle |
|||
if not (title and sandboxTitle and templateTitle and mw.title.equals(title, sandboxTitle)) then |
|||
return nil |
return nil |
||
end |
end |
||
local omargs = {} -- Args for {{ombox}}. |
|||
-- Get the image wikitext. |
|||
omargs.image = message('sandboxNoticeImage', 'string') |
|||
-- Get the text. We start with the opening blurb, which is something like |
|||
-- "This is the template sandbox for [[Template:Foo]] (diff)." |
|||
local text = '' |
|||
local frame = mw.getCurrentFrame() |
local frame = mw.getCurrentFrame() |
||
local isPreviewing = frame:callParserFunction('REVISIONID') == '' -- True if the page is being previewed. |
|||
local notice = htmlBuilder.create() |
|||
local templateLink = makeWikilink(templateTitle.prefixedText) |
|||
notice |
|||
if isPreviewing then |
|||
.tag('div') |
|||
-- 'This is the [[Wikipedia:Template test cases|template sandbox]] page for $1.' |
|||
.css('clear', 'both') |
|||
text = text .. message('sandboxNoticeBlurb', 'string', {templateLink}) |
|||
.done() |
|||
else |
|||
.wikitext(frame:expandTemplate{title = sandboxNoticeTemplate, args = {[message('sandboxNoticeLivepageParam')] = args.livepage}}) |
|||
-- 'This is the [[Wikipedia:Template test cases|template sandbox]] page for $1 ($2).' |
|||
return tostring(notice) |
|||
text = text .. message('sandboxNoticeDiffBlurb', 'string', {templateLink, env.compareLink}) |
|||
end |
|||
-- Get the test cases page blurb if the page exists. |
|||
local testcasesTitle = env.testcasesTitle |
|||
if testcasesTitle and testcasesTitle.exists then |
|||
local testcasesLinkDisplay = message('sandboxNoticeTestcasesLinkDisplay', 'string') |
|||
local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay) |
|||
text = text .. ' ' .. message('sandboxNoticeTestcasesBlurb', 'string', {testcasesLink}) |
|||
end |
|||
-- Add the page to [[Category:Template sandboxes]]. |
|||
text = text .. makeCategoryLink(message('sandboxCategory', 'string')) |
|||
omargs.text = text |
|||
return messageBox.main('ombox', omargs) |
|||
end |
end |
||