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 20: | Line 20: | ||
checkType('_main', 1, page, 'string', true) | checkType('_main', 1, page, 'string', true) | ||
checkType('_main', 3, options, 'table', true) | checkType('_main', 3, options, 'table', true) | ||
if | if type(sections) == 'string' then | ||
sections = {sections} | sections = {sections} | ||
elseif type(sections) ~= 'table' then | elseif type(sections) ~= 'table' then | ||
error(string.format( | error(string.format( | ||
"type error in argument #2 to '_main' | "type error in argument #2 to '_main' (string or table expected, got %s)", | ||
type(sections) | type(sections) | ||
), 2) | ), 2) | ||
Line 42: | Line 39: | ||
-- Make the link(s). | -- Make the link(s). | ||
local isShowingPage = not options.nopage | local isShowingPage = not options.nopage | ||
if #sections | if #sections == 1 then | ||
local linkPage = page or '' | local linkPage = page or '' | ||
local section = sections[1] or 'Notes' | local section = sections[1] or 'Notes' | ||
Line 64: | Line 61: | ||
return makeSectionLink(linkPage, section, display) | return makeSectionLink(linkPage, section, display) | ||
else | else | ||
-- Multiple sections. First, | -- Multiple sections. First, validate the sections table. | ||
if #sections < 1 then | |||
error('at least one section must be specified', 2) | |||
end | |||
-- Make the list of links. | |||
local ret = {} | local ret = {} | ||
for i, section in ipairs(sections) do | for i, section in ipairs(sections) do |