Modul:Namespace detect: razlika između inačica

Izvor: Hrvatska internetska enciklopedija
Prijeđi na navigaciju Prijeđi na pretraživanje
mNema sažetka uređivanja
mNema sažetka uređivanja
Redak 52: Redak 52:
     return p._namespaceName(title) or ''
     return p._namespaceName(title) or ''
end
end
-- Minimalna funkcija dodata 15/04/2026


function p.main(frame)
function p.main(frame)
Redak 66: Redak 68:


     return ''
     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
end


return p
return p

Inačica od 15. travanj 2026. u 10:17

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