Changes

Jump to: navigation, search

Module:Documentation

216 bytes removed, 19:10, 15 January 2014
finish moving end box code into sub-functions
function p._endBox(args, env)
local title = env-- This function generates the end box (also known as the link box). -- Get environment data.title
local subjectSpace = env.subjectSpace
  -- Argument processing in {{documentation}}. local content = args.content local linkBox = args['link box'] -- So "link box=off" works. local docspace = env.docspace local docname = args[1] -- Other docnamesuccess, if fed. local templatePage docTitle = env.templatePage  -- Argument processing in {{documentation/end box2}}. local docpageRoot = :grab(docspace or title.nsText) .. ':docTitle' .. (templatePage or title.text) local docpage if docname not success then docpage = docname else docpage = docpageRoot .. '/' .. return docTitle -- Error message('docSubpage', 'string')
end
local docTitle = mw.title.new(docpage) local docExist = docTitle.exists local docnameFed = args[1] and true local sandbox = docpageRoot .. '/' .. message('sandboxSubpage', 'string') local testcases = docpageRoot .. '/' .. message('testcasesSubpage', 'string') templatePage = title.nsText .. ':' .. templatePage -- Output from {{documentation/end box}} -- First, check 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. if linkBox == 'off' or not (docExist docTitle.exists or subjectSpace == 2 or subjectSpace == 828 or subjectSpace == 10 ) then
return nil
end
text = text .. p.makeEndBoxExperimentBlurb(args, env)
text = text .. '<br />'
-- 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
local docPathLink = makeWikilink(docpage, message('docLinkDisplay', 'string')) text = text .. message('addCategoriesBlurb'p.makeCategoriesBlurb(args, env) or 'string', {docPathLink})
end
-- Show the "subpages" link.
if subjectSpace ~= 6 then -- Don't show the link in file space.
local pagetype if subjectSpace == 10 then pagetype = message('templatePagetype', 'string') elseif subjectSpace == 828 then pagetype = message('modulePagetype', 'string') else pagetype = message('defaultPagetype', 'string') end text = text .. ' ' .. makeWikilink('Special:PrefixIndex/' .. templatePage p.. '/', messagemakeSubpagesBlurb('subpagesLinkDisplay'args, env) or 'string', {pagetype}))
end
-- Show the "print" link if it exists.
local printPage printBlurb = templatePage .. '/' .p. messagemakePrintBlurb('printSubpage'args, 'string') local printTitle = mw.title.new(printPageenv) if printTitle.exists printBlurb then local printLink = makeWikilink(printPage, message('printLinkDisplay', 'string')) text = text .. '<br />' .. message('printBlurb', 'string', {printLink}) .. (message('displayPrintCategory', 'boolean') and makeCategoryLink(message('printCategory', 'string')) or '')
end
end
-- Return the fmbox output.
return messageBox.main('fmbox', fmargs)
end
 
function p.makePrintBlurb(args, env)
-- Get the /Print title object
local success, printTitle = env:grab('printTitle')
if not success then
return printTitle -- Error message
end
-- Make the print blurb.
local ret
if printTitle.exists then
local printLink = makeWikilink(printTitle.prefixedText, message('printLinkDisplay', 'string'))
ret = message('printBlurb', 'string', {printLink})
local displayPrintCategory = message('displayPrintCategory', 'boolean')
if displayPrintCategory then
ret = ret .. makeCategoryLink(message('printCategory', 'string'))
end
end
return ret
end
 
function p.makeSubpagesBlurb(args, env)
-- Get the template title object
local success, templateTitle = env:grab('templateTitle')
if not success then
return templateTitle -- Error message.
end
-- Make the subpages blurb.
local pagetype
if subjectSpace == 10 then
pagetype = message('templatePagetype', 'string')
elseif subjectSpace == 828 then
pagetype = message('modulePagetype', 'string')
else
pagetype = message('defaultPagetype', 'string')
end
return makeWikilink(
'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/',
message('subpagesLinkDisplay', 'string', {pagetype})
)
end
Anonymous user

Navigation menu