summaryrefslogtreecommitdiff
path: root/ikiwiki/pagespec.mdwn
blob: 83dfe1bf60ab3b4d470375f71e663b01551e4e1f (plain)

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 simplethen en opremsning af sider med "or" imellem ("or" betyder "eller" på engelsk). Dette modsvarer eksempelvis enhver af de tre angivne sider:

foo or bar or baz

Mere hyppigt har du dog brug for at at at modsvare sider med noget til fælles i deres navne. Dette kan du udtrykke med et "glob-mønster". "*" står for ehhver del af sidenavnet, og "?" for ethvert enkelt bogstav i sidenavnet. Så dette modsvarer alle sider om musik, og alle [[UnderSider||SubPage]] til sandkassen, men ikke selve sandkasse-siden: not match the SandBox itself:

*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

En række mere nøjagtige begrænsninger kan tilføjes med disse funktioner:

  • "link(side)" - modsvarer kun sider som henviser din en given side (eller glob)
  • "backlink(side)" - modsvarer kun sider som en given side henviser til
  • "creation_month(måned)" - modsvarer kun side 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
  • "user(side)" - kun tilgængelig under sideabonnements-opsætningen - modsvarer kun ændringer foretaget af denne bruger

For som 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 en 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 sidenavne PageSpecs modsvares som de absolutte filnavne for siderne i wikien, så etpagespec "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:

  1. "and" og "or" blev ikke brugt; enhver side modsvarede ethvert emne fra listen.
  2. 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.