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 112: | Line 112: | ||
-- Doing this in the loop because of a bug in [[Module:Arguments]] | -- Doing this in the loop because of a bug in [[Module:Arguments]] | ||
-- when using pairs with deleted arguments. | -- when using pairs with deleted arguments. | ||
page = | page = v | ||
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 |