Help:Namespaces
Note: When you edit this page, you agree to release your contribution under the CC0. See Public Domain Help Pages for more info. |
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/en
) indicates that this page is in the Help
namespace. Each namespace is identified by a number and a name, which can be translated and can also have some aliases.
A page whose name is not prefixed by a namespace lies in the mainspace. Note, however, that colons and prefixes can also appear in page titles without indicating a namespace: the page Foo:Namespaces/en
is a page located in the mainspace because the namespace “Foo” does not exist. Similarly the page Help:Foo:Namespaces/en
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 used for direct linking to media files: the link [[Media:MediaWiki-2020-logo.svg]]
links to just the image rather than the image description page, which would be [[:File:MediaWiki-2020-logo.svg]]
.
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 interface administrators (or administrators before MediaWiki 1.32).
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:
This notice continues to appear until the user loads their user talk page to read the message.
Tip for wiki admins: Extensions like Echo may override this behavior.
Project
This namespace is normally used for meta-discussions related to the operation and development of the wiki. It automatically redirects the user to a namespace labeled after the wiki's name, example: [[Project:Licenses]] → [[Wikipedia:Licenses]].
Because this namespace's name changes from wiki to wiki, you may want to simply look at the 5th entry in any dropdown containing a list of all namespaces. The project namespace will be listed immediately after the User talk namespace. On some wiki farms, the name "Meta" may be used for this namespace.
Project talk
This is a talk namespace that is normally used for discussions related to the associated project pages. It has no special properties.
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:MediaWiki-2020-logo.svg|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:MediaWiki-2020-logo.svg|right]]
produces File:MediaWiki-2020-logo.svg.
The standard MediaWiki installation has alias “Image” for “File” namespace – See Namespace aliases.
For linking media files directly, bypassing the description page, see Media namespace.
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.” 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 can only be edited by users with the (editinterface)
user right.
Since MediaWiki 1.32, JavaScript and CSS pages needs also editinterface
and (respectively) editsitejs
or editsitecss
rights to edit.
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. See Help namespace content.
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.
Localisation
Namespace names and aliases can be localized by developers. To request the localization of namespace names, please file a MediaWiki internationalization task at Phabricator . In the description of the task, you should provide translations of all the namespaces in the table to the right, as well as any additional namespaces on your wiki (such as "Module" or "Gadget").
If the site's language is Chinese, then namespace names are translated only when the content is converted and there is no __NOTITLECONVERT__
or __NOTC__
or magic words on a page.
Renaming namespaces
Number | Canonical name | Localized name |
---|---|---|
-2 | Media | Media |
-1 | Special | Special |
0 | (Main) | |
1 | Talk | Talk |
2 | User | User |
3 | User talk | User talk |
4 | Project | Project |
5 | Project talk | Project talk |
6 | File | File |
7 | File talk | File talk |
8 | MediaWiki | MediaWiki |
9 | MediaWiki talk | MediaWiki talk |
10 | Template | Template |
11 | Template talk | Template talk |
12 | Help | Help |
13 | Help talk | Help talk |
14 | Category | Category |
15 | 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 (using Namespace manager). 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 Project, which is the namespace "Wikipedia".
By default, "Image" is an alias for File, so [[Image:MediaWiki-2020-logo.svg]]
is equivalent to [[File:MediaWiki-2020-logo.svg]]
.
Custom namespaces
- See Manual:Using custom namespaces for more information.
Some wikis may wish to organize 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.
To refer to another namespace, use {{ns:<name>}}
(e.g. {{ns:Project}}
), or {{SUBJECTSPACE}}
/ {{TALKSPACE}}
to refer to the namespace paired with the current one.
- 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:
.ns-subject a { /* Almost all links on subject pages to be green. */
color: #0f0;
}
.ns-talk a { /* Links on talk pages to be blue. */
color: #00f;
}
.ns-3 a { /* and links on user talk pages to be red */
color: #f00;
}
You can get a complete list of all namespace names of a MediaWiki installation from the Search results page Advanced tab, or from any recent changes page such as contributions or watchlist in its options box, in a drop-down list. For the system properties of each namespace, use the MediaWiki API :
- API