Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:Documentation: Difference between revisions

Content added Content deleted
(make 'string' the default message type in the message function to avoid having 'string' all over the place)
(use hyphens for message names rather than camelCase, in line with MediaWiki)
Line 29: Line 29:
-- message are substituted with values from the table keys [1], [2] etc.
-- message are substituted with values from the table keys [1], [2] etc.
-- For example, if the message cfg.fooMessage had the value 'Foo $2 bar $1.',
-- For example, if the message cfg.fooMessage had the value 'Foo $2 bar $1.',
-- message('fooMessage', {'baz', 'qux'}) would return "Foo qux bar baz."
-- message('foo-message', {'baz', 'qux'}) would return "Foo qux bar baz."
--]]
--]]
local msg = cfg[cfgKey]
local msg = cfg[cfgKey]
Line 127: Line 127:
-- so that we don't have to worry about unclosed tags.
-- so that we don't have to worry about unclosed tags.
.tag('div')
.tag('div')
.attr('id', message('mainDivId'))
.attr('id', message('main-div-id'))
.addClass(message('mainDivClasses'))
.addClass(message('main-div-classes'))
.newline()
.newline()
.wikitext(p._startBox(args, env))
.wikitext(p._startBox(args, env))
Line 196: Line 196:
title = mw.title.new(titleArg)
title = mw.title.new(titleArg)
if not title then
if not title then
error(message('titleArgError', {titleArg}))
error(message('title-arg-error', {titleArg}))
end
end
else
else
Line 208: Line 208:
local title = env.title
local title = env.title
local subpage = title.subpageText
local subpage = title.subpageText
if subpage == message('sandboxSubpage') or subpage == message('testcasesSubpage') then
if subpage == message('sandbox-subpage') or subpage == message('testcases-subpage') then
return title.basePageTitle
return title.basePageTitle
else
else
Line 223: Line 223:
docpage = docname
docpage = docname
else
else
docpage = env.docpageRoot .. '/' .. message('docSubpage')
docpage = env.docpageRoot .. '/' .. message('doc-subpage')
end
end
return mw.title.new(docpage)
return mw.title.new(docpage)
Line 230: Line 230:
function envFuncs.sandboxTitle()
function envFuncs.sandboxTitle()
-- Title object for the /sandbox subpage.
-- Title object for the /sandbox subpage.
return mw.title.new(env.docpageRoot .. '/' .. message('sandboxSubpage'))
return mw.title.new(env.docpageRoot .. '/' .. message('sandbox-subpage'))
end
end
function envFuncs.testcasesTitle()
function envFuncs.testcasesTitle()
-- Title object for the /testcases subpage.
-- Title object for the /testcases subpage.
return mw.title.new(env.docpageRoot .. '/' .. message('testcasesSubpage'))
return mw.title.new(env.docpageRoot .. '/' .. message('testcases-subpage'))
end
end
function envFuncs.printTitle()
function envFuncs.printTitle()
-- Title object for the /Print subpage.
-- Title object for the /Print subpage.
return env.templateTitle:subPageTitle(message('printSubpage'))
return env.templateTitle:subPageTitle(message('print-subpage'))
end
end


Line 297: Line 297:
local omargs = {} -- Args for {{ombox}}.
local omargs = {} -- Args for {{ombox}}.
-- Get the image wikitext.
-- Get the image wikitext.
omargs.image = message('sandboxNoticeImage')
omargs.image = message('sandbox-notice-image')
-- Get the text. We start with the opening blurb, which is something like
-- Get the text. We start with the opening blurb, which is something like
-- "This is the template sandbox for [[Template:Foo]] (diff)."
-- "This is the template sandbox for [[Template:Foo]] (diff)."
Line 307: Line 307:
if isPreviewing or not compareUrl then
if isPreviewing or not compareUrl then
-- 'This is the [[Wikipedia:Template test cases|template sandbox]] page for $1.'
-- 'This is the [[Wikipedia:Template test cases|template sandbox]] page for $1.'
text = text .. message('sandboxNoticeBlurb', {templateLink})
text = text .. message('sandbox-notice-blurb', {templateLink})
else
else
-- 'This is the [[Wikipedia:Template test cases|template sandbox]] page for $1 ($2).'
-- 'This is the [[Wikipedia:Template test cases|template sandbox]] page for $1 ($2).'
local compareDisplay = message('sandboxNoticeCompareLinkDisplay')
local compareDisplay = message('sandbox-notice-compare-link-display')
local compareLink = makeUrlLink(compareUrl, compareDisplay)
local compareLink = makeUrlLink(compareUrl, compareDisplay)
text = text .. message('sandboxNoticeDiffBlurb', {templateLink, compareLink})
text = text .. message('sandbox-notice-diff-blurb', {templateLink, compareLink})
end
end
-- Get the test cases page blurb if the page exists.
-- Get the test cases page blurb if the page exists.
local testcasesTitle = env.testcasesTitle
local testcasesTitle = env.testcasesTitle
if testcasesTitle and testcasesTitle.exists then
if testcasesTitle and testcasesTitle.exists then
local testcasesLinkDisplay = message('sandboxNoticeTestcasesLinkDisplay')
local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display')
local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay)
local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay)
text = text .. '<br />' .. message('sandboxNoticeTestcasesBlurb', {testcasesLink})
text = text .. '<br />' .. message('sandbox-notice-testcases-blurb', {testcasesLink})
end
end
-- Add the page to [[Category:Template sandboxes]].
-- Add the page to [[Category:Template sandboxes]].
text = text .. makeCategoryLink(message('sandboxCategory'))
text = text .. makeCategoryLink(message('sandbox-category'))
omargs.text = text
omargs.text = text
return messageBox.main('ombox', omargs)
return messageBox.main('ombox', omargs)
Line 329: Line 329:
function p.protectionTemplate(env)
function p.protectionTemplate(env)
local title = env.title
local title = env.title
local protectionTemplate = message('protectionTemplate')
local protectionTemplate = message('protection-template')
if not (protectionTemplate and title.namespace == 10) then
if not (protectionTemplate and title.namespace == 10) then
-- Don't display the protection template if we are not in the template namespace.
-- Don't display the protection template if we are not in the template namespace.
Line 347: Line 347:
if getProtectionLevel('move', prefixedTitle) == 'sysop' or getProtectionLevel('edit', prefixedTitle) then
if getProtectionLevel('move', prefixedTitle) == 'sysop' or getProtectionLevel('edit', prefixedTitle) then
-- The page is full-move protected, or full, template, or semi-protected.
-- The page is full-move protected, or full, template, or semi-protected.
return frame:expandTemplate{title = protectionTemplate, args = message('protectionTemplateArgs', nil, 'table')}
return frame:expandTemplate{title = protectionTemplate, args = message('protection-template-args', nil, 'table')}
end
end
return nil
return nil
Line 390: Line 390:
data.docTitle = docTitle
data.docTitle = docTitle
-- View, display, edit, and purge links if /doc exists.
-- View, display, edit, and purge links if /doc exists.
data.viewLinkDisplay = message('viewLinkDisplay')
data.viewLinkDisplay = message('view-link-display')
data.editLinkDisplay = message('editLinkDisplay')
data.editLinkDisplay = message('edit-link-display')
data.historyLinkDisplay = message('historyLinkDisplay')
data.historyLinkDisplay = message('history-link-display')
data.purgeLinkDisplay = message('purgeLinkDisplay')
data.purgeLinkDisplay = message('purge-link-display')
-- Create link if /doc doesn't exist.
-- Create link if /doc doesn't exist.
local preload = args.preload
local preload = args.preload
if not preload then
if not preload then
if env.subjectSpace == 6 then -- File namespace
if env.subjectSpace == 6 then -- File namespace
preload = message('fileDocpagePreload')
preload = message('file-docpage-preload')
else
else
preload = message('docpagePreload')
preload = message('docpage-preload')
end
end
end
end
data.preload = preload
data.preload = preload
data.createLinkDisplay = message('createLinkDisplay')
data.createLinkDisplay = message('create-link-display')
return data
return data
end
end
Line 445: Line 445:
data.heading = heading
data.heading = heading
elseif subjectSpace == 10 then -- Template namespace
elseif subjectSpace == 10 then -- Template namespace
data.heading = message('documentationIconWikitext') .. ' ' .. message('templateNamespaceHeading')
data.heading = message('documentation-icon-wikitext') .. ' ' .. message('template-namespace-heading')
elseif subjectSpace == 828 then -- Module namespace
elseif subjectSpace == 828 then -- Module namespace
data.heading = message('documentationIconWikitext') .. ' ' .. message('moduleNamespaceHeading')
data.heading = message('documentation-icon-wikitext') .. ' ' .. message('module-namespace-heading')
elseif subjectSpace == 6 then -- File namespace
elseif subjectSpace == 6 then -- File namespace
data.heading = message('fileNamespaceHeading')
data.heading = message('file-namespace-heading')
else
else
data.heading = message('otherNamespacesHeading')
data.heading = message('other-namespaces-heading')
end
end
Line 468: Line 468:
-- [view][edit][history][purge] or [create] links.
-- [view][edit][history][purge] or [create] links.
if links then
if links then
data.linksClass = message('startBoxLinkclasses')
data.linksClass = message('start-box-linkclasses')
data.linksId = message('startBoxLinkId')
data.linksId = message('start-box-link-id')
data.links = links
data.links = links
end
end
Line 549: Line 549:
-- Assemble the arguments for {{fmbox}}.
-- Assemble the arguments for {{fmbox}}.
local fmargs = {}
local fmargs = {}
fmargs.id = message('fmboxId') -- Sets 'documentation-meta-data'
fmargs.id = message('fmbox-id') -- Sets 'documentation-meta-data'
fmargs.image = message('fmboxImageNone') -- Sets 'none'
fmargs.image = message('fmbox-image-none') -- Sets 'none'
fmargs.style = message('fmboxStyle') -- Sets 'background-color: #ecfcf4'
fmargs.style = message('fmbox-style') -- Sets 'background-color: #ecfcf4'
fmargs.textstyle = message('fmboxTextstyle') -- 'font-style: italic;'
fmargs.textstyle = message('fmbox-textstyle') -- 'font-style: italic;'


-- Assemble the fmbox text field.
-- Assemble the fmbox text field.
Line 597: Line 597:
local ret
local ret
if printTitle.exists then
if printTitle.exists then
local printLink = makeWikilink(printTitle.prefixedText, message('printLinkDisplay'))
local printLink = makeWikilink(printTitle.prefixedText, message('print-link-display'))
ret = message('printBlurb', {printLink})
ret = message('print-blurb', {printLink})
local displayPrintCategory = message('displayPrintCategory', nil, 'boolean')
local displayPrintCategory = message('display-print-category', nil, 'boolean')
if displayPrintCategory then
if displayPrintCategory then
ret = ret .. makeCategoryLink(message('printCategory'))
ret = ret .. makeCategoryLink(message('print-category'))
end
end
end
end
Line 617: Line 617:
local pagetype
local pagetype
if subjectSpace == 10 then
if subjectSpace == 10 then
pagetype = message('templatePagetype')
pagetype = message('template-pagetype')
elseif subjectSpace == 828 then
elseif subjectSpace == 828 then
pagetype = message('modulePagetype')
pagetype = message('module-pagetype')
else
else
pagetype = message('defaultPagetype')
pagetype = message('default-pagetype')
end
end
return makeWikilink(
return makeWikilink(
'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/',
'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/',
message('subpagesLinkDisplay', {pagetype})
message('subpages-link-display', {pagetype})
)
)
end
end
Line 636: Line 636:
end
end
-- Make the blurb.
-- Make the blurb.
local docPathLink = makeWikilink(docTitle.prefixedText, message('docLinkDisplay'))
local docPathLink = makeWikilink(docTitle.prefixedText, message('doc-link-display'))
return message('addCategoriesBlurb', {docPathLink})
return message('add-categories-blurb', {docPathLink})
end
end


Line 652: Line 652:
local docLink = makeWikilink(docTitle.prefixedText)
local docLink = makeWikilink(docTitle.prefixedText)
local editUrl = docTitle:fullUrl{action = 'edit'}
local editUrl = docTitle:fullUrl{action = 'edit'}
local editDisplay = message('editLinkDisplay')
local editDisplay = message('edit-link-display')
local editLink = makeUrlLink(editUrl, editDisplay)
local editLink = makeUrlLink(editUrl, editDisplay)
local historyUrl = docTitle:fullUrl{action = 'history'}
local historyUrl = docTitle:fullUrl{action = 'history'}
local historyDisplay = message('historyLinkDisplay')
local historyDisplay = message('history-link-display')
local historyLink = makeUrlLink(historyUrl, historyDisplay)
local historyLink = makeUrlLink(historyUrl, historyDisplay)
ret = message('transcludedFromBlurb', {docLink})
ret = message('transcluded-from-blurb', {docLink})
.. ' '
.. ' '
.. makeToolbar(editLink, historyLink)
.. makeToolbar(editLink, historyLink)
Line 663: Line 663:
elseif env.subjectSpace == 828 then
elseif env.subjectSpace == 828 then
-- /doc does not exist; ask to create it.
-- /doc does not exist; ask to create it.
local createUrl = docTitle:fullUrl{action = 'edit', preload = message('modulePreload')}
local createUrl = docTitle:fullUrl{action = 'edit', preload = message('module-preload')}
local createDisplay = message('createLinkDisplay')
local createDisplay = message('create-link-display')
local createLink = makeUrlLink(createUrl, createDisplay)
local createLink = makeUrlLink(createUrl, createDisplay)
ret = message('createModuleDocBlurb', {createLink})
ret = message('create-module-doc-blurb', {createLink})
.. '<br />'
.. '<br />'
end
end
Line 687: Line 687:
if sandboxTitle.exists then
if sandboxTitle.exists then
local sandboxPage = sandboxTitle.prefixedText
local sandboxPage = sandboxTitle.prefixedText
local sandboxDisplay = message('sandboxLinkDisplay')
local sandboxDisplay = message('sandbox-link-display')
local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay)
local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay)
local sandboxEditUrl = sandboxTitle:fullUrl{action = 'edit'}
local sandboxEditUrl = sandboxTitle:fullUrl{action = 'edit'}
local sandboxEditDisplay = message('sandboxEditLinkDisplay')
local sandboxEditDisplay = message('sandbox-edit-link-display')
local sandboxEditLink = makeUrlLink(sandboxEditUrl, sandboxEditDisplay)
local sandboxEditLink = makeUrlLink(sandboxEditUrl, sandboxEditDisplay)
local compareUrl = env.compareUrl
local compareUrl = env.compareUrl
local compareLink
local compareLink
if compareUrl then
if compareUrl then
local compareDisplay = message('compareLinkDisplay')
local compareDisplay = message('compare-link-display')
compareLink = makeUrlLink(compareUrl, compareDisplay)
compareLink = makeUrlLink(compareUrl, compareDisplay)
end
end
Line 702: Line 702:
local sandboxPreload
local sandboxPreload
if subjectSpace == 828 then
if subjectSpace == 828 then
sandboxPreload = message('moduleSandboxPreload')
sandboxPreload = message('module-sandbox-preload')
else
else
sandboxPreload = message('templateSandboxPreload')
sandboxPreload = message('template-sandbox-preload')
end
end
local sandboxCreateUrl = sandboxTitle:fullUrl{action = 'edit', preload = sandboxPreload}
local sandboxCreateUrl = sandboxTitle:fullUrl{action = 'edit', preload = sandboxPreload}
local sandboxCreateDisplay = message('sandboxCreateLinkDisplay')
local sandboxCreateDisplay = message('sandbox-create-link-display')
local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay)
local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay)
local mirrorSummary = message('mirrorEditSummary', {makeWikilink(templatePage)})
local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)})
local mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = templatePage, summary = mirrorSummary}
local mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = templatePage, summary = mirrorSummary}
local mirrorDisplay = message('mirrorLinkDisplay')
local mirrorDisplay = message('mirror-link-display')
local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay)
local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay)
sandboxLinks = message('sandboxLinkDisplay') .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink)
sandboxLinks = message('sandbox-link-display') .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink)
end
end
if testcasesTitle.exists then
if testcasesTitle.exists then
local testcasesPage = testcasesTitle.prefixedText
local testcasesPage = testcasesTitle.prefixedText
local testcasesDisplay = message('testcasesLinkDisplay')
local testcasesDisplay = message('testcases-link-display')
local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay)
local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay)
local testcasesEditUrl = testcasesTitle:fullUrl{action = 'edit'}
local testcasesEditUrl = testcasesTitle:fullUrl{action = 'edit'}
local testcasesEditDisplay = message('testcasesEditLinkDisplay')
local testcasesEditDisplay = message('testcases-edit-link-display')
local testcasesEditLink = makeUrlLink(testcasesEditUrl, testcasesEditDisplay)
local testcasesEditLink = makeUrlLink(testcasesEditUrl, testcasesEditDisplay)
testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink)
testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink)
Line 726: Line 726:
local testcasesPreload
local testcasesPreload
if subjectSpace == 828 then
if subjectSpace == 828 then
testcasesPreload = message('moduleTestcasesPreload')
testcasesPreload = message('module-testcases-preload')
else
else
testcasesPreload = message('templateTestcasesPreload')
testcasesPreload = message('template-testcases-preload')
end
end
local testcasesCreateUrl = testcasesTitle:fullUrl{action = 'edit', preload = testcasesPreload}
local testcasesCreateUrl = testcasesTitle:fullUrl{action = 'edit', preload = testcasesPreload}
local testcasesCreateDisplay = message('testcasesCreateLinkDisplay')
local testcasesCreateDisplay = message('testcases-create-link-display')
local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay)
local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay)
testcasesLinks = message('testcasesLinkDisplay') .. ' ' .. makeToolbar(testcasesCreateLink)
testcasesLinks = message('testcases-link-display') .. ' ' .. makeToolbar(testcasesCreateLink)
end
end
local messageName
local messageName
Line 753: Line 753:
local ret = ''
local ret = ''
local subpage = title.subpageText
local subpage = title.subpageText
if message('displayStrangeUsageCategory', nil, 'boolean') and (subpage == message('docSubpage') or subpage == message('testcasesSubpage')) then
if message('display-strange-usage-category', nil, 'boolean') and (subpage == message('doc-subpage') or subpage == message('testcases-subpage')) then
local sort = (title.namespace == 0 and message('strangeUsageCategoryMainspaceSort') or '') .. title.prefixedText -- Sort on namespace.
local sort = (title.namespace == 0 and message('strange-usage-category-mainspace-sort') or '') .. title.prefixedText -- Sort on namespace.
ret = ret .. makeCategoryLink(message('strangeUsageCategory'), sort)
ret = ret .. makeCategoryLink(message('strange-usage-category'), sort)
end
end
return ret
return ret
Cookies help us deliver our services. By using our services, you agree to our use of cookies.