Modul:Namespace detect

Izvor: Hrvatska internetska enciklopedija
Inačica 640267 od 12. siječanj 2026. u 08:47 koju je unio WikiSysop (razgovor | doprinosi)
(razl) ←Starija inačica | vidi trenutačnu inačicu (razl) | Novija inačica→ (razl)
Prijeđi na navigaciju Prijeđi na pretraživanje
Dokumentacija modula

Modul dopušta ispis teksta ovisno o imenskom prostoru u kojem je modul pozvan.

Modul sadrži Lua implementaciju predloška {{namespace detect}}.

Korištenje

{{#invoke: Namespace detect | main
| main              = <!-- tekst koji se vraća ako je modul pozvan u glavnom imenskom prostoru -->
| talk              = <!-- tekst koji se vraća ako je modul pozvan u bilo kojem
			razgovornom prostoru (Razgovor sa suradnikom, Razgovor  o predlošku, itd) -->

<!-- tekst koji se vraća za pojedine imenske prostore -->
| main		=
| suradnik  	=
| wikipedija	=
| datoteka	=
| mediawiki	=
| predložak	=
| pomoć		=
| kategorija	=
| portal	=
| dodatak	=
| nacrt		=
| modul		=
| gadget	=
| gadget definition =

| other             = <!-- tekst koji se vraća za ostale (nenavedene) imenske prostore -->
| demopage          = <!-- stranica za koju pronalazimo imenski postor, ako nije trenutna stranica -->
| demospace         = <!-- imenski prostor za koji pozivamo predložak (zaobilazi stvarni prostor) -->

| subjectns         = <!-- ako je postavljeno na "yes", tretira razgovorne stranice kao dio imenskog prostora sadržaja 
			(Razgovor o predlošku = Predložak) -->
}}

Imenski prostori

Moguće vrijednosti za imenske prostore sadržaja su sljedeće:

Script error: The function "table" does not exist.

Funkcija tablice

Koristite sljedeći kod za prikaz tablice imenskih prostora:

{{#invoke:Namespace detect|table|talk=yes}}

Parametar |talk=yes pokazuje i imenski prostor razgovora.

Konfiguracijska datoteka modula nalazi se na Modul:Namespace detect/config.

Tehničke napomene

Modul koristi podatkovni obrazac na Module:Namespace detect/data. Ta se stranica učitava funkcijom mw.loadData, što joj omogućava procesiranje jednom po sadržajnoj stranici umjesto jednom po pozivu modula (#invoke). Time se poboljšavaju preformanse rada modula.


-- 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