10,178
edits
Changes
m
local htmlBuilder = require('Module:HtmlBuilder')
.:wikitext(p.protectionTemplate(env)) .:wikitext(p.sandboxNotice(args, env))
.:tag('div') .:attr('id', message('main-div-id')) .:addClass(message('main-div-classes')) .:newline() .:wikitext(p._startBox(args, env)) .:wikitext(p._content(args, env)) .:tag('div') .:css('clear', 'both') -- So right or left floating items don't stick out of the doc box. .:newline() .:done() .:done() .:wikitext(p._endBox(args, env)) .:wikitext(p.addTrackingCategories(env))
local frame = mw.getCurrentFrame()
local isPreviewing = frame:preprocess('{{REVISIONID}}') == '' -- True if the page is being previewed.
local protectionLevels
local protectionTemplate = message('protection-template')
local namespace = title.namespace
if not (protectionTemplate and (namespace == 10 or namespace == 828)) then
-- Don't display the protection template if we are not in the template or module namespaces.
return nil
end
.:css('padding-bottom', '3px') .:css('border-bottom', '1px solid #aaa') .:css('margin-bottom', '1ex') .:newline() .:tag('span') .:cssText(data.headingStyleText) .:css('font-weight', data.headingFontWeight) .:css('font-size', data.headingFontSize) .:wikitext(data.heading)
-- 'module-testcases-preload' --> 'Template:Documentation/preload-module-testcases'
1 revision imported
-- Get required modules.
local getArgs = require('Module:Arguments').getArgs
local messageBox = require('Module:Message box')
--]]
local env = p.getEnvironment(args)
local root = htmlBuildermw.html.create()
root
-- This div tag is from {{documentation/start box}}, but moving it here
-- so that we don't have to worry about unclosed tags.
return tostring(root)
end
-- "This is the template sandbox for [[Template:Foo]] (diff)."
local text = ''
local pagetype
if subjectSpace == 10 then
local templateLink = makeWikilink(templateTitle.prefixedText)
local compareUrl = env.compareUrl
if isPreviewing or not compareUrl then text = text .. message('sandbox-notice-blurb', {pagetype, templateLink}) else
local compareDisplay = message('sandbox-notice-compare-link-display')
local compareLink = makeUrlLink(compareUrl, compareDisplay)
text = text .. message('sandbox-notice-diff-blurb', {pagetype, templateLink, compareLink})
else
text = text .. message('sandbox-notice-blurb', {pagetype, templateLink})
end
-- Get the test cases page blurb if the page exists. This is something like
local testcasesTitle = env.testcasesTitle
if testcasesTitle and testcasesTitle.exists then
if testcasesTitle.namespace contentModel == mw.site.namespaces.Module.id "Scribunto" then
local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display')
local testcasesRunLinkDisplay = message('sandbox-notice-testcases-run-link-display')
-- 'protection-template' --> 'pp-template'
-- 'protection-template-args' --> {docusage = 'yes'}
local protectionLevels, mProtectionBanner
local title = env.title
protectionLevels = env.protectionLevels
if not protectionLevels then
return nil
end
local editLevels editProt = protectionLevels.editand protectionLevels.edit[1] local moveLevels moveProt = protectionLevels.move if moveLevels and moveLevelsprotectionLevels.move[1] if editProt then -- The page is edit-protected. mProtectionBanner =require('Module:Protection banner') local reason = message('sysopprotection-reason-edit' or editLevels ) return mProtectionBanner._main{reason, small = true} elseif moveProt and editLevels[1] moveProt ~= 'autoconfirmed' then -- The page is fullmove-protected but not edit-protected. Exclude move protected -- protection with the level "autoconfirmed", or full, template, or semias this is equivalent to --protectedno move protection at all. local frame mProtectionBanner = mw.getCurrentFramerequire('Module:Protection banner') return frame:expandTemplatemProtectionBanner._main{title action = protectionTemplate, args = message('protection-template-argsmove', nil, 'table')small = true}
else
return nil
local links
local content = args.content
if not content or args[1] then
-- No need to include the links if the documentation is on the template page itself.
local linksData = p.makeStartBoxLinksData(args, env)
if not title or not docTitle then
return nil
end
if docTitle.isRedirect then
docTitle = docTitle.redirectTarget
end
--
-- Messages:
-- 'documentation-icon-wikitext' --> '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=Documentation icon]]'
-- 'template-namespace-heading' --> 'Template documentation'
-- 'module-namespace-heading' --> 'Module documentation'
-- Renders the start box html.
-- @data - a table of data generated by p.makeStartBoxData.
local sbox = htmlBuildermw.html.create('div')
sbox
local links = data.links
if links then
sbox.:tag('span') .:addClass(data.linksClass) .:attr('id', data.linksId) .:wikitext(links)
end
return tostring(sbox)
-- Add sandbox and testcases links.
-- "Editors can experiment in this template's sandbox and testcases pages."
text = text .. (p.makeExperimentBlurb(args, env) or '')
text = text .. '<br />'
if not args.content and not args[1] then
-- 'mirror-edit-summary' --> 'Create sandbox version of $1'
-- 'mirror-link-display' --> 'mirror'
-- 'mirror-link-preload' --> 'Template:Documentation/mirror'
-- 'sandbox-link-display' --> 'sandbox'
-- 'testcases-link-display' --> 'testcases'
-- 'testcases-edit-link-display'--> 'edit'
-- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox'
-- 'testcases-create-link-display' --> 'create'
local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay)
local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)})
local mirrorPreload = message('mirror-link-preload') local mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = mirrorPreload, summary = mirrorSummary} if subjectSpace == 828 then mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = templatePagetemplateTitle.prefixedText, summary = mirrorSummary} end
local mirrorDisplay = message('mirror-link-display')
local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay)
local testcasesEditDisplay = message('testcases-edit-link-display')
local testcasesEditLink = makeUrlLink(testcasesEditUrl, testcasesEditDisplay)
-- for Modules, add testcases run link if exists if testcasesTitle.contentModel == "Scribunto" and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then local testcasesRunLinkDisplay = message('testcases-run-link-display') local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay) testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink, testcasesRunLink) else testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink) end
else
local testcasesPreload