Editing Module:Section link
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 16: | Line 16: | ||
end | end | ||
function p._main(page, sections, options, title) | function p._main(page, sections, options, title, displaytitle) | ||
-- Validate input. | -- Validate input. | ||
checkType('_main', 1, page, 'string', true) | checkType('_main', 1, page, 'string', true) | ||
Line 48: | Line 48: | ||
if isShowingPage then | if isShowingPage then | ||
page = page or title.prefixedText | page = page or title.prefixedText | ||
if | if displaytitle and displaytitle ~= '' then | ||
if normalizeTitle( | if normalizeTitle(displaytitle) == normalizeTitle(page) then | ||
display = | display = displaytitle .. ' ' .. display | ||
else | else | ||
error(string.format( | error(string.format( | ||
'Display title "%s" was ignored since it is ' .. | 'Display title "%s" was ignored since it is ' .. | ||
"not equivalent to the page's actual title", | "not equivalent to the page's actual title", | ||
displaytitle | |||
), 0) | ), 0) | ||
end | end | ||
Line 106: | Line 106: | ||
-- Sort the arguments. | -- Sort the arguments. | ||
local page | local page, displaytitle | ||
local sections, options = {}, {} | local sections, options = {}, {} | ||
for k, v in pairs(args) do | for k, v in pairs(args) do | ||
Line 115: | Line 115: | ||
elseif type(k) == 'number' then | elseif type(k) == 'number' then | ||
sections[k] = v | sections[k] = v | ||
elseif k == 'display' then | |||
displaytitle = v | |||
else | else | ||
options[k] = v | options[k] = v | ||
Line 140: | Line 142: | ||
sections = compressArray(sections) | sections = compressArray(sections) | ||
return p._main(page, sections, options) | return p._main(page, sections, options, nil, displaytitle) | ||
end | end | ||
return p | return p |