Modul:Hatnote: Unterschied zwischen den Versionen
split out the namespace-detecting part of formatLink to a new function
(add Template:Further) |
(split out the namespace-detecting part of formatLink to a new function) |
||
| Zeile 35: | Zeile 35: | ||
-- Helper functions | -- Helper functions | ||
-------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ||
local function findNamespaceId(link) | |||
-- Finds the namespace id (namespace number) of a link or a pagename. This | |||
-- function will not work if the link is enclosed in double brackets or if | |||
-- the link has been escaped with the colon trick. | |||
local namespace = link:match('^(.-):') | |||
if namespace then | |||
local nsTable = mw.site.namespaces[namespace] | |||
if nsTable then | |||
return nsTable.id | |||
end | |||
end | |||
return 0 | |||
end | |||
local function formatLink(link, display) | local function formatLink(link, display) | ||
| Zeile 45: | Zeile 59: | ||
-- colon trick for categories and files, as otherwise category links | -- colon trick for categories and files, as otherwise category links | ||
-- categorise the page and file links display the file. | -- categorise the page and file links display the file. | ||
local namespace = link | local namespace = findNamespaceId(link) | ||
local colon | local colon | ||
if namespace | if namespace == 6 or namespace == 14 then | ||
colon = ':' | |||
else | |||
colon = '' | |||
end | end | ||
-- Find the display value. | -- Find the display value. | ||