Modul:Hatnote: Unterschied zwischen den Versionen
K
Reverted edits by Mr. Stradivarius (talk) to last version by JJMC89
(add "italicizepage" and "italicizesection" options to formatLink, per protected edit request by User:Psiĥedelisto, with edits by myself) |
K (Reverted edits by Mr. Stradivarius (talk) to last version by JJMC89) |
||
Zeile 9: | Zeile 9: | ||
local libraryUtil = require('libraryUtil') | local libraryUtil = require('libraryUtil') | ||
local checkType = libraryUtil.checkType | local checkType = libraryUtil.checkType | ||
local mArguments -- lazily initialise [[Module:Arguments]] | local mArguments -- lazily initialise [[Module:Arguments]] | ||
local yesno -- lazily initialise [[Module:Yesno]] | local yesno -- lazily initialise [[Module:Yesno]] | ||
Zeile 57: | Zeile 56: | ||
local ret = {} | local ret = {} | ||
for i, page in ipairs(pages) do | for i, page in ipairs(pages) do | ||
ret[i] = p._formatLink | ret[i] = p._formatLink(page) | ||
end | end | ||
return ret | return ret | ||
Zeile 71: | Zeile 70: | ||
local link = t[1] | local link = t[1] | ||
local display = t[2] | local display = t[2] | ||
links[i] = p._formatLink | links[i] = p._formatLink(link, display) | ||
end | end | ||
return links | return links | ||
Zeile 131: | Zeile 130: | ||
function p.formatLink(frame) | function p.formatLink(frame) | ||
local args = getArgs(frame) | local args = getArgs(frame) | ||
local link = args[1] | local link = args[1] | ||
local display = args[2] | |||
if not link then | if not link then | ||
return p.makeWikitextError( | return p.makeWikitextError( | ||
Zeile 142: | Zeile 140: | ||
) | ) | ||
end | end | ||
return p._formatLink | return p._formatLink(link, display) | ||
end | end | ||
function p._formatLink(link, display) | |||
checkType('_formatLink', 1, link, 'string') | |||
checkType('_formatLink', 2, display, 'string', true) | |||
-- Remove the initial colon for links where it was specified manually. | |||
-- | |||
link = removeInitialColon(link) | link = removeInitialColon(link) | ||
-- Find whether a faux display value has been added with the {{!}} magic | -- Find whether a faux display value has been added with the {{!}} magic | ||
-- word. | -- word. | ||
local prePipe, | if not display then | ||
local prePipe, postPipe = link:match('^(.-)|(.*)$') | |||
link = prePipe or link | |||
display = postPipe | |||
end | |||
-- Find the | -- Find the display value. | ||
if not display then | if not display then | ||
local page = | local page, section = link:match('^(.-)#(.*)$') | ||
if page then | |||
if | display = page .. ' § ' .. section | ||
display = | |||
end | end | ||
end | end | ||
return string.format('[[:%s|%s]]', | -- Assemble the link. | ||
if display then | |||
return string.format( | |||
'[[:%s|%s]]', | |||
string.gsub(link, '|(.*)$', ''), --display overwrites manual piping | |||
display | |||
) | |||
else | |||
return string.format('[[:%s]]', link) | |||
end | |||
end | end | ||