Difference between revisions of "Module:Documentation"

Jump to navigation Jump to search
finish i18n
en>Mr. Stradivarius
(i18n for the "editors can experiment" blurb)
en>Mr. Stradivarius
(finish i18n)
Line 34: Line 34:
cfg.sandboxSubpage = 'sandbox' -- The name of the template subpage typically used for sandboxes.
cfg.sandboxSubpage = 'sandbox' -- The name of the template subpage typically used for sandboxes.
cfg.testcasesSubpage = 'testcases' -- The name of the template subpage typically used for test cases.
cfg.testcasesSubpage = 'testcases' -- The name of the template subpage typically used for test cases.
cfg.printSubpage = 'Print' -- The name of the template subpage used for print versions.
cfg.mainDivId = 'template-documentation' -- The "id" attribute of the main HTML "div" tag.
cfg.mainDivId = 'template-documentation' -- The "id" attribute of the main HTML "div" tag.
cfg.mainDivClasses = 'template-documentation iezoomfix' -- The CSS classes added to the main HTML "div" tag.
cfg.mainDivClasses = 'template-documentation iezoomfix' -- The CSS classes added to the main HTML "div" tag.
Line 78: Line 79:
cfg.testcasesEditLinkDisplay = 'edit' -- The text to display for test cases "edit" links.
cfg.testcasesEditLinkDisplay = 'edit' -- The text to display for test cases "edit" links.
cfg.testcasesCreateLinkDisplay = 'create' -- The text to display for test cases "create" links.
cfg.testcasesCreateLinkDisplay = 'create' -- The text to display for test cases "create" links.
cfg.docLinkDisplay = '/' .. cfg.docSubpage -- The text to display when linking to the /doc subpage.
cfg.subpagesLinkDisplay = 'Subpages of this $1' -- The text to display for the "subpages of this page" link. $1 is cfg.templatePagetype, cfg.modulePagetype or cfg.defaultPagetype, depending on whether the current page is in the template namespace, the module namespace, or another namespace.
cfg.printLinkDisplay = '/' .. cfg.printSubpage -- The text to display when linking to the /doc subpage.


-- Sentences used in the end box.
-- Sentences used in the end box.
Line 84: Line 88:
cfg.templatePossessive = "template's" -- Possessive case for "template".
cfg.templatePossessive = "template's" -- Possessive case for "template".
cfg.modulePossessive = "module's" -- Possessive case for "module".
cfg.modulePossessive = "module's" -- Possessive case for "module".
cfg.experimentBlurb = 'Editors can experiment in this $1 $2 and $3 pages.' -- Text inviting editors to experiment in sandbox and test cases pages. It is only shown in the template and module namespaces. $1 is cfg.templatePossessive or cfg.modulePossessive depending on what namespace we are in. $2 is a link to the sandbox in the format "cfg.sandboxLinkDisplay (cfg.sandboxEditLinkDisplay | cfg.compareLinkDisplay)" if the sandbox exists, and the format "cfg.sandboxLinkDisplay (cfg.sandboxCreateLinkDisplay | cfg.mirrorLinkDisplay)" if the sandbox doesn't exist. If the sandbox link doesn't exist, the create link preloads the page with cfg.templateSandboxPreload or cfg.moduleSandboxPreload depending on the current namespace. $3 is a link to the test cases page in the format "cfg.testcasesLinkDisplay (cfg.testcasesEditLinkDisplay)" if the test cases page exists, and in the format "cfg.testcasesLinkDisplay (cfg.testcasesCreateLinkDisplay)" if the test cases page doesn't exist. If the test cases page doesn't exist, the create link preloads the page with cfg.templateTestcasesPreload or cfg.moduleTestcasesPreload depending on the current namespace.
cfg.mirrorEditSummary = 'Create sandbox version of $1' -- The default edit summary to use when a user clicks the "mirror" link. $1 is a wikilink to the template page.
cfg.experimentBlurb = 'Editors can experiment in this $1 $2 and $3 pages.' -- Text inviting editors to experiment in sandbox and test cases pages. It is only shown in the template and module namespaces. $1 is cfg.templatePossessive or cfg.modulePossessive depending on what namespace we are in. $2 is a link to the sandbox in the format "cfg.sandboxLinkDisplay (cfg.sandboxEditLinkDisplay | cfg.compareLinkDisplay)" if the sandbox exists, and the format "cfg.sandboxLinkDisplay (cfg.sandboxCreateLinkDisplay | cfg.mirrorLinkDisplay)" if the sandbox doesn't exist. If the sandbox link doesn't exist, the create link preloads the page with cfg.templateSandboxPreload or cfg.moduleSandboxPreload depending on the current namespace. If the page doesn't exist, the mirror link uses the edit summar cfg.mirrorEditSummary. $3 is a link to the test cases page in the format "cfg.testcasesLinkDisplay (cfg.testcasesEditLinkDisplay)" if the test cases page exists, and in the format "cfg.testcasesLinkDisplay (cfg.testcasesCreateLinkDisplay)" if the test cases page doesn't exist. If the test cases page doesn't exist, the create link preloads the page with cfg.templateTestcasesPreload or cfg.moduleTestcasesPreload depending on the current namespace.
cfg.addCategoriesBlurb = 'Please add categories to the $1 subpage.' -- Text to direct users to add categories to the /doc subpage. Not used if the "content" or "docname fed" arguments are set, as then it is not clear where to add the categories. $1 is a link to the /doc subpage with a display value of cfg.docLinkDisplay.
cfg.printBlurb = 'A [[Help:Books/for experts#Improving the book layout|print version]] of this template exists at $1. If you make a change to this template, please update the print version as well.' -- Text to display if a /Print subpage exists. $1 is a link to the subpage with a display value of cfg.printLinkDisplay.


-- Other display settings
-- Other display settings
Line 92: Line 99:
cfg.fileNamespaceHeading = 'Summary' -- The heading shown in the file namespace.
cfg.fileNamespaceHeading = 'Summary' -- The heading shown in the file namespace.
cfg.otherNamespacesHeading = 'Documentation' -- The heading shown in other namespaces.
cfg.otherNamespacesHeading = 'Documentation' -- The heading shown in other namespaces.
cfg.templatePagetype = 'template' -- The pagetype to display for template pages.
cfg.modulePagetype = 'module' -- The pagetype to display for Lua module pages.
cfg.defaultPagetype = 'page' -- The pagetype to display for pages other than templates or Lua modules.
-- Category settings
cfg.displayPrintCategory = true -- Set to true to enable output of cfg.printCategory if a /Print subpage exists.
cfg.printCategory = 'Templates with print versions' -- Category to output if cfg.displayPrintCategory is set to true, and a /Print subpage exists.
cfg.displayStrangeUsageCategory = true -- Set to true to enable output of cfg.strangeUsageCategory if the module is used on a /doc subpage or a /testcases subpage.
cfg.strangeUsageCategory = 'Wikipedia pages with strange ((documentation)) usage' -- Category to output if cfg.displayStrangeUsageCategory is set to true and the module is used on a /doc subpage or a /testcases subpage.
cfg.strangeUsageCategoryMainspaceSort = 'Main:' -- Category sort key prefix to use for cfg.strangeUsageCategory in the main namespace. The prefix is followed by the full page name.


----------------------------------------------------------------------------
----------------------------------------------------------------------------
Line 141: Line 158:
return mw.ustring.format('[[%s]]', page)
return mw.ustring.format('[[%s]]', page)
end
end
end
local function makeCategoryLink(cat, sort)
local catns = mw.site.namespaces[14].name
return makeWikilink(catns .. '/' .. cat, sort)
end
end


Line 438: Line 460:
local sandboxPreload = subjectSpace == 828 and cfg.moduleSandboxPreload or cfg.templateSandboxPreload
local sandboxPreload = subjectSpace == 828 and cfg.moduleSandboxPreload or cfg.templateSandboxPreload
local sandboxCreateLink = makeUrlLink(sandboxTitle:fullUrl{action = 'edit', preload = sandboxPreload}, cfg.sandboxCreateLinkDisplay)
local sandboxCreateLink = makeUrlLink(sandboxTitle:fullUrl{action = 'edit', preload = sandboxPreload}, cfg.sandboxCreateLinkDisplay)
local mirrorSummary = 'Create sandbox version of ' .. makeWikilink(templatePage)
local mirrorSummary = formatMessage(cfg.mirrorEditSummary, {makeWikilink(templatePage)})
local mirrorLink = makeUrlLink(sandboxTitle:fullUrl{action = 'edit', preload = templatePage, summary = mirrorSummary}, cfg.mirrorLinkDisplay)
local mirrorLink = makeUrlLink(sandboxTitle:fullUrl{action = 'edit', preload = templatePage, summary = mirrorSummary}, cfg.mirrorLinkDisplay)
sandboxLinks = cfg.sandboxLinkDisplay .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink)
sandboxLinks = cfg.sandboxLinkDisplay .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink)
Line 455: Line 477:
-- Show the categories text, but not if "content" fed or "docname fed" since then it is unclear where to add the categories.
-- Show the categories text, but not if "content" fed or "docname fed" since then it is unclear where to add the categories.
if not content and not docnameFed then
if not content and not docnameFed then
text = text .. 'Please add categories to the ' .. makeWikilink(docpage, '/' .. cfg.docSubpage) .. ' subpage.'
local docPathLink = makeWikilink(docpage, cfg.docLinkDisplay)
text = text .. formatMessage(cfg.addCategoriesBlurb, {docPathLink})
end
end
-- Show the "subpages" link.
-- Show the "subpages" link.
Line 461: Line 484:
local pagetype
local pagetype
if subjectSpace == 10 then
if subjectSpace == 10 then
pagetype = 'template'
pagetype = cfg.templatePagetype
elseif subjectSpace == 828 then
elseif subjectSpace == 828 then
pagetype = 'module'
pagetype = cfg.modulePagetype
else
else
pagetype = 'page'
pagetype = cfg.defaultPagetype
end
end
text = text .. ' ' .. makeWikilink('Special:PrefixIndex/' .. templatePage .. '/', 'Subpages of this ' .. pagetype)
text = text .. ' ' .. makeWikilink('Special:PrefixIndex/' .. templatePage .. '/', formatMessage(cfg.subpagesLinkDisplay, {pagetype}))
end
end
-- Show the "print" link if it exists.
-- Show the "print" link if it exists.
local printPage = templatePage .. '/Print'
local printPage = templatePage .. '/' .. cfg.printSubpage
local printTitle = mw.title.new(printPage)
local printTitle = mw.title.new(printPage)
if printTitle.exists then
if printTitle.exists then
text = text .. '<br />A [[Help:Books/for experts#Improving the book layout|print version]] of this template exists at '
local printLink = makeWikilink(printPage, cfg.printLinkDisplay)
.. makeWikilink(printPage, '/Print') .. '. If you make a change to this template, please update the print version as well.'
text = text .. '<br />' .. formatMessage(cfg.printBlurb, {printLink})
.. '[[Category:Templates with print versions]]'
.. (cfg.displayPrintCategory and makeCategoryLink(cfg.printCategory) or '')
end
end
end
end
Line 489: Line 512:
local ret = ''
local ret = ''
local subpage = currentTitle.subpageText
local subpage = currentTitle.subpageText
if subpage == cfg.docSubpage or subpage == cfg.testcasesSubpage then
if cfg.displayStrangeUsageCategory and (subpage == cfg.docSubpage or subpage == cfg.testcasesSubpage) then
local sort = (currentTitle.namespace == 0 and 'Main:' or '') .. currentTitle.prefixedText -- Sort on namespace.
local sort = (currentTitle.namespace == 0 and cfg.strangeUsageCategoryMainspaceSort or '') .. currentTitle.prefixedText -- Sort on namespace.
ret = ret .. makeWikilink('Category:Wikipedia pages with strange ((documentation)) usage', sort)
ret = ret .. makeCategoryLink(cfg.strangeUsageCategory, sort)
end
end
return ret
return ret
Anonymous user

Navigation menu