summaryrefslogtreecommitdiff
path: root/ikiwiki/pagespec.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'ikiwiki/pagespec.mdwn')
-rw-r--r--ikiwiki/pagespec.mdwn86
1 files changed, 86 insertions, 0 deletions
diff --git a/ikiwiki/pagespec.mdwn b/ikiwiki/pagespec.mdwn
new file mode 100644
index 0000000..7d21911
--- /dev/null
+++ b/ikiwiki/pagespec.mdwn
@@ -0,0 +1,86 @@
+[[!meta robots="noindex, follow"]]
+Pro výběr množiny stránek (jako jsou například zamknuté stránky, stránky, u
+nichž chcete dostávat maily se změnami nebo třeba stránky, které chcete
+zkombinovat do blogu) používá wiki něco s názvem PageSpec. PageSpec je
+výraz, který se shoduje s množinou stránek.
+
+Nejjednodušší PageSpec je jednoduchý seznam stránek. Například následující
+se shoduje s libovolnou ze tří zmíněných stránek:
+
+ stránka1 or stránka2 or stránka3
+
+Mnohem častěji budete chtít vybrat stránky, které obsahují ve svém názvu
+konkrétní řetězec. K tomu můžete použít tzv. vzor, který může obsahovat
+zástupné znaky. „`*`“ znamená libovolnou část názvu stránky, „`?`“ zastupuje
+jedno písmeno názvu stránky. Následující příklad vybere všechny stránky o
+hudbě a všechny [[podstránky|SubPage]] [[pískoviště|SandBox]] (ve wiki
+uložené jako SandBox), ale ne pískoviště samotné:
+
+ *music* or SandBox/*
+
+Výraz můžete uvodit znakem „`!`“ a negovat tak jeho význam, tj. přeskočit
+dané stránky. Například chcete-li vybrat všechny stránky ve wiki kromě
+diskuzí (uložené jako Discussion) a pískoviště (SandBox), použijte:
+
+ * and !SandBox and !*/Discussion
+
+S komplikovanějšími výběry mohou pomoci následující funkce:
+
+* "`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
+
+Například pro výběr všech stránek v blogu, které se odkazují na stránku o
+hudbě a byly napsány v roce 2005:
+
+ blog/* and link(music) and creation_year(2005)
+
+Povšimněte si použití „and“ v předchozím příkladu. Znamená to, že se vyberou
+pouze stránky, které splňují všechny tři podmínky zároveň. Pokud by stačilo,
+aby byla platná alespoň jedna ze zadaných podmínek, použijte „or“. Poznámka:
+výraz „index and SandBox“ nikdy nevrátí žádnou stránku, protože není možné,
+aby nějaká stránka splňovala obě podmínky zároveň.
+
+Při vytváření komplexnějších výrazů můžete použít závorky. Například pro
+výběr stránek v blogu, které mají alespoň jeden ze dvou štítků, můžete
+použít:
+
+ blog/* and (tagged(štítek1) or tagged(štítek2))
+
+Jména stránek v PageSpec se porovnávají vůči absolutním jménům souborů wiki
+stránek, takže PageSpec „něco“ použité na stránce „a/b“ nenajde „a/něco“ ani
+„a/b/něco“. Chcete-li vyhledávat relativně k adresáři stránky, která
+obsahuje PageSpec, můžete použít „./“. To znamená, že „./něco“ na stránce
+„a/b“ najde stránku „a/něco“.
+
+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.