Difference between revisions of "Module:Documentation"
remove unneeded return variables (if this breaks anything feel free to revert without discussing with me first)
m (1 revision imported: Content from Template:Navbox top on Wikipedia) |
(remove unneeded return variables (if this breaks anything feel free to revert without discussing with me first)) |
||
Line 11: | Line 11: | ||
-- Often-used functions. | -- Often-used functions. | ||
local ugsub = mw.ustring.gsub | local ugsub = mw.ustring.gsub | ||
local format = mw.ustring.format | |||
---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ||
Line 50: | Line 51: | ||
local function makeWikilink(page, display) | local function makeWikilink(page, display) | ||
if display then | if display then | ||
return | return format('[[%s|%s]]', page, display) | ||
else | else | ||
return | return format('[[%s]]', page) | ||
end | end | ||
end | end | ||
Line 66: | Line 67: | ||
local function makeUrlLink(url, display) | local function makeUrlLink(url, display) | ||
return | return format('[%s %s]', url, display) | ||
end | end | ||
Line 81: | Line 82: | ||
end | end | ||
-- 'documentation-toolbar' | -- 'documentation-toolbar' | ||
return '<span class="' | return format( | ||
'<span class="%s">(%s)</span>', | |||
message('toolbar-class'), | |||
table.concat(ret, ' | ') | |||
) | |||
end | end | ||
Line 313: | Line 317: | ||
local sandboxTitle = env.sandboxTitle | local sandboxTitle = env.sandboxTitle | ||
if templateTitle.exists and sandboxTitle.exists then | if templateTitle.exists and sandboxTitle.exists then | ||
local compareUrl = mw.uri. | local compareUrl = mw.uri.canonicalUrl( | ||
'Special:ComparePages', | 'Special:ComparePages', | ||
{ page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText} | { page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText} | ||
Line 359: | Line 363: | ||
-- 'sandbox-notice-testcases-link-display' --> 'test cases' | -- 'sandbox-notice-testcases-link-display' --> 'test cases' | ||
-- 'sandbox-category' --> 'Template sandboxes' | -- 'sandbox-category' --> 'Template sandboxes' | ||
-- 'module-sandbox-category' --> 'Module sandboxes' | |||
-- 'other-sandbox-category' --> 'Sandboxes outside of template or module namespace' | |||
--]=] | --]=] | ||
local title = env.title | local title = env.title | ||
Line 374: | Line 380: | ||
-- "This is the template sandbox for [[Template:Foo]] (diff)." | -- "This is the template sandbox for [[Template:Foo]] (diff)." | ||
local text = '' | local text = '' | ||
local pagetype | local pagetype, sandboxCat | ||
if subjectSpace == 10 then | if subjectSpace == 10 then | ||
pagetype = message('sandbox-notice-pagetype-template') | pagetype = message('sandbox-notice-pagetype-template') | ||
sandboxCat = message('sandbox-category') | |||
elseif subjectSpace == 828 then | elseif subjectSpace == 828 then | ||
pagetype = message('sandbox-notice-pagetype-module') | pagetype = message('sandbox-notice-pagetype-module') | ||
sandboxCat = message('module-sandbox-category') | |||
else | else | ||
pagetype = message('sandbox-notice-pagetype-other') | pagetype = message('sandbox-notice-pagetype-other') | ||
sandboxCat = message('other-sandbox-category') | |||
end | end | ||
local templateLink = makeWikilink(templateTitle.prefixedText) | local templateLink = makeWikilink(templateTitle.prefixedText) | ||
Line 407: | Line 416: | ||
end | end | ||
end | end | ||
-- Add the sandbox to the sandbox category. | -- Add the sandbox to the sandbox category. | ||
omargs.text = text .. makeCategoryLink( | omargs.text = text .. makeCategoryLink(sandboxCat) | ||
-- 'documentation-clear' | -- 'documentation-clear' | ||
Line 505: | Line 515: | ||
end | end | ||
-- Create link if /doc doesn't exist. | -- Create link if /doc doesn't exist. | ||
local preload = args.preload | local preload = args.preload | ||
Line 522: | Line 524: | ||
end | end | ||
end | end | ||
return { | |||
title = title, | |||
docTitle = docTitle, | |||
-- View, display, edit, and purge links if /doc exists. | |||
viewLinkDisplay = message('view-link-display'), | |||
editLinkDisplay = message('edit-link-display'), | |||
historyLinkDisplay = message('history-link-display'), | |||
purgeLinkDisplay = message('purge-link-display'), | |||
preload = preload, | |||
createLinkDisplay = message('create-link-display') | |||
} | |||
end | end | ||
Line 532: | Line 543: | ||
-- @data - a table of data generated by p.makeStartBoxLinksData | -- @data - a table of data generated by p.makeStartBoxLinksData | ||
--]] | --]] | ||
local docTitle = data.docTitle | |||
-- yes, we do intend to purge the template page on which the documentation appears | |||
local purgeLink = makeWikilink("Special:Purge/" .. data.title.prefixedText, data.purgeLinkDisplay) | |||
if docTitle.exists then | if docTitle.exists then | ||
local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay) | local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay) | ||
local editLink = | local editLink = makeWikilink("Special:EditPage/" .. docTitle.prefixedText, data.editLinkDisplay) | ||
local historyLink = | local historyLink = makeWikilink("Special:PageHistory/" .. docTitle.prefixedText, data.historyLinkDisplay) | ||
return "[" .. viewLink .. "] [" .. editLink .. "] [" .. historyLink .. "] [" .. purgeLink .. "]" | |||
else | else | ||
local createLink = makeUrlLink(docTitle: | local createLink = makeUrlLink(docTitle:canonicalUrl{action = 'edit', preload = data.preload}, data.createLinkDisplay) | ||
return "[" .. createLink .. "] [" .. purgeLink .. "]" | |||
end | end | ||
return ret | return ret | ||
Line 767: | Line 766: | ||
return nil | return nil | ||
end | end | ||
if docTitle.exists then | if docTitle.exists then | ||
-- /doc exists; link to it. | -- /doc exists; link to it. | ||
local docLink = makeWikilink(docTitle.prefixedText) | local docLink = makeWikilink(docTitle.prefixedText) | ||
local editDisplay = message('edit-link-display') | local editDisplay = message('edit-link-display') | ||
local editLink = | local editLink = makeWikilink("Special:EditPage/" .. docTitle.prefixedText, editDisplay) | ||
local historyDisplay = message('history-link-display') | local historyDisplay = message('history-link-display') | ||
local historyLink = | local historyLink = makeWikilink("Special:PageHistory/" .. docTitle.prefixedText, historyDisplay) | ||
return message('transcluded-from-blurb', {docLink}) | |||
.. ' ' | .. ' ' | ||
.. makeToolbar(editLink, historyLink) | .. makeToolbar(editLink, historyLink) | ||
Line 783: | Line 779: | ||
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: | local createUrl = docTitle:canonicalUrl{action = 'edit', preload = message('module-preload')} | ||
local createDisplay = message('create-link-display') | local createDisplay = message('create-link-display') | ||
local createLink = makeUrlLink(createUrl, createDisplay) | local createLink = makeUrlLink(createUrl, createDisplay) | ||
return message('create-module-doc-blurb', {createLink}) | |||
.. '<br />' | .. '<br />' | ||
end | end | ||
end | end | ||
Line 834: | Line 829: | ||
local sandboxDisplay = message('sandbox-link-display') | local sandboxDisplay = message('sandbox-link-display') | ||
local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay) | local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay) | ||
local sandboxEditDisplay = message('sandbox-edit-link-display') | local sandboxEditDisplay = message('sandbox-edit-link-display') | ||
local sandboxEditLink = | local sandboxEditLink = makeWikilink("Special:EditPage/" .. sandboxPage, sandboxEditDisplay) | ||
local compareUrl = env.compareUrl | local compareUrl = env.compareUrl | ||
local compareLink | local compareLink | ||
Line 851: | Line 845: | ||
sandboxPreload = message('template-sandbox-preload') | sandboxPreload = message('template-sandbox-preload') | ||
end | end | ||
local sandboxCreateUrl = sandboxTitle: | local sandboxCreateUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = sandboxPreload} | ||
local sandboxCreateDisplay = message('sandbox-create-link-display') | local sandboxCreateDisplay = message('sandbox-create-link-display') | ||
local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay) | local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay) | ||
local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)}) | local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)}) | ||
local mirrorPreload = message('mirror-link-preload') | local mirrorPreload = message('mirror-link-preload') | ||
local mirrorUrl = sandboxTitle: | local mirrorUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = mirrorPreload, summary = mirrorSummary} | ||
if subjectSpace == 828 then | if subjectSpace == 828 then | ||
mirrorUrl = sandboxTitle: | mirrorUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = templateTitle.prefixedText, summary = mirrorSummary} | ||
end | end | ||
local mirrorDisplay = message('mirror-link-display') | local mirrorDisplay = message('mirror-link-display') | ||
Line 868: | Line 862: | ||
local testcasesDisplay = message('testcases-link-display') | local testcasesDisplay = message('testcases-link-display') | ||
local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay) | local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay) | ||
local testcasesEditUrl = testcasesTitle: | local testcasesEditUrl = testcasesTitle:canonicalUrl{action = 'edit'} | ||
local testcasesEditDisplay = message('testcases-edit-link-display') | local testcasesEditDisplay = message('testcases-edit-link-display') | ||
local testcasesEditLink = | local testcasesEditLink = makeWikilink("Special:EditPage/" .. testcasesPage, testcasesEditDisplay) | ||
-- for Modules, add testcases run link if exists | -- for Modules, add testcases run link if exists | ||
if testcasesTitle.contentModel == "Scribunto" and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then | if testcasesTitle.contentModel == "Scribunto" and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then | ||
Line 886: | Line 880: | ||
testcasesPreload = message('template-testcases-preload') | testcasesPreload = message('template-testcases-preload') | ||
end | end | ||
local testcasesCreateUrl = testcasesTitle: | local testcasesCreateUrl = testcasesTitle:canonicalUrl{action = 'edit', preload = testcasesPreload} | ||
local testcasesCreateDisplay = message('testcases-create-link-display') | local testcasesCreateDisplay = message('testcases-create-link-display') | ||
local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay) | local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay) | ||
Line 973: | Line 967: | ||
end | end | ||
local subpage = title.subpageText | local subpage = title.subpageText | ||
if message('display-strange-usage-category', nil, 'boolean') | if message('display-strange-usage-category', nil, 'boolean') | ||
and ( | and ( | ||
Line 980: | Line 973: | ||
) | ) | ||
then | then | ||
return makeCategoryLink(message('strange-usage-category')) | |||
end | end | ||
return | return '' | ||
end | end | ||
return p | return p |