Module:Documentation: Difference between revisions

get rid of the env:grab function
(use the err function for all the errors)
(get rid of the env:grab function)
Line 175:
local envFunc = envFuncs[key]
if envFunc then
local success, val = envFuncpcall(envFunc)
env[key]if =success valthen
env[key] = val -- Memoise the value.
return val
else
return nilend
end
return retnil
end
})
Line 231 ⟶ 232:
local title = env.title
local subpage = title.subpageText
local ret
if subpage == message('sandboxSubpage', 'string') or subpage == message('testcasesSubpage', 'string') then
ret =return title.basePageTitle
else
ret =return title
end
if not ret then
error(message('titleArgError', 'string', {titleArg}))
end
return ret
end
 
Line 265 ⟶ 261:
function envFuncs.sandboxTitle()
-- Title object for the /sandbox subpage.
local titleArg =return mw.title.new(env.docpageRoot .. '/' .. message('sandboxSubpage', 'string'))
local title = mw.title.new(titleArg)
if not title then
error(message('titleArgError', 'string', {titleArg}))
end
return title
end
function envFuncs.testcasesTitle()
-- Title object for the /testcases subpage.
local titleArg =return mw.title.new(env.docpageRoot .. '/' .. message('testcasesSubpage', 'string'))
local title = mw.title.new(titleArg)
if not title then
error(message('titleArgError', 'string', {titleArg}))
end
return title
end
function envFuncs.printTitle()
-- Title object for the /Print subpage.
local titleArg =return mw.title.new(env.templatePage .. '/' .. message('printSubpage', 'string'))
local title = mw.title.new(titleArg)
if not title then
error(message('titleArgError', 'string', {titleArg}))
end
return title
end
function env:grab(key)
local success, val = pcall(function() return self[key] end)
return success, val
end
 
Line 381 ⟶ 357:
local data = {}
-- Get title objects.
local titleSuccess, title = env:grab('.title')
data. local docTitle = env.docTitle
if titleSuccess then
if not title or not docTitle then
data.title = title
return titlenil
else
return err(title)
end
local docTitleSuccess, docTitle = env:grab('docTitle')
if docTitleSuccess then
data.docTitle = docTitle
else
return err(docTitle)
end
-- View, display, edit, and purge links if /doc exists.
Line 433 ⟶ 402:
function p.makeStartBoxData(args, env, links)
local subjectSpace = env.subjectSpace
if not retsubjectSpace then
return titlenil
end
local data = {}
Line 506 ⟶ 478:
function p._content(args, env)
-- Get the /doc title object
local success, docTitle = env:grab('.docTitle')
if not successdocTitle then
return titlenil
return err(docTitle) -- docTitle is an error message
end
-- Get the documentation content.
Line 532 ⟶ 504:
-- Get environment data.
local subjectSpace = env.subjectSpace
local success, docTitle = env:grab('.docTitle')
if not successsubjectSpace or not docTitle then
return err(docTitle) -- Error messagenil
end
Line 594 ⟶ 566:
function p.makePrintBlurb(args, env)
-- Get the /Print title object
local success, printTitle = env:grab('.printTitle')
if not successprintTitle then
return err(printTitle) -- Error messagenil
end
-- Make the print blurb.
Line 613 ⟶ 585:
function p.makeSubpagesBlurb(args, env)
-- Get the template title object
local success, templateTitle = env:grab('.templateTitle')
if not successtemplateTitle then
return success, valnil
return err(templateTitle) -- Error message.
end
-- Make the subpages blurb.
Line 634 ⟶ 606:
function p.makeCategoriesBlurb(args, env)
-- Get the title object.
local success, docTitle = env:grab('.docTitle')
if not successdocTitle then
return err(docTitle) -- Error messagenil
end
-- Make the blurb.
Line 645 ⟶ 617:
function p.makeDocPageBlurb(args, env)
-- Get the title object.
local success, docTitle = env:grab('.docTitle')
if not successdocTitle then
return err(docTitle) -- Error messagenil
end
-- Make the blurb.
Line 680 ⟶ 652:
local templatePage = env.templatePage
-- Get title objects.
local templateSuccess, templateTitle = env:grab('.templateTitle')
local sandboxSuccess, sandboxTitle = env:grab('.sandboxTitle')
if not templateSuccess then
local testcasesSuccess, testcasesTitle = env:grab('.testcasesTitle')
return err(templateTitle)
if not templateTitle or not sandboxTitle or not testcasesTitle then
end
return err(title)nil
local sandboxSuccess, sandboxTitle = env:grab('sandboxTitle')
if not sandboxSuccess then
return err(sandboxTitle)
end
local testcasesSuccess, testcasesTitle = env:grab('testcasesTitle')
if not testcasesSuccess then
return err(testcasesTitle)
end
-- Make links.
Anonymous user