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 passer for et bestemt udvalg af sider.
Det simpleste PageSpec er simpelthen en opremsning af sider med "or" imellem ("or" betyder "eller" på engelsk). Dette passer eksempelvis for enhver af de tre nævnte sider:
foo or bar or baz
Mere hyppigt har du dog brug for at passe for sider med noget bestemt i
deres navne. Dette kan du udtrykke med et "glob-mønster". "*
" står for
enhver del af et sidenavn, og "?
" for ethvert enkeltbogstav i et
sidenavn. Så dette passer for alle sider om musik, og alle
?UnderSider til sandkassen, men ikke selve sandkasse-siden:
*musik* or SandBox/*
Du kan også angive "!
" foran et emne for at undgå sider som passer for
det. Så for at passe for alle sider undtagen diskussionssider og sandkassen:
* and !SandBox and !*/Discussion
Resultaterne kan begrænses mere nuanceret med disse funktioner:
- "
glob(someglob)
" - matches pages and other files that match the given glob. Just writing the glob by itself is actually a shorthand for this function. - "
page(glob)
" - likeglob()
, but only matches pages, not other files - "
link(page)
" - matches only pages that link to a given page (or glob) - "
tagged(tag)
" - matches pages that are tagged or link to the given tag (or tags matched by a glob) - "
backlink(page)
" - matches only pages that a given page links to - "
creation_month(month)
" - matches only files created on the given month number - "
creation_day(mday)
" - or day of the month - "
creation_year(year)
" - or year - "
created_after(page)
" - matches only files created after the given page was created - "
created_before(page)
" - matches only files created before the given page was created - "
internal(glob)
" - likeglob()
, but matches even internal-use pages that globs do not usually match. - "
title(glob)
", "author(glob)
", "authorurl(glob)
", "license(glob)
", "copyright(glob)
", "guid(glob)
"- match pages that have the given metadata, matching the specified glob.
- "
user(username)
" - tests whether a modification is being made by a user with the specified username. If openid is enabled, an openid can also be put here. Glob patterns can be used in the username. For example, to match all openid users, useuser(*://*)
- "
admin()
" - tests whether a modification is being made by one of the wiki admins. - "
ip(address)
" - tests whether a modification is being made from the specified IP address. - "
comment(glob)
" - matches comments to a page matching the glob. - "
comment_pending(glob)
" - matches unmoderated, pending comments. - "
postcomment(glob)
" - matches only when comments are being posted to a page matching the specified glob
For eksempelvis at passe for 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 passer for hvert af de tre udtryk passer for det hele. Brug "and" når du vil kombinere udtryk på den måde; "or" når det er nok for en side at den passer for ét udtryk. Bemærk at det ikke giver mening at sige "index and SandBox", da ingen sider kan passe for begge udtryk.
Mere komplekse udtryk kan dannes ved at gruppere med paranteser. Eksempelvis passer dette for sider i en blog som er mærket af med en af to mærkater:
blog/* and (tagged(foo) or tagged(bar))
Bemærk at PageSpecs for sidenavne afstemmes som de absolutte filnavne for siderne i wikien, så et pagespec "foo" brugt på siden "a/b" vil ikke passe for siderne navngivet "a/foo" eller "a/b/foo". For at afstemme relativt til samme mappe som siden der indeholder pagespec'et kan du bruge "./". Eksempelvis passer "./foo" på siden "a/b" for siden "a/foo".
Du kan bruge et enkelt punktum som indikation af siden PageSpec'et anvendes
på. Eksempelvis passer link(.)
for alle sider der henviser til siden som
indeholder PageSpec'et.