Module:Section link/sandbox: Difference between revisions

Content deleted Content added
use require('strict') instead of require('Module:No globals')
copy latest
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
if not options.nopage then
page = page or title.prefixedText
if options.display and options.display ~= '' then
if normalizeTitle(options.display) == normalizeTitle(page) then
lhs = options.display .. ' ' .. lhs
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
lhs = page .. ' ' .. lhs
end
end
return lhs
end
 
Line 69 ⟶ 48:
 
-- Make the link(s).
iflocal isShowingPage = not options.nopage then
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
lhs display = options.display .. ' ' .. lhsdisplay
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
lhs display = page .. ' ' .. lhsdisplay
end
end
return makeSectionLink(linkPage, section, display)
else
Line 94 ⟶ 90:
 
-- Add the intro text.
retlocal intro = makeLHS(page, options, title, '§§&nbsp;') .. ret
if isShowingPage then
intro = (page or title.prefixedText) .. ' ' .. intro
end
ret = intro .. ret
 
return ret