Changes

Jump to navigation Jump to search
Created page with "-- This module implements {{section link}}. require('Module:No globals'); local checkType = require('libraryUtil').checkType local p = {} local function makeSectionLink(pag..."
Line 21: Line 21:  
title = mw.ustring.gsub(title, "%b<>", "")
 
title = mw.ustring.gsub(title, "%b<>", "")
 
return mw.title.new(title).prefixedText
 
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
 
end
   Line 48: Line 69:     
-- Make the link(s).
 
-- Make the link(s).
local isShowingPage = not options.nopage
   
if #sections <= 1 then
 
if #sections <= 1 then
 
local linkPage = page or ''
 
local linkPage = page or ''
 
local section = sections[1] or 'Notes'
 
local section = sections[1] or 'Notes'
local display = '§&nbsp;' .. section
+
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)
 
return makeSectionLink(linkPage, section, display)
 
else
 
else
Line 90: Line 94:     
-- Add the intro text.
 
-- Add the intro text.
local intro = '§§&nbsp;'
+
ret = makeLHS(page, options, title, '§§&nbsp;') .. ret
if isShowingPage then
  −
intro = (page or title.prefixedText) .. ' ' .. intro
  −
end
  −
ret = intro .. ret
      
return ret
 
return ret

Navigation menu