Module:Categoreyes
Notule d' esplikêyes
Ci module ci est eployî pa d' ôtes modules po radjouter pus åjheymint des categoreyes dins l' wikicôde k' est prodût.
Tcherdjaedje
Po poleur eployî ci module ci dins èn ôte, i l' fåt tcherdjî :
cat = require("Module:Categoreyes")
Fonccions po les modules
p.store(title, follow_redirect, ns)
- Radjoute ene categoreye dins l' memwere do programe, k' ene seule feye.
tite
c' est l' tite del categoreye (sins l' betchete « Categoreye: ») Asteme : li tite est sinsibe ås grandes et pititès letes : « mots » n' est nén l' minme ki « Mots »follow_redirect
avoutrue
u bénfalse
(prémetowe valixhance) po shuve (u nén) li rdjiblaedjens
c' est l' limero d' l' espåce di lomaedje po n' radjouter li categoreye ki dins çti-la
cat.store("Mots ki sont dins E1") -- mete li categoreye « Mots ki sont dins E1 » el memwere
cat.store("Mots ki sont dins E1", true) -- mete li categoreye « Mots ki sont dins l' motî Haust » el memwere, paski c' est on redjiblaedje
cat.store("Mots ki sont dins E1", true, 0) -- mete li categoreye « Mots ki sont dins l' motî Haust » el memwere si c' est dispoy li mwaisse espåce k' on fwait l' dimande
p.clear()
- Disface totes les categoreyes del memwere do programe.
p.get_all()
- Dene totes les categoreyes del memwere do programe sicrîtes e wikicôde, pus vude el memwere. Asteme : a-z eployî cwand gn a pus d' categoreye a radjouter.
p.is_stored(title)
- Dene
true
si l' categoreye est ddja dins l' memwere u bénfalse
dins l' cas contråve. Asteme : sifollow_redirect
esttrue
c' est li rdjiblaedje k' est dins l' memwere. cat.store("Mots ki sont dins E1", true) p.is_stored("Mots ki sont dins E1") -- false p.is_stored("Mots ki sont dins l' motî Haust") -- true
Egzimpe
Côde k' on metreut dins Module:Egzimpe
local p = {}
local cat = require("Module:Categoreyes")
function p.foo()
cat.store("C")
cat.store("B") -- categoreye ddja dins l' memwere, nén radjouteye
return "Hello world!"
end
function p.main()
cat.store("A")
cat.store("B")
local wikitext = p.foo() .. cat.get_all()
cat.store("D") -- categoreye metowe dins l' memwere mins nén radjouteye dins l' wikicôde paski cat.get_all() a ddja stî houkî
return wikitext
end
return p
Çou ki dinreut avou {{#invoke:Egzimpe|main}}
Hello world![[Categoreye:A]][[Categoreye:B]][[Categoreye:C]]
-- This module helps to manipulate categories
local p = {}
local NS = mw.site.namespaces.Category.name
local categories = {}
function p.store(title, follow_redirect, ns, if_exists)
-- only for specified NS (number)
if ns ~= nil
and ns ~= mw.title.getCurrentTitle().namespace then
return
end
title = mw.title.makeTitle(NS, title)
-- only if category exists
if not title.exists and if_exists then
return
end
-- follow A redirect
if follow_redirect and title.isRedirect then
title = title.redirectTarget.text
else
title = title.text
end
if not p.is_stored(title) then
table.insert(categories, title)
end
end
function p.clear()
categories = {}
end
function p.get_all()
local cats = ""
for k, v in ipairs(categories) do
cats = cats .. "[["..NS..":"..v.."]]"
end
-- do not add the same categories several times
-- for multiple calling of get_all
p.clear()
return cats
end
function p.is_stored(title)
for k, v in ipairs(categories) do
if v == title then
return true
end
end
return false
end
return p