Modul:Namespace detect: razlika između inačica
Prijeđi na navigaciju
Prijeđi na pretraživanje
Stvorena nova stranica sa sadržajem: »--[[ -------------------------------------------------------------------------------- --...«. |
mNema sažetka uređivanja |
||
| Redak 1: | Redak 1: | ||
-- | -- Modul:Namespace_detect | ||
-- | -- Minimalna, stabilna verzija kompatibilna s MediaWiki | ||
local | local p = {} | ||
local | 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 | end | ||
function p. | -- 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 | end | ||
-- | -- Funkcija: vrati "glavni", "datoteka", "predložak", itd. | ||
function p. | function p._namespaceCanonical(title) | ||
local id = p._namespaceId(title) | |||
if not id then return nil end | |||
return ns[id].canonicalName | |||
end | end | ||
-- Funkcija: provjera je li stranica u glavnom imenskom prostoru | |||
function p._isMain(title) | |||
return p._namespaceId(title) == 0 | |||
end | end | ||
function p. | -- Funkcija: provjera je li stranica u imenskom prostoru predložaka | ||
function p._isTemplate(title) | |||
return p._namespaceId(title) == 10 | |||
end | end | ||
function p. | -- Funkcija: provjera je li stranica u imenskom prostoru modula | ||
function p._isModule(title) | |||
return p._namespaceId(title) == 828 | |||
end | end | ||
function p. | -- 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 | end | ||
return p | return p | ||
Posljednja izmjena od 12. siječanj 2026. u 08:47
Dokumentacija modula
| Lua logo | Koristi Lua modul: |
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