Modul:Category handler/doc

Izvor: Hrvatska internetska enciklopedija
Skoči na:orijentacija, traži
Ovo je dokumentacijska podstranica za Modul:Category handler.
Sadrži informacije o uporabi, kategorijama i ostalom sadržaju koji nije dio izvorne stranice.

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

Kad ne koristiti ovaj modul

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

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

(bez prostora razgovor i other)
Namespace Aliases
main
suradnik user, suradnica
hrvatska internetska enciklopedija project
datoteka file, slika, image
mediawiki
predložak template
pomoć help
kategorija category
accesscontrolgroup
modul module
gadget
gadget definition

Primjeri korištenja

Modul prima dva ili više parametara.

Općeniti primjer

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

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