From 54651a405a863fd4a31b092650e85171b37622bd Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Thu, 14 Oct 2010 13:38:25 +0200 Subject: Sync with ikiwiki 3.20100926. --- ikiwiki/pagespec.mdwn | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 ikiwiki/pagespec.mdwn (limited to 'ikiwiki/pagespec.mdwn') diff --git a/ikiwiki/pagespec.mdwn b/ikiwiki/pagespec.mdwn new file mode 100644 index 0000000..303f073 --- /dev/null +++ b/ikiwiki/pagespec.mdwn @@ -0,0 +1,88 @@ +[[!meta robots="noindex, follow"]] +Um eine Menge von Seiten auszuwählen (etwa Seiten, die gesperrt werden +sollen, deren Einrechungs-Mails man abonnieren will, oder die man zu einem +Blog kombinieren will), verwendet das Wiki eine PageSpec. Dies ist ein +Ausdruck, der auf bestimmte Seiten passt. + +Die einfachste PageSpec ist eine einfache Liste von Seiten. Zum Beispiel +passt dies auf jede der drei aufgezählten Seiten: + + foo or bar or baz + +Häufiger wird es vorkommen, dass man Seiten erfassen will, deren Name etwas +bestimmtes enthält. Man kann dies mit einem Muster tun: "`*`" steht für +einen beliebigen Teil eines Seitennamens und "`?`" steht für einen +beliebigen Buchstaben eines Seitennamens. Also passt dies alle Seiten über +Musik, und alle [[Unterseiten|SubPage]] des Sandkastens, aber nicht auf den +Sandkasten selbst: + + *music* or SandBox/* + +Man kann einem Eintrag ein "`!`" voranstellen, um die betreffenden Seiten +auszuschließen. Auf diese Weise können alle Seiten außer Diskussionsseiten +und Sandkasten erfasst werden: + + * and !SandBox and !*/Discussion + +Einige weitergehende Einschränkungen können hinzugefügt werden, indem die +folgenden Funktionen verwendet werden: + +* "`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)`" - like `glob()`, 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 +* "`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)`" - like `glob()`, 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, use `user(*://*)` +* "`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 + +Zum Beispiel können alle Seiten eines Blogs ausgewählt werden, die einen +Link zu einer Seite über Musik enthalten und 2005 geschrieben wurden: + + blog/* and link(music) and creation_year(2005) + +Beachte die Verwendung von `and` im obigen Beispiel: Dies bewirkt, dass nur +die Seiten auf den gesamten Ausdruck passen, die auf alle drei Teilausdrücke +passen. Verwende `and` um Ausdrücke so zu kombinieren und `or` wenn eine +Seite nur auf einen der Ausdrücke passen soll. Beachte dass es sinnlos ist, +`index and SandBox` zu sagen, da keine Seite auf beide Ausdrücke passen +kann. + +Es können auch komplexere Ausdrücke erstellt werden, indem Klammern zur +Gruppierung verwendet werden. Zum Beispiel passt der folgende Ausdruck auf +Blog-Seiten, die mit einem der beiden angegebenen Tags versehen sind: + + blog/* and (tagged(foo) or tagged(bar)) + +Beachte, dass Seitennamen in PageSpecs auf den absoluten Dateinamen der +Seiten im Wiki passen müssen: Die PageSpec `foo` auf der Seite `a/b` wird +weder auf `a/foo` noch auf `a/b/foo` passen. Um relative Pfade zum +Verzeichnis der Seite, die die PageSpec enthält, zu verwenden, kannst du +`./` verwenden. Zum Beispiel passt `./foo` auf der Seite `a/b` auf `a/foo`. + +To indicate the name of the page the PageSpec is used in, you can use a +single dot. For example, `link(.)` matches all the pages linking to the page +containing the PageSpec. -- cgit v1.2.3