Help:Magic words

From Freephile Wiki

Magic words are strings of text that MediaWiki associates with a return value or function, such as time, site details, or page names. This page is about usage of standard magic words; for a technical reference, see Manual:Magic words.

There are three general types of magic words:

  • Behavior switches: these are uppercase words surrounded by double underscores (eg __FOO__)
  • Variables: these are uppercase words surrounded by double braces (eg {{FOO}}). As such, they look a lot like templates
  • Parser functions: these take parameters and are either of the form {{foo:...}} or {{#foo:...}}.

Page-dependent magic words will affect or return data about the current page, even if the word is added through a transcluded template or included system message.

There is a {{CURRENTUSER}}, even if you can't find documentation about it. (Or any reference says don't use it.)

Behaviour switches[edit | edit source]

A behaviour switch controls the layout or behaviour of the page and can often be used to specify desired omissions and inclusions in the content.

Word Description Versions
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.
Editing
__NOEDITSECTION__ Hides the section edit links beside headings.
__NEWSECTIONLINK__ Adds a link (("+" by default) beside the "edit" tab for adding a new section on a non-talk page (see Adding a section to the end). 1.7+
Categories
__NOGALLERY__ Used on a category page, replaces thumbnails in the category view with normal links. 1.7+
__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). 1.13+
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.
__END__ Explicitly marks the end of the article, to prevent MediaWiki from removing trailing whitespace. Removed in 19213.
__INDEX__ Tell search engines to index the page (overrides $wgArticleRobotPolicies, but not robots.txt). 1.13+
__NOINDEX__ Tell search engines not to index the page (ie, do not list in search engines' results). 1.13+
__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". 1.13+

Variables[edit | edit source]

Variables return information about the current page, wiki, or date. Their syntax is similar to templates. If a template name conflicts with a variable, the variable will be used (so to transclude the template Template:PAGENAME you would need to write {{Template:PAGENAME}}). In some cases, adding parameters will force the parser to treat a variable as a template; for example, {{CURRENTDAYNAME|x}} transcludes Template:CURRENTDAYNAME.

Date & time[edit | edit source]

The following variables return the current date and time according to the user's timezone preferences, defaulting to the UTC timezone.

Due to MediaWiki and browser caching, these variables frequently show when the page was cached rather than the current time.

Variable Output Description Versions
Year
{{CURRENTYEAR}} 2024 Year
Month
{{CURRENTMONTH}} 12 Month (zero-padded number)
{{CURRENTMONTHNAME}} December Month (name)
{{CURRENTMONTHNAMEGEN}} December Month (genitive form)
{{CURRENTMONTHABBREV}} Dec Month (abbreviation) 1.5+
Day
{{CURRENTDAY}} 22 Day of the month (unpadded number)
{{CURRENTDAY2}} 22 Day of the month (zero-padded number) 1.6+
{{CURRENTDOW}} 0 Day of the week (unpadded number)
{{CURRENTDAYNAME}} Sunday Day of the week (name)
Time
{{CURRENTTIME}} 14:21 Time (24-hour HH:mm format)
{{CURRENTHOUR}} 14 Hour (24-hour zero-padded number)
Other
{{CURRENTWEEK}} 51 Week (number)
{{CURRENTTIMESTAMP}} 20241222142143 ISO 8601 time stamp 1.7+

The following variables do the same as the above, but using the site's local timezone instead of user preferences and UTC:

  • {{LOCALYEAR}}
  • {{LOCALMONTH}}
  • {{LOCALMONTHNAME}}
  • {{LOCALMONTHNAMEGEN}}
  • {{LOCALMONTHABBREV}}
  • {{LOCALDAY}}
  • {{LOCALDAY2}}
  • {{LOCALDOW}}
  • {{LOCALDAYNAME}}
  • {{LOCALTIME}}
  • {{LOCALHOUR}}
  • {{LOCALWEEK}}
  • {{LOCALTIMESTAMP}}

Technical metadata[edit | edit source]

Revision variables return data about the latest edit to the current page, even if viewing an older version of the page.

Variable Output Description Versions
Site
{{SITENAME}} Freephile Wiki The wiki's site name ($wgSitename).
{{SERVER}} https://wiki.freephile.org domain URL ($wgServer)
{{SERVERNAME}} wiki.freephile.org domain name ($wgServerName)
{{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. 1.7+
{{SCRIPTPATH}} /wiki relative script path ($wgScriptPath)
{{CURRENTVERSION}} 1.39.10 (3a7eb94) The wiki's MediaWiki version. 1.7+
{{CONTENTLANGUAGE}} en The wiki's default interface language ($wgLanguageCode) 1.7+
Latest revision to current page
{{REVISIONID}} 9124 Unique ID 1.5+
{{REVISIONDAY}} 14 Day edit was made (unpadded number) 1.8+
{{REVISIONDAY2}} 14 Day edit was made (zero-padded number) 1.8+
{{REVISIONMONTH}} 08 Month edit was made (unpadded number) 1.8+
{{REVISIONYEAR}} 2018 Year edit was made 1.8+
{{REVISIONTIMESTAMP}} 20180814041744 Timestamp as of time of edit 1.8+
{{PAGESIZE:page name}} 22,439 Returns the byte size of the specified page. 1.13+
{{PROTECTIONLEVEL:action}} protection level Outputs the protection level (e.g. 'autoconfirm', 'sysop') for a given action (e.g. 'edit', 'move') on the current page or an empty string if not protected. 1.15+
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. It can be disabled or enabled by $wgAllowDisplayTitle; disabled by default before 1.10+, enabled by default thereafter. 1.7+
{{DEFAULTSORT:sortkey}} Used on a categorized page, sets a default category sort key. 1.10+

Statistics[edit | edit source]

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}} → 2,960 and {{NUMBEROFPAGES:R}} → 2960). Use "|R" for magic words that require a parameter like PAGESINCATEGORY (for example {{PAGESINCATEGORY:Help}} and {{PAGESINCATEGORY:Help|R}}).

Variable Output Description Versions
Entire wiki
{{NUMBEROFPAGES}} 2,960 Number of wiki pages. 1.7+
{{NUMBEROFARTICLES}} 416 Number of pages in main namespace.
{{NUMBEROFFILES}} 1,582 Number of uploaded files. 1.5+
{{NUMBEROFEDITS}} 10,327 Number of page edits. 1.10+
{{NUMBEROFUSERS}} 26 Number of registered users. 1.7+
{{NUMBEROFADMINS}} 3 Number of users in the sysop group. 1.7+
{{PAGESINCATEGORY:categoryname}}
{{PAGESINCAT:Help}}
66
66
Number of pages in the given category (replace "Help" with the relevant category name). 1.13+
{{NUMBERINGROUP:groupname}} 2
({{NUMBERINGROUP:bureaucrat}} used here)
Number of users in a specific group. 1.14+
{{PAGESINNS:index}}
{{PAGESINNAMESPACE:index}}
not enabled Number of pages in the given namespace (replace 2 with the relevant namespace index). E.g. {{PAGESINNAMESPACE:14}} equals the number of categories. Disabled by default, enable with $wgAllowSlowParserFunctions. 1.7+

Page names[edit | edit source]

Variable Output Description Versions
{{FULLPAGENAME}} Help:Magic words Namespace and page title. 1.6+
{{PAGENAME}} Magic words Page title.
{{BASEPAGENAME}} Magic words Page title excluding the current subpage and namespace ("Title" on "Title/foo"). 1.7+
{{SUBPAGENAME}} Magic words The subpage title ("foo" on "Title/foo"). 1.6+
{{SUBJECTPAGENAME}} Help:Magic words The namespace and title of the associated content page. 1.7+
{{TALKPAGENAME}} Help talk:Magic words The namespace and title of the associated talk page. 1.7+

The following are URL-encoded equivalents:

  • {{FULLPAGENAMEE}}
  • {{PAGENAMEE}}
  • {{BASEPAGENAMEE}}
  • {{SUBPAGENAMEE}}
  • {{SUBJECTPAGENAMEE}}
  • {{TALKPAGENAMEE}}

Namespaces[edit | edit source]

Variable Output Description Versions
{{NAMESPACE}} Help Namespace (name)
{{SUBJECTSPACE}}
{{ARTICLESPACE}}
Help
Help
Name of the associated content namespace 1.7+
{{TALKSPACE}} Help talk Name of the associated talk namespace 1.7+

The following are URL-encoded equivalents:

  • {{NAMESPACEE}}
  • {{SUBJECTSPACEE}}
  • {{TALKSPACEE}}

Parser functions[edit | edit source]

Parser functions are very similar to variables, but operate on user input instead of the current page.

This page only describes parser functions that are integral to the MediaWiki software. Other parser functions may be added by MediaWiki extensions such as the ParserFunctions extension.

URL data[edit | edit source]

Variable Output Description Versions
{{localurl:page name}}
{{localurl:page name|query string}}
/wiki/Page_name
/wiki/index.php?title=Page_name&query string
relative path to title
{{fullurl:page name}}
{{fullurl:page name|query_string}}
https://wiki.freephile.org/wiki/Page_name
https://wiki.freephile.org/wiki/index.php?title=Page_name&query_string
absolute path to title 1.5+
{{filepath:file name}}
{{filepath:file name|nowiki}}
Wiki.png
https://wiki.freephile.org/wiki/img_auth.php/b/bc/Wiki.png
The absolute URL to a media file. 1.12+
{{urlencode:string}} x+y+z The input encoded for use in URLs. 1.7+
{{anchorencode:string}} x_y_z The input encoded for use in URL section anchors (after the '#' symbol in a URL). 1.8+

Namespaces[edit | edit source]

{{ns:}} returns the localized name for the namespace with that index.

Usage Output Usage Output
{{ns:-2}} or {{ns:Media}} Media {{ns:-1}} or {{ns:Special}} Special
{{ns:0}} {{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}} Freephile Wiki {{ns:5}} or {{ns:Project_talk}} Freephile Wiki talk
{{ns:6}} or {{ns:Image}} File {{ns:7}} 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[edit | edit source]

Usage Output Description Version
{{lc:string}} xyz The lowercase input. 1.5+
{{lcfirst:string}} xYZ The input with the first character lowercase. 1.5+
{{uc:string}} XYZ The uppercase input. 1.5+
{{ucfirst:string}} Xyz The input with the first character uppercase. 1.5+
{{formatnum:number}} −987,654,321.654321 The input with decimal and decimal group separators, and localized digit script, according to the wiki's default locale. 1.7+
{{padleft:xyz|number}}
{{padleft:xyz|number|separator}}
00xyz
__xyz
The input (first parameter) padded on the left side to the specified width (second parameter) using the specified character (third parameter). If a padding character isn't specified, '0' is used by default.
bug: multibyte characters are interpreted as two characters, which can skew width. These also cannot be used as padding characters.
1.8+
{{padright:xyz|number}}
{{padright:xyz|number|separator}}
xyz00
xyz__
Identical to padleft, but adds padding characters to the right side.
{{plural:2|is|are}} are Outputs the correct given pluralization form (parameters except first) depending on the count (first parameter). Plural transformations are used for languages like Russian based on "count mod 10".
{{grammar:N|noun}} 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 Manual:$wgGrammarForms.

1.7+

Miscellaneous[edit | edit source]

Usage Output Description Version
{{#language:language code}}
{{#language:ar}}
{{#language:th}}
language code
العربية
ไทย
The native name for the given language code. 1.7+
{{#special:special page name}} Special:UserLogin The localized name for the given canonical Special: page. 1.9+
{{#tag:tagname}}
{{#tag:tagname|tag content|parameter=value|parameter2=value}}
(depends on parser tag) Alias for XML-style parser or extension tags, but parsing wiki code. Attribute values can be passed as parameter values ('<tagname attribute="value">' → '{{#tag:tagname|attribute=value}}'), and inner content as an unnamed parameter ('<tagname>content</tagname>' → '{{#tag:tagname|content}}'). 1.12+
⧼tpt-languages-legend/Magic words⧽ English