Jump to content

Help:Subpages

From mediawiki.org
PD Note: When you edit this page, you agree to release your contribution under the CC0. See Public Domain Help Pages for more info. PD

Subpages introduce some hierarchical organization into wiki pages, with levels of the hierarchy separated by slashes (/).

Where it works

By default, MediaWiki's subpage feature is turned off in the main namespace, but can be used on talk pages and user pages. See Help:Namespaces for description of namespaces and $wgNamespacesWithSubpages to learn how to modify this default behavior. In namespaces where the feature is switched off, any forward slashes (/) within a page name are simply part of the page name and do nothing special.

When subpages are enabled in a namespace, a forward slash in the title of a page always causes the page to be a subpage. If this is not desired, you can #Bypass subpages using alternative characters.

How it works

Slashes (/) within a page name break the page into parent and subpages, recursively, e.g.:

Page relationships
Help:Subpages /sub /sub/subi /sub/sub1/sub /sub/sub1/sub/sub
CURRENT PAGE child grandchild great grandchild great great grandchild
parent CURRENT PAGE child 1 grandchild great grandchild
child 2 grandchild great grandchild
grandparent parent CURRENT PAGE child grandchild
great grandparent grandparent parent CURRENT PAGE child
great great grandparent great grandparent grand-parent parent CURRENT PAGE

You can link directly to any page’s subpage using the normal double square brackets notation, by providing the full name – including the slash(es) and the individual subpage name(s). You can also link from one page to one of its own subpages using certain shortcuts, which are covered at Help:Links.

There are Magic words to split the name of a subpage, such as {{BASEPAGENAME}} and {{SUBPAGENAME}}, and the parser function {{#titleparts:}} for finer control.

Note that the part of page names after a slash is case sensitive including the first letter.

Breadcrumb links will appear automatically at the top of the subpage, linking to each parent page that exists. These links do not appear, however, if the parent pages have not yet been created or if the subpage feature is turned off.

As these automatic breadcrumb links are not in the page content, the breadcrumbs do not place parent pages in the What links here and Related changes lists.

If you move (rename) a parent page, you will be shown a list of the subpages, and users with the move-subpages user right will have the option to automatically move subpages (up to 100).

Use of subpages

There are various uses for the subpage feature. Some of the typical usages of subpages are:

  • to create archives of old discussions under a talk page
  • to create scratchpad editing spaces under a user page
  • to create other-language versions of a document in multilingual wikis
  • to create a template's subpages for its documentation, for its code sandbox, for its testcases, and for any subtemplate code

Subpages are useful for organising information hierarchically. On the other hand, subpages tend to have a long name that is hard to remember, so it may be more user-friendly to use them as little as possible. You can also organize pages with the category feature, which is more suitable for creating a hierarchical network of information.

Displaying subpages

Subpages can be listed very plainly by transcluding Special:PrefixIndex, like this:

{{Special:PrefixIndex/Help:Subpages/}}

Which produces this:

Since the magic word {{FULLPAGENAME}} outputs the current page, the general wiki markup to show all subpages of the current page is {{Special:PrefixIndex/{{FULLPAGENAME}}/}}. You can pass parameters to this, e.g. {{Special:PrefixIndex/{{FULLPAGENAME}}/ |hideredirects=1 |stripprefix=1}}

The subpage extensions, such as Extension:SubPageList or Extension:SubpageNavigation , let you customize the display of subpages.

Bypass subpages using alternative characters

As a consequence of the forward slash being a reserved character when subpages are enabled, an alternative character might be needed. Back slashes (\) are treated as normal characters in subpage naming and can be used in place of forward slashes. Additionally, as a crude hack, a character similar to the forward slash can be used instead, such as the "big solidus" (U+29F8), which results in Foo⧸bar (cf. a real slash: Foo/bar), or the solidus (U+2044), which results in Foo⁄bar. Three possible technical disadvantages (apart from the visual difference from a real slash) arise from this hack:

  1. People without the necessary fonts won’t be able to view the character properly;
  2. Redirects from the title with a slash must be created, so that linking and search will work correctly.
  3. Both the subject and talk versions of a page (and their corresponding subpages, e.g. discussion archives) need to use the hack, so that moving a page would take all connected pages to the new title (if that setting is selected during the move). For example, subpages are disabled in the main namespace in Wikipedia, so while the talk page won't work unless the solidus character is used to prevent having them marked as subpages, the corresponding page in the main namespace could accidentally keep an actual slash. The risk is that the visual similarity might make this go unnoticed by human editors.

See also