Module:Category handler/shared: Difference between revisions
From the Croc Wiki, the Croc encyclopedia
Jump to navigationJump to search
Content added Content deleted
(make this output either true or false, and switch indentation to tabs) |
m (6 revisions imported from loginwiki:Module:Category_handler/shared) |
||
(14 intermediate revisions by 10 users not shown) | |||
Line 2: | Line 2: | ||
-- and its submodules. |
-- and its submodules. |
||
local p = {} |
|||
⚫ | |||
⚫ | |||
for i, pattern in ipairs(blacklist) do |
for i, pattern in ipairs(blacklist) do |
||
local match = mw.ustring.match(page, pattern) |
local match = mw.ustring.match(page, pattern) |
||
Line 12: | Line 14: | ||
end |
end |
||
function p.getParamMappings(useLoadData) |
|||
⚫ | |||
local dataPage = 'Module:Namespace detect/data' |
|||
matchesBlacklist = matchesBlacklist |
|||
if useLoadData then |
|||
} |
|||
return mw.loadData(dataPage).mappings |
|||
else |
|||
return require(dataPage).mappings |
|||
end |
|||
end |
|||
function p.getNamespaceParameters(titleObj, mappings) |
|||
-- We don't use title.nsText for the namespace name because it adds |
|||
-- underscores. |
|||
local mappingsKey |
|||
if titleObj.isTalkPage then |
|||
mappingsKey = 'talk' |
|||
else |
|||
mappingsKey = mw.site.namespaces[titleObj.namespace].name |
|||
end |
|||
mappingsKey = mw.ustring.lower(mappingsKey) |
|||
return mappings[mappingsKey] or {} |
|||
end |
|||
⚫ |
Latest revision as of 14:36, February 4, 2022
Documentation for this module may be created at Module:Category handler/shared/doc
-- This module contains shared functions used by [[Module:Category handler]]
-- and its submodules.
local p = {}
function p.matchesBlacklist(page, blacklist)
for i, pattern in ipairs(blacklist) do
local match = mw.ustring.match(page, pattern)
if match then
return true
end
end
return false
end
function p.getParamMappings(useLoadData)
local dataPage = 'Module:Namespace detect/data'
if useLoadData then
return mw.loadData(dataPage).mappings
else
return require(dataPage).mappings
end
end
function p.getNamespaceParameters(titleObj, mappings)
-- We don't use title.nsText for the namespace name because it adds
-- underscores.
local mappingsKey
if titleObj.isTalkPage then
mappingsKey = 'talk'
else
mappingsKey = mw.site.namespaces[titleObj.namespace].name
end
mappingsKey = mw.ustring.lower(mappingsKey)
return mappings[mappingsKey] or {}
end
return p