TemplatedPageList
This is Yet Another Page Listing extension. It is similar to DynamicPageList & company (Intersection / Wikimedia's DPL, 3rd party's DPL, SubPageList, 2, etc), but the code is simpler and the functionality is more advanced. Initially, it was just an improved SubPageList2.
Features:
- (Main feature) <subpagelist> tag produces a simple or templated list of pages selected by dynamic conditions.
- {{#getsection|Title|section number}} parser function for extracting page sections by number.
- Automatic AJAX display of subpages everywhere.
Details:
- Author: Vitaliy Filippov, 2009+
- License: GPLv2 or higher
- Code is part of MediaWiki4Intranet and lives on Google Code
Contents
Automatic subpage listing
SubPageList can add a simple link to each page, and when clicked, this link displays list of all subpages of current page.
$egSubpagelistAjaxNamespaces = array(NS_MAIN => true); setting enables this on namespaces specified.
$egSubpagelistAjaxDisableRE = "regexp"; is a regexp disables this on pages whose title match it.
<subpagelist> syntax
Syntax is backwards compatible with Wikimedia's DynamicPageList syntax, except for 'firstcategorydate' related stuff. The text inside <subpagelist> is preprocessed, so you can use templates, magic words and parser functions inside it. Options are specified one per line.
Open tag
<subpagelist> (you can also use <DynamicPageList> or <subpages> for compatibility)
Page selection
- namespace = Main|Talk|...
- Restrict list to some namespaces
- category = A|B|C
category = D|E - Restrict page list to pages which are in one of these categories. This option may be specified multiple times, following occurrences will be appended as a conjunction, i.e., the resulting expression will be (A or B or C) & (D or E). This is compatible with Wikimedia's DynamicPageList syntax, but allows more complex queries.
- notcategory = A
- Exclude pages which are in category A
- parent = P
- Restrict listing to subpages of P
- level = L or MIN..MAX
- Set wanted subpage nesting levels (i.e. number of '/' in title) it must be equal to L or be within MIN..MAX.
- deepness = D or MIN..MAX
- Set wanted subpage nesting levels, relative to parent.
- ignore = L1|L2|...
- Ignore pages which match L1 or L2 or ... LIKE patterns:
- '\_' and ' ' match single space
- '_' matches any single character
- '%' matches any substring
- '\%' matches single '%' character
- redirect = yes|no
- restring listing to redirect or non-redirect pages
Ordering
- order|ordermethod = Y1 [asc|desc],Y2 [asc|desc],...
- Sort pages by Y1,Y2,..., asc|desc can be specified right after Yi, each Yi is one of:
- title
- titlewithoutnamespace
- lastedit
- user
- creation|firstedit
- length|size
- popularity|pagecounter
- order = ASC or DESC
- Ascending or descending sort order for all Yi (compatibility)
- count|limit = N
- Show at most N pages
- offset = M
- Skip first M pages
Output
- template = X
- Use template:X for output. The template will be preprocessed just like when included into listed article. I.e. all standard MediaWiki magic variables ({{PAGENAME}} {{REVISIONDAY}} etc) will generate values corresponding to listed articles. Additionally, the following parameters are passed to this template:
- {{{index}}}
- list index, beginning at 0
- {{{number}}}
- list index, beginning at 1
- {{{odd}}}
- is {{{number}}} odd? (1 or 0)
- {{{ns_N}}}
- N is namespace index, value is 1
- {{{title}}}
- full title
- {{{title_rel}}}
- title relative to parent specified in options
- suppresserrors|noerrors|silent = true
- Suppress errors.
Close tag
</subpagelist>