X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/7960031135e74f6d36abc4294dbadb687117222c..226abb373abc2465868ebedfff4980878da0c5a8:/doc/ikiwiki/pagespec.mdwn?ds=inline diff --git a/doc/ikiwiki/pagespec.mdwn b/doc/ikiwiki/pagespec.mdwn index 5c6433ed3..86abe5745 100644 --- a/doc/ikiwiki/pagespec.mdwn +++ b/doc/ikiwiki/pagespec.mdwn @@ -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 @@ -21,8 +22,7 @@ match all pages except for Discussion pages and the SandBox: * 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 @@ -33,8 +33,22 @@ functions: was created * "`created_before(page)`" - match only pages created before the given page was created -* "`user(name)`" - only available in page subscription preferences, match - only changes made by this user +* "`glob(someglob)`" - match pages that match the given glob. Just writing + the glob by itself is actually a shorthand for this function. +* "`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)`" - 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: @@ -58,22 +72,3 @@ 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.