Help:Magic words
Part of a series of tutorials for the Refuge Wiki | |||||||||||||||||||
Tutorial Navigation
| |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Demo Pages
| |||||||||||||||||||
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: 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.
Behaviour switches
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 |
---|---|
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 beside the "edit" tab for adding a new section on a non-talk page. |
__NONEWSECTIONLINK__ | Removes the link beside the "edit" tab on pages in talk namespaces. NOT YET IMPLEMENTED ON THIS WIKI |
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 | |
__INDEX__ | Tell search engines to index the page (overrides $wgArticleRobotPolicies, but not robots.txt). |
__NOINDEX__ | Tell search engines not to index the page (ie, 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. 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.
Variables highlighted in orange are considered 'expensive', and the number that can be included on a page is limited.
Date & time
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 |
---|---|---|
Year | ||
{{CURRENTYEAR}} | 2024 | Year |
Month | ||
{{CURRENTMONTH}} | 12 | Month (zero-padded number) |
{{CURRENTMONTHNAME}} | December | Month (name) |
{{CURRENTMONTHNAMEGEN}} | December | Month (genitive form) |
{{CURRENTMONTHABBREV}} | Dec | Month (abbreviation) |
Day | ||
{{CURRENTDAY}} | 3 | Day of the month (unpadded number) |
{{CURRENTDAY2}} | 03 | Day of the month (zero-padded number) |
{{CURRENTDOW}} | 2 | Day of the week (unpadded number) |
{{CURRENTDAYNAME}} | Tuesday | Day of the week (name) |
Time | ||
{{CURRENTTIME}} | 17:12 | Time (24-hour HH:mm format) |
{{CURRENTHOUR}} | 17 | Hour (24-hour zero-padded number) |
Other | ||
{{CURRENTWEEK}} | 49 | Week (number) |
{{CURRENTTIMESTAMP}} | 20241203171256 | YYYYMMDDHHmmss timestamp |
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}}
- For more thorough time formatting, you may want to install Extension:ParserFunctions to use the time parser function
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}} | Refuge Wiki | The wiki's site name ($wgSitename). |
{{SERVER}} | http://wiki.calref.ca | domain URL ($wgServer) |
{{SERVERNAME}} | wiki.calref.ca | 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.
|
{{SCRIPTPATH}} | relative script path ($wgScriptPath) | |
{{CURRENTVERSION}} | 1.42.1 | The wiki's MediaWiki version. |
{{CONTENTLANGUAGE}} | en-gb | The wiki's default interface language ($wgLanguageCode) |
Latest revision to current page | ||
{{REVISIONID}} | 152 | Unique ID |
{{REVISIONDAY}} | 7 | Day edit was made (unpadded number) |
{{REVISIONDAY2}} | 07 | Day edit was made (zero-padded number) |
{{REVISIONMONTH}} | 02 | Month edit was made (unpadded number) |
{{REVISIONYEAR}} | 2019 | Year edit was made |
{{REVISIONTIMESTAMP}} | 20190207185554 | Timestamp as of time of edit |
{{PAGESIZE:page name}} | 24,695 | Returns the byte size of the specified page. |
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. | |
{{DEFAULTSORT:sortkey}} | Used on a categorized page, sets a default category sort key. |
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}}
→ 790 and {{NUMBEROFPAGES:R}}
→ 790). Use "|R" for magic words that require a parameter like PAGESINCATEGORY (for example {{PAGESINCATEGORY:Help}}
and {{PAGESINCATEGORY:Help|R}}
).
Variable | Output | Description |
---|---|---|
Entire wiki | ||
{{NUMBEROFPAGES}} | 790 | Number of wiki pages. |
{{NUMBEROFARTICLES}} | 271 | Number of pages in main namespace. |
{{NUMBEROFFILES}} | 241 | Number of uploaded files. |
{{NUMBEROFEDITS}} | 2,375 | Number of page edits. |
{{NUMBEROFVIEWS}} | Template:NUMBEROFVIEWS | Number of page views. |
{{NUMBEROFUSERS}} | 17 | Number of registered users. |
{{NUMBEROFADMINS}} | 3 | Number of users in the sysop Template:Mediawiki. |
{{PAGESINCATEGORY:categoryname}} {{PAGESINCAT:Help}} |
0 0 |
Number of pages in the given category (replace "Help" with the relevant category name). |
{{NUMBERINGROUP:groupname}} | 3 ({{NUMBERINGROUP:bureaucrat}} used here) |
Number of users in a specific Template:Mediawiki. |
{{PAGESINNS:index}} {{PAGESINNAMESPACE:index}} |
Template:PAGESINNAMESPACE:14 | Number of pages in the given namespace E.g. {{PAGESINNAMESPACE:14}} equals the number of categories. |
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" on "Title/foo"). |
{{SUBPAGENAME}} | Magic words | The subpage title ("foo" on "Title/foo"). |
{{SUBJECTPAGENAME}} | Help:Magic words | The namespace and title of the associated content page. |
{{TALKPAGENAME}} | Help talk:Magic words | The namespace and title of the associated talk page. |
The following are URL-encoded equivalents:
- {{FULLPAGENAMEE}}
- {{PAGENAMEE}}
- {{BASEPAGENAMEE}}
- {{SUBPAGENAMEE}}
- {{SUBJECTPAGENAMEE}}
- {{TALKPAGENAMEE}}
Namespaces
Variable | Output | Description |
---|---|---|
{{NAMESPACE}} | Help | Namespace (name) |
{{SUBJECTSPACE}} {{ARTICLESPACE}} |
Help Help |
Name of the associated content namespace |
{{TALKSPACE}} | Help talk | Name of the associated talk namespace |
The following are URL-encoded equivalents:
- {{NAMESPACEE}}
- {{SUBJECTSPACEE}}
- {{TALKSPACEE}}
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 usually prefixed with a hash to distingush them from possible templates)
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 Template:Mediawiki.
URL data
Variable | Output | Description |
---|---|---|
{{localurl:page name}} {{localurl:page name|query string}} |
/index.php/Page_name /index.php?title=Page_name&query string |
The relative path to the title. |
{{fullurl:page name}} {{fullurl:page name|query_string}} {{fullurl:interwiki:remote page name|query_string}} |
http://wiki.calref.ca/index.php/Page_name http://wiki.calref.ca/index.php?title=Page_name&query_string |
The absolute path to the title. This will also resolve Interwiki prefixes. |
{{filepath:file name}} {{filepath:file name|nowiki}} |
http://wiki.calref.ca/images/b/bc/Wiki.png http://wiki.calref.ca/images/b/bc/Wiki.png |
The absolute URL to a media file. |
{{urlencode:string}} | x+y+z
|
The input encoded for use in URLs. |
{{anchorencode:string}} | x_y_z
|
The input encoded for use in URL section anchors (after the '#' symbol in a URL). |
Namespaces
{{ns:}}
returns the localized name for the namespace with that index.
Content namespaces | Talk namespaces | |||
---|---|---|---|---|
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}} | Refuge Wiki | {{ns:5}} or {{ns:Project talk}} | Refuge 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 | Output | Description |
---|---|---|
{{lc:string}} | text transform | The lowercase input. |
{{lcfirst:string}} | teXt tRaNsFoRm | The input with the first character lowercase. |
{{uc:string}} | TEXT TRANSFORM | The uppercase input. |
{{ucfirst:string}} | TeXt tRaNsFoRm | The input with the first character uppercase. |
{{formatnum:unformatted number}} {{formatnum:formatted number|R}} |
−987,654,321.654321 -987654321.654321 |
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 mathmatical situations. |
{{#formatdate:date}} {{#formatdate:date|format}} |
May 10, 2001 2001-05-10 |
Formats an unlinked date based on user 'Date format' preference. For logged-out users and those who have not set a date format in their preferences, dates can be given a default: default (site default), mdy , dmy , ymd , ISO 8601 . 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 (eg dates prior to 1583). (NOT YET IMPLIMENTED OF THIS WIKI) |
{{padleft:xyz|number}} {{padleft:xyz|number|separator}} |
00xyz __xyz |
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; ie. {{padleft:44|3|0}} produces 044. bug (fixed in r45734): multibyte characters are interpreted as two characters, which can skew width. These also cannot be used as padding characters. |
{{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 Template:Mediawiki. |
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:ar}} {{#language:th}} |
language code العربية ไทย |
The native name for the given language code. | |
{{#special:special page name}} {{#special:Special:UserLogin}} |
Special:Special page name Special:UserLogin |
The localized name for the given canonical Special: page. | |
{{#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}} ').
| |
{{GENDER:username |return text if user is male |return text if user is female |return text if user hasn't defined their gender}} |
(depends on the named user's gender) | A switch for the gender set in Special:Preferences (NOT YET IMPLIMENTED OF THIS WIKI) |