Module:Hatnote: Difference between revisions

212 bytes added ,  10 years ago
split out the namespace-detecting part of formatLink to a new function
(split out the namespace-detecting part of formatLink to a new function)
Line 35:
-- 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 nsidnsTable = mw.site.namespaces[namespace].id
if nsTable then
return nsTable.id
end
end
return 0
end
 
local function formatLink(link, display)
Line 45 ⟶ 59:
-- colon trick for categories and files, as otherwise category links
-- categorise the page and file links display the file.
local namespace = findNamespaceId(link:match('^(.-):')
local colon
if namespace and== 6 or mw.site.namespaces[namespace] == 14 then
colon = ':'
-- The start of the link is a valid namespace name; check whether it is
else
-- a category or a file.
colon = colon or ''
local nsid = mw.site.namespaces[namespace].id
if nsid == 6 or nsid == 14 then
colon = ':'
end
end
colon = colon or ''
 
-- Find the display value.
Anonymous user