Modul:Namespace detect: Unterschied zwischen den Versionen
add support for canonical namespace names
(new function for creating a table of possible input parameters, a couple of portability fixes) |
(add support for canonical namespace names) |
||
| Zeile 112: | Zeile 112: | ||
for nsid, ns in pairs( mw.site.namespaces ) do | for nsid, ns in pairs( mw.site.namespaces ) do | ||
local nsname = mw.ustring.lower( ns.name ) | local nsname = mw.ustring.lower( ns.name ) | ||
local canonicalName = mw.ustring.lower( ns.canonicalName ) | |||
-- Check the namespace, and ignore main namespace values. | -- Check the namespace, and ignore main namespace values. | ||
if nsid ~= 0 and nsname == namespace then | if nsid ~= 0 and nsname == namespace then | ||
-- Check local namespace name. | |||
if args[nsname] then | if args[nsname] then | ||
return args[nsname] | return args[nsname] | ||
elseif args[canonicalName] then | |||
return args[canonicalName] | |||
else | else | ||
-- Check alias names. | -- Check alias names. | ||
| Zeile 179: | Zeile 183: | ||
local name = '<code>' .. mw.ustring.lower( ns.name ) .. '</code>' | local name = '<code>' .. mw.ustring.lower( ns.name ) .. '</code>' | ||
local aliases = {} | local aliases = {} | ||
if ns.canonicalName ~= ns.name then | |||
table.insert( aliases, '<code>' .. mw.ustring.lower( ns.canonicalName ) .. '</code>' ) | |||
end | |||
for _, v in ipairs( ns.aliases ) do | for _, v in ipairs( ns.aliases ) do | ||
table.insert( aliases, '<code>' .. mw.ustring.lower(v) .. '</code>' ) | table.insert( aliases, '<code>' .. mw.ustring.lower(v) .. '</code>' ) | ||