Help:Magic words
Contributor's guide — Guidelines — Fixing errors howto
Editing pages — Talk pages — Formatting
Code of conduct — Wiki project page — About Gentoo wiki — Wiki FAQ
Help improve the documentation! — Contributing to Gentoo
Magic words are strings of text that MediaWiki associates with a return value or function, such as time, site details, or page names.
There are three general types of magic words:
- Behavior switches are uppercase words surrounded by double underscores, such as
__FOO__
. - Variables are uppercase words surrounded by double braces, such as
{{FOO}}
. As such, they look a lot like templates. - Parser functions take parameters and are either of the form
{{foo:...}}
or{{#foo:...}}
. See also Help:Extension:ParserFunctions.
Page-dependent magic words will affect or return data about the current page (by default), even if the word is added through a transcluded template or included system message.
Behavior switches
A behavior switch controls the layout or behavior of the page and can often be used to specify desired omissions and inclusions in the content.
Word | Description | |
---|---|---|
Table of contents | ||
__NOTOC__
|
Hides the table of contents (TOC). | |
__FORCETOC__
|
Forces the table of content to appear at its normal position (above the first header). | |
__TOC__
|
Places a table of contents at the word's current position (overriding __NOTOC__ ). If this is used multiple times, the table of contents will appear at the first word's position. It is possible to suppress the auto-generated section numbers, if the proper class exists locally at MediaWiki:Common.css, defined as .tocnumber { display: none; } .
| |
Editing | ||
__NOEDITSECTION__
|
Hides the section edit links beside headings. | |
__NEWSECTIONLINK__
|
Adds a link "+" beside the "edit" tab for adding a new section on a non-talk page (see Adding a section to the end (meta.wikimedia.org)). | |
__NONEWSECTIONLINK__
|
Removes the link beside the "edit" tab on pages in talk namespaces. | |
Categories | ||
__NOGALLERY__
|
Used on a category page, replaces thumbnails in the category view with normal links. | |
__HIDDENCAT__
|
Used on a category page, hides the category from the lists of categories in its members and parent categories (there is an option in the user preferences to show them). | |
Language conversion | ||
__NOCONTENTCONVERT__ __NOCC__
|
On wikis with language variants, don't perform any content language conversion (character and phase) in article display; for example, only show Chinese (zh) instead of variants like zh_cn, zh_tw, zh_sg, or zh_hk. | |
__NOTITLECONVERT__ __NOTC__
|
On wikis with language variants, don't perform language conversion on the title (all other content is converted). | |
Other | ||
__START__
|
No effect. | |
__INDEX__
|
Tell search engines to index the page (overrides $wgArticleRobotPolicies , but not robots.txt).
| |
__NOINDEX__
|
Tell search engines not to index the page (i.e., do not list in search engines' results). | |
__STATICREDIRECT__
|
On redirect pages, don't allow MediaWiki to automatically update the link when someone moves a page and checks "Update any redirects that point to the original title". |
Variables
Variables return information about the current page, wiki, or date. Their syntax is similar to templates. Variables marked as "[expensive]" are tracked by the software, and the number that can be included on a page is limited.
If a template name conflicts with a variable, the variable will be used. This can be avoided by specifying the namespace explicitly. For example, if the variable PAGENAME
exists, {{Template:PAGENAME}}
) should be used to transclude the template at Template:PAGENAME
. In some cases, adding parameters will force the parser to invoke a template; for example, {{CURRENTDAYNAME|x}}
transcludes {{Template:CURRENTDAYNAME}}
", not the variable.
Date and time
The following variables return the current date and time in UTC.
Due to MediaWiki and browser caching, these variables frequently show when the page was cached, rather than the current time. The date and time magic words are formatted in the English language.
Variable | Output | Description | |
---|---|---|---|
Year | |||
{{CURRENTYEAR}}
|
2024 | Year | |
Month | |||
{{CURRENTMONTH}}
|
11 | Month (zero-padded number) | |
{{CURRENTMONTHNAME}}
|
November | Month (name) | |
{{CURRENTMONTHNAMEGEN}}
|
November | Month (genitive form) | |
{{CURRENTMONTHABBREV}}
|
Nov | Month (abbreviation) | |
Day | |||
{{CURRENTDAY}}
|
5 | Day of the month (unpadded number) | |
{{CURRENTDAY2}}
|
05 | Day of the month (zero-padded number) | |
{{CURRENTDOW}}
|
2 | Day of the week (unpadded number) | |
{{CURRENTDAYNAME}}
|
Tuesday | Day of the week (name) | |
Time | |||
{{CURRENTTIME}}
|
06:48 | Time (24-hour HH:mm format) | |
{{CURRENTHOUR}}
|
06 | Hour (24-hour zero-padded number) | |
Other | |||
{{CURRENTWEEK}}
|
45 | Week (number) | |
{{CURRENTTIMESTAMP}}
|
20241105064849 | YYYYMMDDHHmmss timestamp |
The following variables do the same as the above, but using the site's server config or $wgLocaltimezone
.
{{LOCALYEAR}}
{{LOCALMONTH}}
{{LOCALMONTHNAME}}
{{LOCALMONTHNAMEGEN}}
{{LOCALMONTHABBREV}}
{{LOCALDAY}}
{{LOCALDAY2}}
{{LOCALDOW}}
{{LOCALDAYNAME}}
{{LOCALTIME}}
{{LOCALHOUR}}
{{LOCALWEEK}}
{{LOCALTIMESTAMP}}
The #time parser function can be used if more granularity is needed.
Technical metadata
Revision variables return data about the latest edit to the current page, even if viewing an older version of the page.
Variable | Output | Description | |
---|---|---|---|
Site | |||
{{SITENAME}}
|
Gentoo Wiki | The wiki's site name ($wgSitename ).
| |
{{SERVER}}
|
https://wiki.gentoo.org | domain URL ($wgServer )
| |
{{SERVERNAME}}
|
wiki.gentoo.org | domain name | |
{{DIRMARK}} {{DIRECTIONMARK}}
|
|
Outputs a unicode-directional mark that matches the wiki's default language's direction (‎ on left-to-right wikis, ‏ on right-to-left wikis), useful in text with multi-directional text.
| |
{{SCRIPTPATH}}
|
relative script path ($wgScriptPath )
| ||
{{STYLEPATH}}
|
/skins | relative style path ($wgStylePath )
| |
{{CURRENTVERSION}}
|
1.35.9 | The wiki's MediaWiki version. | |
{{CONTENTLANGUAGE}} {{CONTENTLANG}}
|
en en |
The wiki's default interface language ($wgLanguageCode )
| |
Latest revision to current page | |||
{{REVISIONID}}
|
1292318 | Unique revision ID | |
{{REVISIONDAY}}
|
14 | Day edit was made (unpadded number) | |
{{REVISIONDAY2}}
|
14 | Day edit was made (zero-padded number) | |
{{REVISIONMONTH}}
|
04 | Month edit was made (zero-padded number) | |
{{REVISIONMONTH1}}
|
4 | Month edit was made (unpadded number) | |
{{REVISIONYEAR}}
|
2024 | Year edit was made | |
{{REVISIONTIMESTAMP}}
|
20240414081350 | Timestamp as of time of edit | |
{{REVISIONUSER}}
|
Waldo Lemmer | The username of the user who made the most recent edit to the page, or the current user when previewing an edit | |
{{PAGESIZE:page name}} {{PAGESIZE:page name|R}}
|
36,183 36183 |
[expensive] Returns the byte size of the specified page. Use "|R " to get raw numbers.
| |
{{PROTECTIONLEVEL:action}}
|
protection level | Outputs the protection level (e.g. 'autoconfirmed', 'sysop') for a given action (e.g. 'edit', 'move') on the current page or an empty string if not protected. | |
Affects page content | |||
{{DISPLAYTITLE:title}}
|
Format the current page's title header. The value must be equivalent to the default title: only capitalization changes and replacing spaces with underscores are allowed. | ||
{{DEFAULTSORT:sortkey}} {{DEFAULTSORTKEY:sortkey}} {{DEFAULTCATEGORYSORT:sortkey}}
|
Used for categorizing pages. Sets a default category sort key. For example, {{DEFAULTSORT:Update, BIOS}} at the end of BIOS Update would cause it to be sorted under "U" by default in categories.
|
Statistics
Numbers returned by these variables normally contain separators (commas or spaces, depending on the local language), but can return raw numbers with the ":R" flag (for example, {{NUMBEROFPAGES}}
→ 173,569 and {{NUMBEROFPAGES:R}}
→ 173569). Use "|R" for magic words that require a parameter like PAGESINCATEGORY (for example {{PAGESINCATEGORY:Help}}
and {{PAGESINCATEGORY:Help|R}}
). Also applicable to {{PAGESIZE:page name}}
above.
The number magic words are formatted in the English language.
Variable | Output | Description | |
---|---|---|---|
Entire wiki | |||
{{NUMBEROFPAGES}}
|
173,569 | Number of wiki pages. | |
{{NUMBEROFARTICLES}}
|
8,792 | Number of pages in content namespaces. | |
{{NUMBEROFFILES}}
|
662 | Number of uploaded files. | |
{{NUMBEROFEDITS}}
|
665,618 | Number of page edits. | |
{{NUMBEROFUSERS}}
|
8,326 | Number of registered users. | |
{{NUMBEROFADMINS}}
|
6 | Number of users in the sysop group. | |
{{NUMBEROFACTIVEUSERS}}
|
98 | Number of active users, based on the criteria used in Special:Statistics. | |
{{PAGESINCATEGORY:categoryname}} {{PAGESINCAT:categoryname}}
|
176 176 |
[expensive] Number of pages in the given category. | |
{{NUMBERINGROUP:groupname}} {{NUMINGROUP:groupname}}
|
4 4 |
Number of users in a specific group. |
Page names
Variable | Output | Description |
---|---|---|
{{FULLPAGENAME}}
|
Help:Magic words | Namespace and page title. |
{{PAGENAME}}
|
Magic words | Page title. |
{{BASEPAGENAME}}
|
Magic words | Page title excluding the current subpage and namespace ("Title/Foo" on "Help:Title/Foo/Bar").
For more complex splitting, use |
{{SUBPAGENAME}}
|
Magic words | The subpage title ("Foo" on "Title/Foo"). |
{{SUBJECTPAGENAME}}
|
Help:Magic words | The namespace and title of the associated subject page. |
{{TALKPAGENAME}}
|
Help talk:Magic words | The namespace and title of the associated talk page. |
The {{BASEPAGENAME}}
and {{SUBPAGENAME}}
magic words only work in namespaces that have subpages enabled.
The following are equivalents encoded for use in MediaWiki URLs (i.e. spaces replaced with underscores and some characters percent-encoded):
{{FULLPAGENAMEE}}
{{PAGENAMEE}}
{{BASEPAGENAMEE}}
{{SUBPAGENAMEE}}
{{SUBJECTPAGENAMEE}}
{{TALKPAGENAMEE}}
These can all take a parameter, allowing specification of the page to be operated on, instead of just the current page:
{{PAGENAME:Template:Main Page}}
→ Main Page
Page titles containing certain characters, such as single quotes (
'
) or asterisks (*
), may produce unexpected results when handled with these magic words, e.g. {{PAGESINCATEGORY:{{PAGENAME}}}}
. See bugs 14779, 16474.Note that {{PAGENAME}}
, {{PAGENAMEE}}
and {{urlencode:}}
have distinct implementations. See Manual:PAGENAMEE encoding for details.
Namespaces
Variable | Output | Description |
---|---|---|
{{NAMESPACE}}
|
Help | Name of the page's namespace |
{{SUBJECTSPACE}} {{ARTICLESPACE}}
|
Help Help |
Name of the associated content namespace |
{{TALKSPACE}}
|
Help talk | Name of the associated talk namespace |
The following are equivalents encoded for use in MediaWiki URLs (spaces replaced with underscores and some characters percent-encoded):
{{NAMESPACEE}}
{{SUBJECTSPACEE}}
{{TALKSPACEE}}
These can take a full-page-name parameter and will return the requested namespace associated with that page, instead of with the current page:
{{NAMESPACE:Template:Main Page}}
→ Template{{SUBJECTSPACE:Template:Main Page}}
→ Template{{TALKSPACE:Template:Main Page}}
→ Template talk
Parameter must not be a namespace name:
{{SUBJECTSPACE:Help talk}}
→ '
Parser functions
Parser functions are very similar to variables, but take one or more parameters (technically, any magic word that takes a parameter is a parser function), and the name is sometimes prefixed with a hash to distinguish them from templates.
This page only describes parser functions that are integral to the MediaWiki software. Other parser functions are added by the ParserFunctions extension — see Help:Extension:ParserFunctions.
URL data
Parser function | Input → Output | Description |
---|---|---|
{{localurl:page name}} {{localurl:page name|query_string}}
|
{{localurl:MediaWiki}} → /wiki/MediaWiki{{localurl:MediaWiki|printable=yes}} → /index.php?title=MediaWiki&printable=yes |
The relative path to the title. |
{{fullurl:page name}} {{fullurl:page name|query_string}} {{fullurl:interwiki:remote page name|query_string}}
|
{{fullurl:Category:Top level}} → https://wiki.gentoo.org/wiki/Category:Top_level
|
The absolute path to the title. This will also resolve Interwiki prefixes. |
{{filepath:file name}} {{filepath:file name|nowiki}}
|
{{filepath:Wiki.png}} → https://wiki.gentoo.org/images/b/bc/Wiki.png
|
The absolute URL to the full size of a media file. |
{{urlencode:string}} (or {{urlencode:string|QUERY}} ){{urlencode:string|WIKI}} {{urlencode:string|PATH}}
|
{{urlencode:x y z á é}} (or {{urlencode:x y z á é|QUERY}}) → x+y+z+%C3%A1+%C3%A9{{urlencode:x y z á é|WIKI}} → x_y_z_%C3%A1_%C3%A9{{urlencode:x y z á é|PATH}} → x%20y%20z%20%C3%A1%20%C3%A9
Note that the default changed from |
The input encoded for use in URLs. Note that there is no urldecode function like there is in the obsolete Extension:StringFunctions. |
{{anchorencode:string}}
|
{{anchorencode:x y z á é}} → x_y_z_.C3.A1_.C3.A9
|
The input encoded for use in URL section anchors (after the '#' symbol in a URL). |
Namespaces
{{ns:}}
returns the current localized name for the namespace with that index, canonical name, or local alias. Thus, {{ns:6}}
, {{ns:File}}
, and {{ns:Image}}
(an old name for the File namespace) all return "File". On a wiki where the content language was French, {{ns:Fichier}}
would also be valid, but {{ns:Datei}}
(the localisation of "File" into German) would not.
{{nse:}}
is the equivalent encoded for MediaWiki URLs. It does the same, but it replaces spaces with underscores, making it usable in external links.
Content namespaces | Talk namespaces | |||
---|---|---|---|---|
Usage | Output | Usage | Output | |
{{ns:-2}} or {{ns:Media}}
|
Media | |||
{{ns:-1}} or {{ns:Special}}
|
Special | |||
{{ns:0}} or {{ns:}}
|
{{ns:1}} or {{ns:Talk}}
|
Talk | ||
{{ns:2}} or {{ns:User}}
|
User | {{ns:3}} or {{ns:User talk}}
|
User talk | |
{{ns:4}} or {{ns:Project}}
|
Gentoo Wiki | {{ns:5}} or {{ns:Project talk}}
|
Gentoo Wiki talk | |
{{ns:6}} or {{ns:File}} or {{ns:Image}}
|
File | {{ns:7}} or {{ns:File talk}} or {{ns:Image talk}}
|
File talk | |
{{ns:8}} or {{ns:MediaWiki}}
|
MediaWiki | {{ns:9}} or {{ns:MediaWiki talk}}
|
MediaWiki talk | |
{{ns:10}} or {{ns:Template}}
|
Template | {{ns:11}} or {{ns:Template talk}}
|
Template talk | |
{{ns:12}} or {{ns:Help}}
|
Help | {{ns:13}} or {{ns:Help talk}}
|
Help talk | |
{{ns:14}} or {{ns:Category}}
|
Category | {{ns:15}} or {{ns:Category talk}}
|
Category talk |
Formatting
Usage | Input → Output | Description |
---|---|---|
{{lc:string}}
|
{{lc:DATA CENTER}} → data center
|
The lowercase input. |
{{lcfirst:string}}
|
{{lcfirst:DATA center}} → dATA center
|
The input with the very first character lowercase. |
{{uc:string}}
|
{{uc:text transform}} → TEXT TRANSFORM
|
The uppercase input. |
{{ucfirst:string}}
|
{{ucfirst:text TRANSFORM}} → Text TRANSFORM
|
The input with the very first character uppercase. |
{{formatnum:unformatted num}} {{formatnum:formatted num|R}}
|
{{formatnum:987654321.654321}} → 987,654,321.654321 {{formatnum:987,654,321.654321|R}} → 987654321.654321 {{formatnum:00001}} → 00,001 |
The input with decimal and decimal group separators, and localized digit script, according to the wiki's default locale. The |R parameter can be used to unformat a number, for use in mathematical situations. Warning
Leading zeroes are not removed. {{#expr:00001}} can be used instead. |
|
|
Formats an unlinked date based on user "Date format" preference, and adds metadata tagging it as a formatted date. For logged-out users and those who have not set a date format in their preferences, dates can be given a default: mdy , dmy , ymd , ISO 8601 (all case sensitive). If only the month and day are given, only mdy and dmy are valid. If a format is not specified or is invalid, the input format is used as a default. If the supplied date is not recognized as a valid date (specifically, if it contains any metadata such as from a nested use of these or similar templates), it is rendered unchanged, and no (additional) metadata is generated.Warning: Although the ISO 8601 standard requires that dates be in the Gregorian calendar, the ISO parameter in this function will still format dates that fall outside the usual Gregorian range (e.g. dates prior to 1583). Also, the magic word cannot properly convert between negative years (used with ISO 8601) and years BC or years BCE (used in general writing). |
{{padleft:xyz|stringlength}} {{padleft:xyz|strlen|char}} {{padleft:xyz|strlen|string}}
|
{{padleft:xyz|5}} → 00xyz{{padleft:xyz|5|_}} → __xyz {{padleft:xyz|5|abc}} → abxyz {{padleft:xyz|2}} → xyz{{padleft:|1|xyz}} → x (first character of the string) |
Inserts a string of padding characters (character chosen in third parameter; default '0') of a specified length (second parameter) next to a chosen base character or variable (first parameter). The final digits or characters in the base replace the final characters in the padding; i.e. {{padleft:44|3|0}} produces 044. The padding string may be truncated if its length does not evenly divide the required number of characters.
|
{{padright:xyz|stringlength}} {{padright:xyz|strlen|char}} {{padright:xyz|strlen|string}}
|
{{padright:xyz|5}} → xyz00
|
Identical to padleft, but adds padding characters to the right side. |
{{plural:2|is|are}}
|
{{plural:0|is|are}} → are{{plural:1*1|is|are}} → is{{plural:21 mod 10|is|are}} → are{{plural:{{#expr:21 mod 10}}|is|are}} → is{{plural:1|is|are}} → is{{plural:2|is|are}} → are(for Polish): {{plural:2|milion|miliony|milionów}} → miliony
|
Outputs the singular form (second parameter) if the first parameter is an expression equalling one; the plural form (third parameter) otherwise. Plural transformations are used for languages like Russian based on "count mod 10". This should not be expected to handle fractions (like 44.5) — see bug 28128. |
{{grammar:N|noun}}
|
Outputs the correct inflected form of the given word described by the inflection code after the colon (language-dependent). Grammar transformations are used for inflected languages like Polish. See also $wgGrammarForms .
|
Extension:StringFunctions
Miscellaneous
Usage | Output | Description |
---|---|---|
{{int:message name}}
|
{{int:edit}} → Edit (depends on user language, try: fr •ja) |
Internationalizes (translates) the given interface (MediaWiki namespace) message into the user language. Note that this can damage/confuse cache consistency, see bug 14404. |
{{#language:language code}}
|
language code العربية |
The full name of the language for the given language code: native name by default. Codes are mostly in accordance with ISO 639. |
{{#special:special page name}}
|
Special:Special page name Special:UserLogin |
The localized name for the given canonical Special: page. |
{{#tag:tagname
|
(depends on parser tag) | Alias for XML-style parser or extension tags, but parsing wiki code. Inner content can be passed as first parameter, and attributes as subsequent ones:
No spaces are allowed between the | and the attribute name. Empty content can be written as follows: |
{{gender:username
|
(depends on the named user's gender) | A switch for the gender set in Special:Preferences Note: If 3rd parameter is omitted and user hasn't defined their gender, then |