1 To select a set of pages, such as pages that are locked, pages
2 whose commit emails you want subscribe to, or pages to combine into a
3 blog, the wiki uses a PageSpec. This is an expression that matches
6 The simplest PageSpec is a simple list of pages. For example, this matches
7 any of the three listed pages:
11 More often you will want to match any pages that have a particular thing in
12 their name. You can do this using a glob pattern. "`*`" stands for any part
13 of a page name, and "`?`" for any single letter of a page name. So this
14 matches all pages about music, and any [[SubPage]]s of the SandBox, but does
15 not match the SandBox itself:
19 You can also prefix an item with "`!`" to skip pages that match it. So to
20 match all pages except for Discussion pages and the SandBox:
22 * and !SandBox and !*/Discussion
24 Some more elaborate limits can be added to what matches using any of these
27 * "`link(page)`" - match only pages that link to a given page (or glob)
28 * "`backlink(page)`" - match only pages that a given page links to
29 * "`creation_month(month)`" - match only pages created on the given month
30 * "`creation_day(mday)`" - or day of the month
31 * "`creation_year(year)`" - or year
32 * "`created_after(page)`" - match only pages created after the given page
34 * "`created_before(page)`" - match only pages created before the given page
36 * "`user(name)`" - only available in page subscription preferences, match
37 only changes made by this user
39 For example, to match all pages in a blog that link to the page about music
40 and were written in 2005:
42 blog/* and link(music) and creation_year(2005)
44 More complex expressions can also be created, by using parentheses for
45 grouping. For example, to match pages in a blog that are tagged with either
48 blog/* and (link(tag/foo) or link(tag/bar))
50 Note that page names in PageSpecs are matched against the absolute
51 filenames of the pages in the wiki, so a pagespec "foo" used on page
52 "a/b" will not match a page named "a/foo" or "a/b/foo". To match
53 relative to the directory of the page containing the pagespec, you can
54 use "./". For example, "./foo" on page "a/b" matches page "a/foo".
58 The old PageSpec syntax was called a "GlobList", and worked differently in
61 1. "and" and "or" were not used; any page matching any item from the list
63 2. If an item was prefixed with "`!`", then no page matching that item
64 matched, even if it matched an earlier list item.
66 For example, here is the old way to match all pages except for the SandBox
69 * !SandBox !*/Discussion
71 Using this old syntax is still supported. However, the old syntax is
72 deprecated and will be removed at some point, and using the new syntax is