Module:Documentation: Difference between revisions
convert the sandbox notice code to Lua
m>Mr. Stradivarius (move diff link to the env table) |
m>Mr. Stradivarius (convert the sandbox notice code to Lua) |
||
Line 295: | Line 295: | ||
function p.sandboxNotice(args, env) | function p.sandboxNotice(args, env) | ||
local | local title = env.title | ||
if not ( | local sandboxTitle = env.sandboxTitle | ||
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 | local isPreviewing = frame:callParserFunction('REVISIONID') == '' -- True if the page is being previewed. | ||
local templateLink = makeWikilink(templateTitle.prefixedText) | |||
. | if isPreviewing then | ||
-- 'This is the [[Wikipedia:Template test cases|template sandbox]] page for $1.' | |||
text = text .. message('sandboxNoticeBlurb', 'string', {templateLink}) | |||
. | else | ||
return | -- 'This is the [[Wikipedia:Template test cases|template sandbox]] page for $1 ($2).' | ||
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 | ||