Module:Documentation: Difference between revisions
From Roses, Tulips, & Liberty
Content deleted Content added
finish i18n for the startBox function |
i18n of link names in the endBox function |
||
Line 21: | Line 21: | ||
cfg.contentArg = 'content' -- Passes documentation content directly from the {{documentation}} invocation. |
cfg.contentArg = 'content' -- Passes documentation content directly from the {{documentation}} invocation. |
||
cfg.linkBoxArg = 'link box' -- Specifies a custom link box (end box) or prevents it from being generated. |
cfg.linkBoxArg = 'link box' -- Specifies a custom link box (end box) or prevents it from being generated. |
||
-- Argument values |
|||
-- The following are argument values that are checked by the module. |
|||
cfg.linkBoxOff = 'off' -- The value to send to cfg.linkBoxArg to turn the link box off. |
|||
-- Software settings |
-- Software settings |
||
Line 26: | Line 31: | ||
-- defined in commons.css or the names of templates. |
-- defined in commons.css or the names of templates. |
||
⚫ | |||
⚫ | |||
cfg.testcasesSubpage = 'testcases' -- The name of the template subpage typically used for test cases. |
|||
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. |
||
⚫ | |||
cfg.sandboxNoticeTemplate = 'template sandbox notice' -- The name of the template to display at the top of sandbox pages. |
cfg.sandboxNoticeTemplate = 'template sandbox notice' -- The name of the template to display at the top of sandbox pages. |
||
cfg.sandboxNoticeLivepageParam = 1 -- The parameter of the sandbox notice template to send the cfg.livepageArg to. |
cfg.sandboxNoticeLivepageParam = 1 -- The parameter of the sandbox notice template to send the cfg.livepageArg to. |
||
cfg.protectionTemplate = 'pp-template' -- The name of the template that displays the protection icon (a padlock on enwiki). |
cfg.protectionTemplate = 'pp-template' -- The name of the template that displays the protection icon (a padlock on enwiki). |
||
cfg.protectionTemplateArgs = {docusage = 'yes'} -- Any arguments to send to the protection template. |
cfg.protectionTemplateArgs = {docusage = 'yes'} -- Any arguments to send to the protection template. |
||
⚫ | |||
cfg.startBoxLinkclasses = 'mw-editsection plainlinks' -- The CSS classes used for the [view][edit][history] or [create] links in the start box. |
cfg.startBoxLinkclasses = 'mw-editsection plainlinks' -- The CSS classes used for the [view][edit][history] or [create] links in the start box. |
||
cfg.startBoxLinkId = 'doc_editlinks' -- The HTML "id" attribute for the links in the start box. |
cfg.startBoxLinkId = 'doc_editlinks' -- The HTML "id" attribute for the links in the start box. |
||
cfg.fileDocpagePreload = 'Template:Documentation/preload-filespace' -- A preload file for documentation page in the file namespace. |
cfg.fileDocpagePreload = 'Template:Documentation/preload-filespace' -- A preload file for documentation page in the file namespace. |
||
cfg.docpagePreload = 'Template:Documentation/preload-filespace' -- A preload file for template documentation pages in all namespaces. |
cfg.docpagePreload = 'Template:Documentation/preload-filespace' -- A preload file for template documentation pages in all namespaces. |
||
-- Settings for the {{fmbox}} template. |
|||
cfg.fmboxIdParam = 'id' -- The name of the "id" parameter of {{fmbox}}. |
|||
cfg.fmboxId = 'documentation-meta-data' -- The id sent to the "id" parameter of the {{fmbox}} template. |
|||
cfg.fmboxImageParam = 'image' -- The name of the "image" parameter of {{fmbox}}. |
|||
cfg.fmboxImageNone = 'none' -- The value to suppress image output from the "image" parameter of {{fmbox}}. |
|||
cfg.fmboxStyleParam = 'style' -- The name of the "style" parameter of {{fmbox}}. |
|||
cfg.fmboxStyle = 'background-color: #ecfcf4' -- The value sent to the style parameter of {{fmbox}}. |
|||
cfg.fmboxTextstyleParam = 'textstyle' -- The name of the "textstyle" parameter of {{fmbox}}. |
|||
cfg.fmboxTextstyle = 'font-style: italic;' -- The value send to the "textstyle parameter of {{fmbox}}. |
|||
-- Display settings |
-- Display settings |
||
Line 48: | Line 65: | ||
cfg.createLinkDisplay = 'create' -- The text to display for "create" links. |
cfg.createLinkDisplay = 'create' -- The text to display for "create" links. |
||
cfg.sandboxLinkDisplay = 'sandbox' -- The text to display for "sandbox" links. |
cfg.sandboxLinkDisplay = 'sandbox' -- The text to display for "sandbox" links. |
||
cfg.sandboxEditLinkDisplay = 'edit' -- The text to display for sandbox "edit" links. |
|||
cfg.sandboxCreateLinkDisplay = 'create' -- The text to display for sandbox "create" links. |
|||
cfg.compareLinkDisplay = 'diff' -- The text to display for "compare" links. |
|||
cfg.mirrorLinkDisplay = 'mirror' -- The text to display for "mirror" links. |
|||
cfg.testcasesLinkDisplay = 'testcases' -- The text to display for "testcases" 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.documentationIconWikitext = '[[File:Template-info.png|50px|link=|alt=Documentation icon]]' -- The wikitext for the icon shown at the top of the template. |
cfg.documentationIconWikitext = '[[File:Template-info.png|50px|link=|alt=Documentation icon]]' -- The wikitext for the icon shown at the top of the template. |
||
cfg.templateNamespaceHeading = 'Template documentation' -- The heading shown in the template namespace. |
cfg.templateNamespaceHeading = 'Template documentation' -- The heading shown in the template namespace. |
||
Line 327: | Line 351: | ||
local docnameFed = args[1] and true |
local docnameFed = args[1] and true |
||
local sandbox = docpageRoot .. '/' .. cfg.sandboxSubpage |
local sandbox = docpageRoot .. '/' .. cfg.sandboxSubpage |
||
local testcases = docpageRoot .. '/ |
local testcases = docpageRoot .. '/' .. cfg.testcasesSubpage |
||
templatePage = currentTitle.nsText .. ':' .. templatePage |
templatePage = currentTitle.nsText .. ':' .. templatePage |
||
Line 334: | Line 358: | ||
-- First, check whether we should output the end box at all. Add the end box by default if the documentation |
-- First, check whether we should output the end box at all. Add the end box by default if the documentation |
||
-- exists or if we are in the user, module or template namespaces. |
-- exists or if we are in the user, module or template namespaces. |
||
if linkBox == |
if linkBox == cfg.linkBoxOff or not (docExist or subjectSpace == 2 or subjectSpace == 828 or subjectSpace == 10) then |
||
return nil |
return nil |
||
end |
end |
||
Line 340: | Line 364: | ||
-- Assemble the arguments for {{fmbox}}. |
-- Assemble the arguments for {{fmbox}}. |
||
local fmargs = {} |
local fmargs = {} |
||
fmargs.id = 'documentation-meta-data' |
fmargs[cfg.fmboxIdParam] = cfg.fmboxId -- Sets fmargs.id = 'documentation-meta-data' |
||
fmargs.image = 'none' |
fmargs[cfg.fmboxImageParam] = cfg.fmboxImageNone -- Sets fmargs.image = 'none' |
||
fmargs.style = 'background-color: #ecfcf4' |
fmargs[cfg.fmboxStyleParam] = cfg.fmboxStyle -- Sets fmargs.style = 'background-color: #ecfcf4' |
||
fmargs.textstyle = 'font-style: italic;' |
fmargs[cfg.fmboxTextstyleParam] = cfg.fmboxTextstyle -- Sets fmargs.textstyle = 'font-style: italic;' |
||
-- Assemble the fmbox text field. |
-- Assemble the fmbox text field. |
||
Line 354: | Line 378: | ||
-- /doc exists; link to it. |
-- /doc exists; link to it. |
||
local docLink = makeWikilink(docpage) |
local docLink = makeWikilink(docpage) |
||
local editLink = makeUrlLink(docTitle:fullUrl{action = 'edit'}, |
local editLink = makeUrlLink(docTitle:fullUrl{action = 'edit'}, cfg.editLinkDisplay) |
||
local historyLink = makeUrlLink(docTitle:fullUrl{action = 'history'}, |
local historyLink = makeUrlLink(docTitle:fullUrl{action = 'history'}, cfg.historyLinkDisplay) |
||
text = text .. 'The above [[Wikipedia:Template documentation|documentation]] is [[Wikipedia:Transclusion|transcluded]] from ' |
text = text .. 'The above [[Wikipedia:Template documentation|documentation]] is [[Wikipedia:Transclusion|transcluded]] from ' |
||
.. docLink .. '. ' .. makeToolbar(editLink, historyLink) .. '<br />' |
.. docLink .. '. ' .. makeToolbar(editLink, historyLink) .. '<br />' |
||
elseif subjectSpace == 828 then |
elseif subjectSpace == 828 then |
||
-- /doc does not exist; ask to create it. |
-- /doc does not exist; ask to create it. |
||
local createLink = makeUrlLink(docTitle:fullUrl{action = 'edit', preload = 'Template:Documentation/preload-module-doc'}, |
local createLink = makeUrlLink(docTitle:fullUrl{action = 'edit', preload = 'Template:Documentation/preload-module-doc'}, cfg.createLinkDisplay) |
||
text = text .. 'You might want to ' .. createLink .. ' a documentation page for this [[Wikipedia:Lua|Scribunto module]].<br />' |
text = text .. 'You might want to ' .. createLink .. ' a documentation page for this [[Wikipedia:Lua|Scribunto module]].<br />' |
||
end |
end |
||
Line 371: | Line 395: | ||
if sandboxTitle.exists then |
if sandboxTitle.exists then |
||
local sandboxLink = makeWikilink(sandbox, cfg.sandboxLinkDisplay) |
local sandboxLink = makeWikilink(sandbox, cfg.sandboxLinkDisplay) |
||
local sandboxEditLink = makeUrlLink(sandboxTitle:fullUrl{action = 'edit'}, |
local sandboxEditLink = makeUrlLink(sandboxTitle:fullUrl{action = 'edit'}, cfg.sandboxEditLinkDisplay) |
||
local compareLink = makeUrlLink(mw.title.new('Special:ComparePages'):fullUrl{page1 = templatePage, page2 = sandbox}, |
local compareLink = makeUrlLink(mw.title.new('Special:ComparePages'):fullUrl{page1 = templatePage, page2 = sandbox}, cfg.compareLinkDisplay) |
||
text = text .. sandboxLink .. ' ' .. makeToolbar(sandboxEditLink, compareLink) |
text = text .. sandboxLink .. ' ' .. makeToolbar(sandboxEditLink, compareLink) |
||
else |
else |
||
local sandboxPreload = 'Template:Documentation/preload-' .. (subjectSpace == 828 and 'module-' or '') .. 'sandbox' |
local sandboxPreload = 'Template:Documentation/preload-' .. (subjectSpace == 828 and 'module-' or '') .. 'sandbox' |
||
local sandboxCreateLink = makeUrlLink(sandboxTitle:fullUrl{action = 'edit', preload = sandboxPreload}, |
local sandboxCreateLink = makeUrlLink(sandboxTitle:fullUrl{action = 'edit', preload = sandboxPreload}, cfg.sandboxCreateLinkDisplay) |
||
local mirrorSummary = 'Create sandbox version of ' .. makeWikilink(templatePage) |
local mirrorSummary = 'Create sandbox version of ' .. makeWikilink(templatePage) |
||
local mirrorLink = makeUrlLink(sandboxTitle:fullUrl{action = 'edit', preload = templatePage, summary = mirrorSummary}, |
local mirrorLink = makeUrlLink(sandboxTitle:fullUrl{action = 'edit', preload = templatePage, summary = mirrorSummary}, cfg.mirrorLinkDisplay) |
||
text = text .. cfg.sandboxLinkDisplay .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink) |
text = text .. cfg.sandboxLinkDisplay .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink) |
||
end |
end |
||
Line 384: | Line 408: | ||
local testcaseTitle = mw.title.new(testcases) |
local testcaseTitle = mw.title.new(testcases) |
||
if testcaseTitle.exists then |
if testcaseTitle.exists then |
||
local testcasesLink = makeWikilink(testcases, |
local testcasesLink = makeWikilink(testcases, cfg.testcasesLinkDisplay) |
||
local testcasesEditLink = makeUrlLink(testcaseTitle:fullUrl{action = 'edit'}, |
local testcasesEditLink = makeUrlLink(testcaseTitle:fullUrl{action = 'edit'}, cfg.testcasesEditLinkDisplay) |
||
text = text .. testcasesLink .. ' ' .. makeToolbar(testcasesEditLink) |
text = text .. testcasesLink .. ' ' .. makeToolbar(testcasesEditLink) |
||
else |
else |
||
local testcasesPreload = 'Template:Documentation/preload-' .. (subjectSpace == 828 and 'module-' or '') .. 'testcases' |
local testcasesPreload = 'Template:Documentation/preload-' .. (subjectSpace == 828 and 'module-' or '') .. 'testcases' |
||
local testcasesCreateLink = makeUrlLink(testcaseTitle:fullUrl{action = 'edit', preload = testcasesPreload}, |
local testcasesCreateLink = makeUrlLink(testcaseTitle:fullUrl{action = 'edit', preload = testcasesPreload}, cfg.testcasesCreateLinkDisplay) |
||
text = text .. ' |
text = text .. cfg.testcasesLinkDisplay .. ' ' .. makeToolbar(testcasesCreateLink) |
||
end |
end |
||
text = text .. ' pages. <br />' |
text = text .. ' pages. <br />' |
||
Line 429: | Line 453: | ||
local ret = '' |
local ret = '' |
||
local subpage = currentTitle.subpageText |
local subpage = currentTitle.subpageText |
||
if subpage == cfg.docSubpage or subpage == |
if 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 'Main:' or '') .. currentTitle.prefixedText -- Sort on namespace. |
||
ret = ret .. makeWikilink('Category:Wikipedia pages with strange ((documentation)) usage', sort) |
ret = ret .. makeWikilink('Category:Wikipedia pages with strange ((documentation)) usage', sort) |
||
Line 450: | Line 474: | ||
-- Determines the template page. No namespace or interwiki prefixes are included. |
-- Determines the template page. No namespace or interwiki prefixes are included. |
||
local subpage = currentTitle.subpageText |
local subpage = currentTitle.subpageText |
||
if subpage == cfg.sandboxSubpage or subpage == |
if subpage == cfg.sandboxSubpage or subpage == cfg.testcasesSubpage then |
||
return currentTitle.baseText |
return currentTitle.baseText |
||
else |
else |