Anonymous user
Module:Documentation: Difference between revisions
make 'string' the default message type in the message function to avoid having 'string' all over the place
(remove the err function, as it's not being used any more) |
(make 'string' the default message type in the message function to avoid having 'string' all over the place) |
||
Line 21:
----------------------------------------------------------------------------
local function message(cfgKey,
--[[
-- Gets a message from the cfg table and formats it if appropriate.
-- The function raises an error if the value from the cfg table is not
-- of the type expectType. The default type for expectType is 'string'.
-- If the table valArray is present, strings such as $1, $2 etc. in the
-- 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.',
-- message('fooMessage
--]]
local msg = cfg[cfgKey]
if type(msg) ~= expectType then
error('message: type error in message cfg.' .. cfgKey .. ' (' .. expectType .. ' expected, got ' .. type(msg) .. ')', 2)
end
Line 126 ⟶ 127:
-- so that we don't have to worry about unclosed tags.
.tag('div')
.attr('id', message('mainDivId
.addClass(message('mainDivClasses
.newline()
.wikitext(p._startBox(args, env))
Line 195 ⟶ 196:
title = mw.title.new(titleArg)
if not title then
error(message('titleArgError
end
else
Line 207 ⟶ 208:
local title = env.title
local subpage = title.subpageText
if subpage == message('sandboxSubpage
return title.basePageTitle
else
Line 222 ⟶ 223:
docpage = docname
else
docpage = env.docpageRoot .. '/' .. message('docSubpage
end
return mw.title.new(docpage)
Line 229 ⟶ 230:
function envFuncs.sandboxTitle()
-- Title object for the /sandbox subpage.
return mw.title.new(env.docpageRoot .. '/' .. message('sandboxSubpage
end
function envFuncs.testcasesTitle()
-- Title object for the /testcases subpage.
return mw.title.new(env.docpageRoot .. '/' .. message('testcasesSubpage
end
function envFuncs.printTitle()
-- Title object for the /Print subpage.
return env.templateTitle:subPageTitle(message('printSubpage
end
Line 296 ⟶ 297:
local omargs = {} -- Args for {{ombox}}.
-- Get the image wikitext.
omargs.image = message('sandboxNoticeImage
-- Get the text. We start with the opening blurb, which is something like
-- "This is the template sandbox for [[Template:Foo]] (diff)."
Line 306 ⟶ 307:
if isPreviewing or not compareUrl then
-- 'This is the [[Wikipedia:Template test cases|template sandbox]] page for $1.'
text = text .. message('sandboxNoticeBlurb
else
-- 'This is the [[Wikipedia:Template test cases|template sandbox]] page for $1 ($2).'
local compareDisplay = message('sandboxNoticeCompareLinkDisplay
local compareLink = makeUrlLink(compareUrl, compareDisplay)
text = text .. message('sandboxNoticeDiffBlurb
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
local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay)
text = text .. '<br />' .. message('sandboxNoticeTestcasesBlurb
end
-- Add the page to [[Category:Template sandboxes]].
text = text .. makeCategoryLink(message('sandboxCategory
omargs.text = text
return messageBox.main('ombox', omargs)
Line 328 ⟶ 329:
function p.protectionTemplate(env)
local title = env.title
local protectionTemplate = message('protectionTemplate
if not (protectionTemplate and title.namespace == 10) then
-- Don't display the protection template if we are not in the template namespace.
Line 346 ⟶ 347:
if getProtectionLevel('move', prefixedTitle) == 'sysop' or getProtectionLevel('edit', prefixedTitle) then
-- The page is full-move protected, or full, template, or semi-protected.
return frame:expandTemplate{title = protectionTemplate, args = message('protectionTemplateArgs', nil, 'table')}
end
return nil
Line 389 ⟶ 390:
data.docTitle = docTitle
-- View, display, edit, and purge links if /doc exists.
data.viewLinkDisplay = message('viewLinkDisplay
data.editLinkDisplay = message('editLinkDisplay
data.historyLinkDisplay = message('historyLinkDisplay
data.purgeLinkDisplay = message('purgeLinkDisplay
-- Create link if /doc doesn't exist.
local preload = args.preload
if not preload then
if env.subjectSpace == 6 then -- File namespace
preload = message('fileDocpagePreload
else
preload = message('docpagePreload
end
end
data.preload = preload
data.createLinkDisplay = message('createLinkDisplay
return data
end
Line 444 ⟶ 445:
data.heading = heading
elseif subjectSpace == 10 then -- Template namespace
data.heading = message('documentationIconWikitext
elseif subjectSpace == 828 then -- Module namespace
data.heading = message('documentationIconWikitext
elseif subjectSpace == 6 then -- File namespace
data.heading = message('fileNamespaceHeading
else
data.heading = message('otherNamespacesHeading
end
Line 467 ⟶ 468:
-- [view][edit][history][purge] or [create] links.
if links then
data.linksClass = message('startBoxLinkclasses
data.linksId = message('startBoxLinkId
data.links = links
end
Line 548 ⟶ 549:
-- Assemble the arguments for {{fmbox}}.
local fmargs = {}
fmargs.id = message('fmboxId
fmargs.image = message('fmboxImageNone
fmargs.style = message('fmboxStyle
fmargs.textstyle = message('fmboxTextstyle
-- Assemble the fmbox text field.
Line 596 ⟶ 597:
local ret
if printTitle.exists then
local printLink = makeWikilink(printTitle.prefixedText, message('printLinkDisplay
ret = message('printBlurb
local displayPrintCategory = message('displayPrintCategory', nil, 'boolean')
if displayPrintCategory then
ret = ret .. makeCategoryLink(message('printCategory
end
end
Line 616 ⟶ 617:
local pagetype
if subjectSpace == 10 then
pagetype = message('templatePagetype
elseif subjectSpace == 828 then
pagetype = message('modulePagetype
else
pagetype = message('defaultPagetype
end
return makeWikilink(
'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/',
message('subpagesLinkDisplay
)
end
Line 635 ⟶ 636:
end
-- Make the blurb.
local docPathLink = makeWikilink(docTitle.prefixedText, message('docLinkDisplay
return message('addCategoriesBlurb
end
Line 651 ⟶ 652:
local docLink = makeWikilink(docTitle.prefixedText)
local editUrl = docTitle:fullUrl{action = 'edit'}
local editDisplay = message('editLinkDisplay
local editLink = makeUrlLink(editUrl, editDisplay)
local historyUrl = docTitle:fullUrl{action = 'history'}
local historyDisplay = message('historyLinkDisplay
local historyLink = makeUrlLink(historyUrl, historyDisplay)
ret = message('transcludedFromBlurb
.. ' '
.. makeToolbar(editLink, historyLink)
Line 662 ⟶ 663:
elseif env.subjectSpace == 828 then
-- /doc does not exist; ask to create it.
local createUrl = docTitle:fullUrl{action = 'edit', preload = message('modulePreload
local createDisplay = message('createLinkDisplay
local createLink = makeUrlLink(createUrl, createDisplay)
ret = message('createModuleDocBlurb
.. '<br />'
end
Line 686 ⟶ 687:
if sandboxTitle.exists then
local sandboxPage = sandboxTitle.prefixedText
local sandboxDisplay = message('sandboxLinkDisplay
local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay)
local sandboxEditUrl = sandboxTitle:fullUrl{action = 'edit'}
local sandboxEditDisplay = message('sandboxEditLinkDisplay
local sandboxEditLink = makeUrlLink(sandboxEditUrl, sandboxEditDisplay)
local compareUrl = env.compareUrl
local compareLink
if compareUrl then
local compareDisplay = message('compareLinkDisplay
compareLink = makeUrlLink(compareUrl, compareDisplay)
end
Line 701 ⟶ 702:
local sandboxPreload
if subjectSpace == 828 then
sandboxPreload = message('moduleSandboxPreload
else
sandboxPreload = message('templateSandboxPreload
end
local sandboxCreateUrl = sandboxTitle:fullUrl{action = 'edit', preload = sandboxPreload}
local sandboxCreateDisplay = message('sandboxCreateLinkDisplay
local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay)
local mirrorSummary = message('mirrorEditSummary
local mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = templatePage, summary = mirrorSummary}
local mirrorDisplay = message('mirrorLinkDisplay
local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay)
sandboxLinks = message('sandboxLinkDisplay
end
if testcasesTitle.exists then
local testcasesPage = testcasesTitle.prefixedText
local testcasesDisplay = message('testcasesLinkDisplay
local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay)
local testcasesEditUrl = testcasesTitle:fullUrl{action = 'edit'}
local testcasesEditDisplay = message('testcasesEditLinkDisplay
local testcasesEditLink = makeUrlLink(testcasesEditUrl, testcasesEditDisplay)
testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink)
Line 725 ⟶ 726:
local testcasesPreload
if subjectSpace == 828 then
testcasesPreload = message('moduleTestcasesPreload
else
testcasesPreload = message('templateTestcasesPreload
end
local testcasesCreateUrl = testcasesTitle:fullUrl{action = 'edit', preload = testcasesPreload}
local testcasesCreateDisplay = message('testcasesCreateLinkDisplay
local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay)
testcasesLinks = message('testcasesLinkDisplay
end
local messageName
Line 740 ⟶ 741:
messageName = 'experimentBlurbTemplate'
end
return message(messageName
end
Line 752 ⟶ 753:
local ret = ''
local subpage = title.subpageText
if message('displayStrangeUsageCategory', nil, 'boolean') and (subpage == message('docSubpage
local sort = (title.namespace == 0 and message('strangeUsageCategoryMainspaceSort
ret = ret .. makeCategoryLink(message('strangeUsageCategory
end
return ret
|