Help:Namespaces

Important note: When you edit this page, you agree to release your contribution into the public domain. If you don't want this or can't do this because of license restrictions, please don't edit. This page is one of the Public Domain Help Pages, which can be freely copied into fresh wiki installations and/or distributed with MediaWiki software; see Help:Contents for an overview of all pages. See Project:PD help/Copying for instructions.

Pages on a MediaWiki wiki are grouped into collections called "namespaces", which differentiate between the purpose of the pages at a high level. Pages in certain namespaces can also have special properties or behave differently when they interact with other pages.

Namespaces are indicated in page titles by prefixing the page name with "namespace:", so the prefix "Help:" in this page's title ("Help:Namespaces") indicates that this page is in the Help namespace. Note, however, that colons and prefixes can also appear in page titles without indicating a namespace: The page Foo:Namespaces is a page located in the mainspace because the namespace "Foo" does not exist. Similarly the page Help:Foo:Namespaces is in the "Help" namespace.

Standard namespaces

The standard MediaWiki installation has sixteen namespaces that can contain user-generated content; there are also two special namespaces that contain pages created 'on the fly' by the MediaWiki software. The standard namespaces are organized in pairs, with each pair containing a "subject namespace" and a "discussion namespace". The namespaces are numbered from zero such that all subject namespaces have even indices and all talk namespaces have odd indices.

Media

This namespace is an alias used for direct linking to media files: the link Media:Wiki.png links to just the image rather than the image description page, which would be File:Wiki.png.

Special

This namespace is used to group special pages, reports and interfaces that are generated "on demand" by MediaWiki and that are not directly editable. It is not possible to create pages in this namespace except by modifying or extending the MediaWiki software.

(Main)

The namespace that has no prefix separated by a colon. Commonly called the "main namespace" or "mainspace". This namespace typically contains the bulk of the content pages in a wiki. This namespace generally has no special properties.

Talk

The "Talk" namespace is the discussion namespace attached to the mainspace. It has no special properties.

User

Each user has a corresponding page in the User namespace, which is linked to from edit histories, watchlists, recent changes, etc; wherever an individual user is uniquely identified. This page, and subpages of it, can be used by users to record information about themselves or to test and draft new content. Pages of the form "User:UserName/Foo.js" or "User:UserName/Foo.css" can only be edited by the user themselves or by administrators.

User talk

This namespace is the talkspace associated with the User namespace. Pages in this namespace are mainly used to leave messages for particular users or inform them of discussions that may be of interest to them. To facilitate this, when a page User talk:UserName is edited, whenever the user "UserName" loads a page, a notice is displayed at the top of the page informing them of the edit:

Yocto Project talk

File

The File namespace is used to store metadata for images, videos, sound files and other media accessed via the Media namespace. Each file has a corresponding page in the File namespace, which is often used to hold licensing data. Linking directly to a page in this namespace instead includes the media file inline in the page: [[File:Wiki.png|right]] produces the image to the right. See Help:Images for more details of this link syntax. To create an internal link to the file page, you need to add a colon to the front of the namespace: [[:File:Wiki.png|right]] produces File:Wiki.png.
The standard MediaWiki installation has alias "Image" for File namespace - See Namespace aliases.

File talk

This is a talk namespace that is normally used for discussions related to the associated media files. It has no special properties.

MediaWiki

The MediaWiki namespace is used to hold system messages and other important content. For instance, the page MediaWiki:Edit (or MediaWiki:Vector-view-edit in the default "Vector" skin) contains the text that fills the "Edit" tab at the top of every page. If that page exists, it overrides the default content, which is "edit this page". Similarly, MediaWiki:Common.css is the system message that holds the CSS code that is loaded for all users for each page. It has the special property that the entire namespace is fully protected and can only be edited by administrators.

MediaWiki talk

This is a talk namespace that is normally used for discussions related to the associated system messages. It has no special properties.

Template

The Template namespace is used to hold templates, blocks of text or wikicode that are intended to be transcluded into several other pages. To facilitate this it has the special property that it is the default namespace for transclusions: the wikicode {{Foo}} is equivalent to {{Template:Foo}}.

Template talk

This is a talk namespace that is normally used for discussions related to the associated template pages. It has no special properties.

Help

The Help namespace is usually used to hold help files, instructions and "how-to" guides. It has no special properties.

Help talk

This is a talk namespace that is normally used for discussions related to the associated help pages. It has no special properties.

Category

The Category namespace contains categories, dynamic lists of other pages. To facilitate this, linking directly to a category page does not output an inline link, but instead includes the page into the associated category page. So the code [[Category:Help]] causes a category link to appear at the bottom of the page (at the bottom in the box marked "Categories"). Clicking on that link takes you to the category page, where this page is visible in the category list. To create an inline link to a category page, you need to add a colon to the front of the namespace: [[:Category:Help]] produces Category:Help. See Help:Categories for more details on category link syntax.

Category talk

This is a talk namespace that is normally used for discussions related to the associated category pages. It has no special properties.

Namespace names can be translated into languages other than English and individual namespaces can be renamed, as set by a wiki's system admins. These names are known as the 'localized' namespace names. However, all namespaces have a 'canonical name', the original English name which will work on any installation of MediaWiki. So linking to User:Foo will always locate the user page for the user foo, whether the wiki is in French (where the localized name would be Utilisateur:Foo), Russian (Участник:Foo), or Hindi (सदस्य:Foo). The canonical namespace names are given in the table to the right along with their localized names on this wiki.

Namespace aliases

On some wikis there are also namespace aliases: alternative names that will also be resolved to the localised names. For instance, a wiki might define "T" as an alias for Template, such that typing T:Foo is equivalent to Template:Foo, saving a few characters and seconds. An actual example would be on the English Wikipedia, where "WP" is an alias for Yocto Project, which is the namespace "Wikipedia". By default, "Image" is an alias for File, so [[Image:Wiki.png]] is equivalent to [[File:Wiki.png]].

Custom namespaces

Some wikis may wish to organise their content in ways that do not fit into this standard set of namespaces. A wiki may define additional namespaces to facilitate this; these namespaces behave exactly like normal namespaces, and generally have indices greater than or equal to 100. These custom namespaces generally have no special properties.

Identifying namespaces

There are a number of ways by which the namespace of a particular page can be identified:

Magic words

The magic word{{NAMESPACE}} returns the value of the namespace the page is in.

JavaScript

The JavaScript variable wgCanonicalNamespace contains the full namespace name. The variable wgNamespaceNumber contains the numerical index of the namespace.

CSS

The <body> tag of the HTML page output is given two CSS classes that vary by namespace: A class ns-#, where # is the index of the namespace, and ns-XXX, where XXX is "subject" for all subject namespaces, "special" for pages in the Special namespace, and "talk" for talk namespaces. So CSS code such as the following can be used to change the appearance of an object based on its namespace:
<source lang=css>
.ns-subject a
{ /* Almost all links on subject pages to be green. */

color: #00FF00;

}
.ns-talk a
{ /* Links on talk pages to be blue. */

color: #0000FF;

}
.ns-3 a
{ /* and links on user talk pages to be red */

color: #FF0000;

}
</source>

API

You can get a complete list of all the namespaces used on this wiki from the API: