Modul:Namespace detect
Lua error: Internal error: The interpreter exited with status 127.
Script error: Lua error: Internal error: The interpreter exited with status 127.
-- Modul:Namespace_detect
-- Minimalna, stabilna verzija kompatibilna s MediaWiki
local p = {}
local getArgs = require('Module:Arguments').getArgs
-- Mapiranje namespace ID → ime
local ns = mw.site.namespaces
-- Funkcija: vrati namespace ID
function p._namespaceId(title)
if not title then return nil end
local t = mw.title.new(title)
if not t then return nil end
return t.namespace
end
-- Funkcija: vrati namespace ime (lokalizirano)
function p._namespaceName(title)
local id = p._namespaceId(title)
if not id then return nil end
return ns[id].name
end
-- Funkcija: vrati "glavni", "datoteka", "predložak", itd.
function p._namespaceCanonical(title)
local id = p._namespaceId(title)
if not id then return nil end
return ns[id].canonicalName
end
-- Funkcija: provjera je li stranica u glavnom imenskom prostoru
function p._isMain(title)
return p._namespaceId(title) == 0
end
-- Funkcija: provjera je li stranica u imenskom prostoru predložaka
function p._isTemplate(title)
return p._namespaceId(title) == 10
end
-- Funkcija: provjera je li stranica u imenskom prostoru modula
function p._isModule(title)
return p._namespaceId(title) == 828
end
-- Glavna funkcija za #invoke
function p.namespace(frame)
local args = getArgs(frame)
local title = args[1] or mw.title.getCurrentTitle().fullText
return p._namespaceName(title) or ''
end
-- Minimalna funkcija dodata 15/04/2026
function p.main(frame)
local args = frame:getParent().args
local title = args.page or mw.title.getCurrentTitle().fullText
if args.file then
return p._namespaceId(title) == 6 and args.file or ''
end
if args.other then
return p._namespaceId(title) ~= 6 and args.other or ''
end
return ''
end
-- Minimalna funkcija dodata 15/04/2026
function p.table(frame)
local args = frame:getParent().args
local showTalk = args.talk == 'yes'
local out = '{| class="wikitable"\n! ID !! Ime !! Kanonsko ime\n'
for id, data in pairs(mw.site.namespaces) do
if showTalk or not data.isTalk then
out = out .. '|-\n| ' .. id .. ' || ' .. (data.name or '') .. ' || ' .. (data.canonicalName or '') .. '\n'
end
end
out = out .. '|}'
return out
end
return p