Modul:Category handler/doc
Izgled
Modul sadrži implementaciju predloška {{Category handler}}.
Ova će dokumentacija pojasniti kako koristiti modul u drugim modulima. Za korištenje u predlošcima, molim pogledajte dokumentaciju istoimenog predloška.
Korištenje iz drugih Lua modula
[uredi kôd]Kad ne koristiti ovaj modul
[uredi kôd]Ako modul treba kategorizirati samo jednu vrstu sadržaja (npr. samo datoteke, ili samo predloške), nije poželjno koristiti ovaj modul. Takvu kategorizaciju moguće je napraviti sljedećim kodom:
local title = mw.title.getCurrentTitle() -- dohvati naslov stranice
if title.nsText == 'Datoteka' then -- ako je imenski prostor naslova jednak
-- uradi nešto
end
Ako trebate zasebno kategorizirati različite vrste sadržaja, poželjno je koristiti ovaj modul.
Imenski prostori
[uredi kôd]Modul radi s imenima imenskih prostora na ovoj Wikipediji.
- glavni - glavni imenski prostor
- razgovor - sve razgovorne stranice (razgovor sa suradnikom, razgovor o predlošku, ...)
- datoteka, wikipedija, suradnik - imena ostalih imenskih prostora. Pogledajte tablicu niže za puni popis
- other - svi ostali imenski prostori koji nisu poimence navedeni
Popis imenskih prostora
[uredi kôd]- (bez prostora razgovor i other)
Imenski prostor | Aliasi |
---|---|
main
|
glavni , glavno
|
suradnik
|
user , sur , u , suradnica
|
wikipedija
|
project , wikipedia , wp
|
datoteka
|
file , dt , slika , image
|
mediawiki
|
me
|
predložak
|
template
|
pomoć
|
help , pm , h
|
kategorija
|
category , kt , ct
|
portal
|
|
dodatak
|
|
nacrt
|
draft
|
timedtext
|
|
modul
|
module , md , mod
|
Primjeri korištenja
[uredi kôd]Modul prima dva ili više parametara.
Općeniti primjer
[uredi kôd]Niže je primjer korištenja:
p = {}
local categoryHandler = require('Module:Category handler').main
function p.main( frame )
local rezultat = 'Ovaj je modul namijenjen za GIP i razgovore.'
local kategorija = categoryHandler{
glavni = '[[Kategorija:Neka kategorija1]]', -- Kategorizacija u GIP-u
razgovor = '[[Kategorija:Neka kategorija2]]', -- Kategorizacija u razgovorima
other = '[[Kategorija:Neka kategorija3]]', -- Kategorizacija u ostalim imenskim prostorima
nocat = frame.args.nocat -- kako bi "nocat=true/false" radilo
}
kategorija = kategorija or '' -- izbjegava grešku ako kategorija nije zadana
return rezultat .. kategorija
end
return p
Pojašnjenje koda:
- Uzmimo da je primjer iznad dio modula Foo. Modul Foo možemo dodati u predložak ili pojedinačne stranice pisanjem
{{#invoke:foo|main}}
.
Zbog gornjeg koda predložak ili stranice s tim modulom svrstavat će se u kategoriju Kategorija:Neka kategorija1 ako su u GIP-u, u kategoriju Kategorija:Neka kategorija2 ako su na kakvoj razgovornoj stranici ili u kategoriju Kategorija:Neka kategorija3 ako se nalaze negdje drugdje.
- U pojedinačni poziv predloška ili modula možemo staviti
|nocat=true
da se gornji vid kategorizacije ne provodi zasebno za svaki predložak ili modul.
Ista kategorija za više imenskih prostora
[uredi kôd]Ako trebamo više različitih imenskih prostora svrstati u istu kategoriju, činimo to ovako:
p = {}
local categoryHandler = require('Module:Category handler').main
function p.main( frame )
local rezultat = 'Ovaj je modul namijenjen za GIP i razgovore.'
local kategorija = categoryHandler{
glavni = '[[Kategorija:Neka kategorija1]]', -- Kategorizacija u GIP-u
[1] = '[[Kategorija:Neka kategorija2]]', -- prvi neimenovani parametar dodjeljujemo kategoriji
pomoć = 1, -- imenski prostor pomoći...
suradnik = 1, -- i imenski prostor suradnika smještaju se u kategoriju navedenu pod [1]
razgovor = '', -- bez kategorije na razgovornim stranicama
nocat = frame.args.nocat -- kako bi "nocat=true/false" radilo
}
kategorija = kategorija or '' -- izbjegava grešku ako kategorija nije zadana
return rezultat .. kategorija
end
return p