Module:Section link/sandbox: Difference between revisions

Content deleted Content added
just to be safe
implementing display parameter handling in sections > 1 branch; consolidating implementations for <=1 and >1 branches in new function
Line 21:
title = mw.ustring.gsub(title, "%b<>", "")
return mw.title.new(title).prefixedText
end
 
local function makeLHS(page, options, title, middle)
local lhs = middle
local isShowingPage =if not options.nopage then
page = page or title.prefixedText
if options.display and options.display ~= '' then
if normalizeTitle(options.display) == normalizeTitle(page) then
displaylhs = options.display .. ' ' .. displaylhs
else
error(string.format(
'Display title "%s" was ignored since it is ' ..
"not equivalent to the page's actual title",
options.display
), 0)
end
else
displaylhs = page .. ' ' .. displaylhs
end
end
return lhs
end
 
Line 48 ⟶ 69:
 
-- Make the link(s).
local isShowingPage = not options.nopage
if #sections <= 1 then
local linkPage = page or ''
local section = sections[1] or 'Notes'
local display = makeLHS(page, options, title, '§&nbsp;') .. section
if isShowingPage then
page = page or title.prefixedText
if options.display and options.display ~= '' then
if normalizeTitle(options.display) == normalizeTitle(page) then
display = options.display .. ' ' .. display
else
error(string.format(
'Display title "%s" was ignored since it is ' ..
"not equivalent to the page's actual title",
options.display
), 0)
end
else
display = page .. ' ' .. display
end
end
return makeSectionLink(linkPage, section, display)
else
Line 90 ⟶ 94:
 
-- Add the intro text.
local introret = makeLHS(page, options, title, '§§&nbsp;') .. ret
if isShowingPage then
intro = (page or title.prefixedText) .. ' ' .. intro
end
ret = intro .. ret
 
return ret