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

[[!meta robots="noindex, follow"]] Til at angive et udvalg af sider, såsom låste sider, sider hvis ændringer du vil email-abonnere på, eller sider at samle til en blog, anvender wikien et PageSpec. Dette er et udtryk som modsvarer et bestemt udvalg af sider.

Det simpleste PageSpec er blot en opremsning af sider med "or" imellem ("or" betyder "eller" på engelsk). Eksempelvis modsvarer dette 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. "*" erstatter enhver del af sidenavnet, og "?" ethvert enkeltbogstav i sidenavnet. Så dette modsvarer alle sider om musik, og alle [[UnderSider||SubPage]] til sandkassen, men modsvarer 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

Mere nuancerede begrænsninger kan udtrykkes med disse funktioner:

  • "glob(nogetglob)" - modsvarer sider og andre filer som modsvarer det givne glob. Blot at skrive glob'et alene er faktisk en genvej til denne funktion.
  • "page(glob)" - lissom glob(), men modsvarer kun sider, ikke andre filer
  • "link(side)" - modsvarer kun sider som henviser til en given side (eller glob)
  • "tagged(mærkat)" - modsvarer sider som er opmærket eller henviser til den angivne mærkat (eller mærkater modsvaret af et glob)
  • "backlink(side)" - modsvarer kun sider som en given side henviser til
  • "creation_month(måned)" - modsvarer kun filer oprettet det givne månedsnummer
  • "creation_day(månedsdag)" - eller dag på måneden
  • "creation_year(år)" - eller år
  • "created_after(side)" - modsvarer kun filer oprettet efter den givne side blev oprettet
  • "created_before(side)" - modsvarer kun filer oprettet før den givne side blev oprettet
  • "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)", "guid(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å indsættes her. Glob mønstre kan anvendes i brugernavnet. Som eksempel kan alle openid brugere modsvares ved at anvende user(*://*)
  • "admin()" - tester hvorvidt en ændring bliver foretaget af en af wiki-administratorerne.
  • "ip(adresse)" - tester hvorvidt en ændring sker fra den angivne IP-adresse. Glob mønstre kan anvendes i adressen. Som eksempel ip(127.0.0.*)
  • "comment(glob)" - modsvarer kommentarer til en side der modsvarer glob'et.
  • "comment_pending(glob)" - modsvarer ikke-tilbageholdte, afventende kommentarer.
  • "postcomment(glob)" - modsvarer kun når kommentarer sendes til en side som modsvarer det angivne glob

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 hvert 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 (tagged(foo) or tagged(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".