diff options
Diffstat (limited to 'ikiwiki/pagespec.mdwn')
-rw-r--r-- | ikiwiki/pagespec.mdwn | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/ikiwiki/pagespec.mdwn b/ikiwiki/pagespec.mdwn deleted file mode 100644 index c78666c..0000000 --- a/ikiwiki/pagespec.mdwn +++ /dev/null @@ -1,91 +0,0 @@ -[[!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 -a set of pages. - -The simplest PageSpec is a simple list of pages. For example, this matches -any of the three listed pages: - - foo or bar or baz - -More often you will want to match any pages that have a particular thing in -their name. You can do this using a glob pattern. "`*`" stands for any part -of a page name, and "`?`" for any single letter of a page name. So this -matches all pages about music, and any [[SubPage]]s of the SandBox, but does -not match the SandBox itself: - - *music* or SandBox/* - -You can also prefix an item with "`!`" to skip pages that match it. So to -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 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 -* "`creation_day(mday)`" - or day of the month -* "`creation_year(year)`" - or year -* "`created_after(page)`" - match only pages created after the given page - was created -* "`created_before(page)`" - match only pages created before the given page - was created -* "`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. - -For example, to match all pages in a blog that link to the page about music -and were written in 2005: - - blog/* and link(music) and creation_year(2005) - -Note the use of "and" in the above example, that means that only pages that -match each of the three expressions match the whole. Use "and" when you -want to combine expression like that; "or" when it's enough for a page to -match one expression. Note that it doesn't make sense to say "index and -SandBox", since no page can match both expressions. - -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: - - blog/* and (link(tag/foo) or link(tag/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". - -## 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. |