]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/ikiwiki/pagespec.mdwn
(no commit message)
[git.ikiwiki.info.git] / doc / ikiwiki / pagespec.mdwn
index e1a4762024d3769ae8a4aa79d349917bb3c7dbe3..5f0f44e2ebe6cf847bfe2b6c8b73d8e62ad4969b 100644 (file)
@@ -1,3 +1,4 @@
+[[!meta robots="noindex, follow"]]
 To select a set of pages, such as pages that are locked, pages
 whose commit emails you want subscribe to, or pages to combine into a
 blog, the wiki uses a PageSpec. This is an expression that matches
 To select a set of pages, such as pages that are locked, pages
 whose commit emails you want subscribe to, or pages to combine into a
 blog, the wiki uses a PageSpec. This is an expression that matches
@@ -21,22 +22,35 @@ match all pages except for Discussion pages and the SandBox:
 
        * and !SandBox and !*/Discussion
 
 
        * and !SandBox and !*/Discussion
 
-Some more elaborate limits can be added to what matches using any of these
-functions:
+Some more elaborate limits can be added to what matches using these functions:
 
 
-* "`link(page)`" - match only pages that link to a given page (or glob)
-* "`backlink(page)`" - match only pages that a given page links to
-* "`creation_month(month)`" - match only pages created on the given month
+* "`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 pages created on the given month
 * "`creation_day(mday)`" - or day of the month
 * "`creation_year(year)`" - or year
 * "`creation_day(mday)`" - or day of the month
 * "`creation_year(year)`" - or year
-* "`created_after(page)`" - match only pages created after the given page
+* "`created_after(page)`" - matches only pages created after the given page
   was created
   was created
-* "`created_before(page)`" - match only pages created before the given page
+* "`created_before(page)`" - matches only pages created before the given page
   was created
   was created
-* "`glob(foo)`" - match pages that match the given glob `foo`. Just writing
+* "`glob(someglob)`" - matches pages that match the given glob. Just writing
   the glob by itself is actually a shorthand for this function.
   the glob by itself is actually a shorthand for this function.
-* "`internal(foo)`" - like `glob()`, but matches even internal-use 
+* "`internal(glob)`" - like `glob()`, but matches even internal-use 
   pages that globs do not usually match.
   pages that globs do not usually match.
+* "`title(glob)`", "`author(glob)`", "`authorurl(glob)`",
+  "`license(glob)`", "`copyright(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.
+* "`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.
+* "`postcomment(glob)`" - matches only when comments are being 
+  posted to a page matching the specified glob
 
 For example, to match all pages in a blog that link to the page about music
 and were written in 2005:
 
 For example, to match all pages in a blog that link to the page about music
 and were written in 2005:
@@ -53,29 +67,10 @@ More complex expressions can also be created, by using parentheses for
 grouping. For example, to match pages in a blog that are tagged with either
 of two tags, use:
 
 grouping. For example, to match pages in a blog that are tagged with either
 of two tags, use:
 
-       blog/* and (link(tag/foo) or link(tag/bar))
+       blog/* and (tagged(foo) or tagged(bar))
 
 Note that page names in PageSpecs are matched against the absolute
 filenames of the pages in the wiki, so a pagespec "foo" used on page
 "a/b" will not match a page named "a/foo" or "a/b/foo". To match
 relative to the directory of the page containing the pagespec, you can
 use "./". For example, "./foo" on page "a/b" matches page "a/foo".
 
 Note that page names in PageSpecs are matched against the absolute
 filenames of the pages in the wiki, so a pagespec "foo" used on page
 "a/b" will not match a page named "a/foo" or "a/b/foo". To match
 relative to the directory of the page containing the pagespec, you can
 use "./". For example, "./foo" on page "a/b" matches page "a/foo".
-
-## Old syntax
-
-The old PageSpec syntax was called a "GlobList", and worked differently in
-two ways:
-
-1. "and" and "or" were not used; any page matching any item from the list
-   matched.
-2. If an item was prefixed with "`!`", then no page matching that item
-   matched, even if it matched an earlier list item.
-
-For example, here is the old way to match all pages except for the SandBox
-and Discussion pages:
-
-       * !SandBox !*/Discussion
-
-Using this old syntax is still supported. However, the old syntax is
-deprecated and will be removed at some point, and using the new syntax is
-recommended.