[[!meta robots="noindex, follow"]]
Til at angive et udvalg af sider, eksempelvis låste sider, sider du vil
abonnere på ændringer til, eller sider som skal udgøre en blog, anvender
wikien et PageSpec. dette er et udtryk som modsvarer et bestemt udvalg af
sider.
Det simpleste PageSpec er simpelthen en opremsning af sider med "or" imellem
("or" betyder "eller" på engelsk). Dette modsvarer eksempelvis enhver af de
tre nævnte sider:
foo or bar or baz
Mere hyppigt har du dog brug for at at at modsvare sider med noget tilfælles
i deres navne. Dette kan du udtrykke med et "glob-mønster". "*
" står for
enhver del af sidenavnet, og "?
" for ethvert enkeltbogstav i
sidenavnet. Så dette modsvarer alle sider om musik, og alle
[[UnderSider||SubPage]] til sandkassen, men ikke selve sandkasse-siden:
*musik* or SandBox/*
Du kan også angive "!
" foran et emne for at undgå sider som modsvarer
det. Så for at modsvare alle sider undtagen diskussionssider og sandkassen:
* and !SandBox and !*/Discussion
Resultaterne kan begrænses mere nuanceret med disse funktioner:
- "
link(side)
" - modsvarer kun sider som henviser til en given side (eller
glob)
- "
backlink(side)
" - modsvarer kun sider som en given side henviser til
- "
creation_month(måned)
" - modsvarer kun sider oprettet den givne måned
- "
creation_day(månedsdag)
" - eller dag på måneden
- "
creation_year(år)
" - eller år
- "
created_after(side)
" - modsvarer kun sider oprettet efter den givne
side blev oprettet
- "
created_before(side)
" - modsvarer kun sider oprettet før den givne side
blev oprettet
- "
glob(nogetglob)
" - modsvarer sider som modsvarer det givne glob. Blot
at skrive glob'et alene er faktisk en genvej til denne funktion.
- "
internal(glob)
" - lissom glob()
, men modsvarer også internt anvendte
sider som glob normalt ikke modsvarer.
- "
title(glob)
", "author(glob)
", "authorurl(glob)
", "license(glob)
",
"copyright(glob)
" - modsvarer sider med de givne metadata, som modsvarer
det angivne glob.
- "
user(brugernavn)
" - tester hvorvidt en ændring foretages af en bruger
med det angivne brugernavn. Hvis openid er aktiveret, kan en openid også
bruges her.
- "
admin()
" - tester hvorvidt en ændring foretages af en af
wiki-administratorerne.
- "
ip(adresse)
" - tester hvorvidt en ændring foretages fra den angivne
IP-adresse.
For eksempelvis at modsvare alle sider i en blog som henviser til en side om
musik og som blev skrevet i 2005:
blog/* and link(musik) and creation_year(2005)
Bemærk brugen af "and" i eksemplet ovenfor ("and" betyder "og" på engelsk),
som betyder at kun sider der modsvarer hver af de tre udtryk modsvarer det
hele. Brug "and" når du vil kombinere udtryk på den måde; "or" når det er
nok at én side modsvarer et udtryk. Bemærk at det ikke giver mening at sige
"index and SandBox", da ingen sider kan modsvare begge udtryk.
Mere komplekse udtryk kan dannes ved at gruppere med paranteser. Eksempelvis
modsvarer dette sider i en blog som er mærket af med en af to mærkater:
blog/* and (link(tag/foo) or link(tag/bar))
Bemærk at PageSpecs for sidenavne modsvares som de absolutte filnavne for
siderne i wikien, så et pagespec "foo" brugt på siden "a/b" vil ikke
modsvare siderne navngivet "a/foo" eller "a/b/foo". For at modsvare relativt
til samme mappe som siden der indeholder pagespec'et kan du bruge
"./". Eksempelvis modsvarer "./foo" på siden "a/b" siden "a/foo".
Gammel syntaks
Den gamle PageSpec-syntaks blev kaldt en "GlobList", og fungerede anderledes
på to måder:
- "and" og "or" blev ikke brugt; enhver side modsvarede ethvert emne fra
listen.
- Hvis et emne havde "
!
" foran, modsvarede ingen side dette emne, heller
ikke hvis det modsvarede et tidligere emne.
Her er et eksempel på den gamle måde at modsvare alle sider undtagen
sandkassen og diskussionssider:
* !SandBox !*/Discussion
Brug af denne gamle syntaks er stadigt understøttet. Den er dog på vej ud,
så det anbefales at bruge den nye syntaks.