Help:Namespaces

From STEMRobotics

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 which can contain user-generated content; there are also two special namespaces which contain pages created 'on the fly' by the MediaWiki software. The standard namespaces are organised 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.

-2: 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 Image:Wiki.png.

-1: Special

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

0: (Main)

Namespace zero is the 'null' namespace, 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.

1: Talk

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

2: 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.

3: 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:

5: STEMRobotics_talk

6: Image

The Image 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 Image 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: [[Image: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: [[:Image:Wiki.png|right]] produces Image:Wiki.png.
The standard MediaWiki installation has alias "Image" for Image namespace - See Namespace aliases.

7: Image_talk

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

8: MediaWiki

The MediaWiki namespace is used to hold system messages and other important content. For instance, the page MediaWiki:Edit 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 which 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.

9: MediaWiki_talk

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

10: Template

The Template namespace is used to hold templates, blocks of text or wikicode that are intended to be transcluded in 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}}.

11: Template_talk

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

12: Help

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

13: Help_talk

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

14: 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.

15: Category_talk

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

Localisation

Renaming namespaces

Canonical name

Localised name

Media

Media

Special

Special

(Main)

Talk

Talk

User

User

User talk

User_talk

Project

STEMRobotics

Project talk

STEMRobotics_talk

File

Image

File talk

Image_talk

MediaWiki

MediaWiki

MediaWiki talk

MediaWiki_talk

Template

Template

Template talk

Template_talk

Help

Help

Help talk

Help_talk

Category

Category

Category talk

Category_talk

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 'localised' 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 localised 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 localised 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. By default, "Image" is an alias for Image, so [[Image:Wiki.png]] is equivalent to [[Image: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 content 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:

.ns-subject a {/* All links on content 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;}

API

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