Modul:Namespace detect

Izvor: Hrvatska internetska enciklopedija
Inačica 640267 od 12. siječanj 2026. u 08:47 koju je unio WikiSysop (razgovor | doprinosi)
Prijeđi na navigaciju Prijeđi na pretraživanje

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

return p