Difference between revisions of "Help:Variables"

From SoftMC-Wiki
Jump to: navigation, search
m (1 revision: Help pages from MediaWiki)
Line 1: Line 1:
'''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 {{mediawiki|Manual:Magic words}}.
+
'''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.
  
 
There are three general types of magic words:
 
There are three general types of magic words:
 
*'''[[#Behavior switches|Behavior switches]]''': these are uppercase words surrounded by double underscores, ''e.g.'' '''__FOO__'''
 
*'''[[#Behavior switches|Behavior switches]]''': these are uppercase words surrounded by double underscores, ''e.g.'' '''__FOO__'''
*'''[[#Variables|Variables]]''': these are uppercase words surrounded by double braces, ''e.g.'' '''<tt><tt><nowiki>{{FOO}}</nowiki></tt></tt>'''. As such, they look a lot like [[Help:Templates|templates]].
+
*'''[[#Variables|Variables]]''': these are uppercase words surrounded by double braces, ''e.g.'' '''<nowiki>{{FOO}}</nowiki>'''. As such, they look a lot like [[Help:Templates|templates]].
*'''[[#Parser functions|Parser functions]]''': these take parameters and are either of the form '''<tt><tt><nowiki>{{foo:...}}</nowiki></tt></tt>''' or '''<tt><tt><nowiki>{{#foo:...}}</nowiki></tt></tt>'''. See also {{mediawiki|Help:Extension:ParserFunctions}}.
+
*'''[[#Parser functions|Parser functions]]''': these take parameters and are either of the form '''<nowiki>{{foo:...}}</nowiki>''' or '''<nowiki>{{#foo:...}}</nowiki>'''.
  
 
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.
 
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.
Line 11: Line 11:
 
A behavior switch controls the layout or behaviour of the page and can often be used to specify desired omissions and inclusions in the content.
 
A behavior switch controls the layout or behaviour of the page and can often be used to specify desired omissions and inclusions in the content.
  
{| {{prettytable}}
+
{| border="2" width="100%" cellspacing="4" cellpadding="3" rules="all" style="margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse;empty-cells:show;"
 
|-
 
|-
!{{Hl2}}| Word
+
!bgcolor="#A7C1F2"| Word
!{{Hl2}}| Description
+
!bgcolor="#A7C1F2"| Description
!{{Hl2}}| Versions
+
!bgcolor="#A7C1F2"| Versions
 
|-
 
|-
|{{Hl3}} colspan="3"| '''Table of contents'''
+
|bgcolor="#8DA7D6" color="black" colspan="3"| '''Table of contents'''
 
|-
 
|-
 
| <nowiki>__NOTOC__</nowiki>
 
| <nowiki>__NOTOC__</nowiki>
Line 31: Line 31:
 
|
 
|
 
|-
 
|-
|{{Hl3}} colspan="3"| '''Editing'''
+
|bgcolor="#8DA7D6" color="black" colspan="3"| '''Editing'''
 
|-
 
|-
 
| <nowiki>__NOEDITSECTION__</nowiki>
 
| <nowiki>__NOEDITSECTION__</nowiki>
Line 38: Line 38:
 
|-
 
|-
 
| <nowiki>__NEWSECTIONLINK__</nowiki>
 
| <nowiki>__NEWSECTIONLINK__</nowiki>
| Adds a link ([[MediaWiki:Addsection|"+" by default]]) beside the "edit" tab for adding a new section on a non-talk page (see {{mediawiki|m:Help:Section#Adding a section at the end|Adding a section to the end}}).
+
| Adds a link ([[MediaWiki:Addsection|"+" by default]]) beside the "edit" tab for adding a new section on a non-talk page.
 
| 1.7+
 
| 1.7+
 
|-
 
|-
 
| <nowiki>__NONEWSECTIONLINK__</nowiki>
 
| <nowiki>__NONEWSECTIONLINK__</nowiki>
 
| Removes the link beside the "edit" tab on pages in talk namespaces.
 
| Removes the link beside the "edit" tab on pages in talk namespaces.
| {{mediawiki|rev:47522|1.15+}}
+
| 1.15+
 
|-
 
|-
|{{Hl3}} colspan="3"| '''Categories'''
+
|bgcolor="#8DA7D6" color="black" colspan="3"| '''Categories'''
 
|-
 
|-
 
| <nowiki>__NOGALLERY__</nowiki>
 
| <nowiki>__NOGALLERY__</nowiki>
Line 55: Line 55:
 
| 1.13+
 
| 1.13+
 
|-
 
|-
|{{Hl3}} colspan="3"| '''Language conversion'''
 
|-
 
| <nowiki>__NOCONTENTCONVERT__</nowiki><br /><nowiki>__NOCC__</nowiki>
 
| 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.
 
|
 
|-
 
| <nowiki>__NOTITLECONVERT__</nowiki><br /><nowiki>__NOTC__</nowiki>
 
| On wikis with language variants, don't perform language conversion on the title (all other content is converted).
 
|
 
|-
 
|{{Hl3}} colspan="3"| '''Other'''
 
|-
 
| <nowiki>__START__</nowiki>
 
| No effect.
 
|
 
|-
 
| <nowiki>__END__</nowiki>
 
| Explicitly marks the end of the article, to prevent MediaWiki from removing trailing whitespace. Removed in {{mediawiki|rev:19213|19213}}.
 
| 1.1 - 1.8
 
|-
 
|  <nowiki>__INDEX__</nowiki>
 
| Tell search engines to index the page (overrides {{mediawiki|Manual:$wgArticleRobotPolicies|$wgArticleRobotPolicies}}, but not robots.txt).
 
| 1.14+
 
|-
 
|  <nowiki>__NOINDEX__</nowiki>
 
| Tell search engines not to index the page (ie, do not list in search engines' results).
 
| {{mediawiki|rev:37973|1.14+}}
 
|-
 
|  <nowiki>__STATICREDIRECT__</nowiki>
 
| 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".
 
| {{mediawiki|rev:37928|1.13+}}
 
 
|}
 
|}
  
Line 92: Line 61:
  
 
If a template name conflicts with a variable, the variable will be used (so to transclude the template [[{{ns:10}}:PAGENAME]] you would need to write <code><tt><nowiki>{{</nowiki>{{ns:10}}:PAGENAME<nowiki>}}</nowiki></tt></code>). In some cases, adding parameters will force the parser to treat a variable as a template; for example, <code><tt><nowiki>{{CURRENTDAYNAME|x}}</nowiki></tt></code> transcludes [[{{ns:10}}:CURRENTDAYNAME]].
 
If a template name conflicts with a variable, the variable will be used (so to transclude the template [[{{ns:10}}:PAGENAME]] you would need to write <code><tt><nowiki>{{</nowiki>{{ns:10}}:PAGENAME<nowiki>}}</nowiki></tt></code>). In some cases, adding parameters will force the parser to treat a variable as a template; for example, <code><tt><nowiki>{{CURRENTDAYNAME|x}}</nowiki></tt></code> transcludes [[{{ns:10}}:CURRENTDAYNAME]].
 
{{admin tip|You can configure the number of expensive parser functions allowed on a page using the {{mediawiki|Manual:$wgExpensiveParserFunctionLimit|$wgExpensiveParserFunctionLimit}} configuration setting.}}
 
  
 
===Date & time===
 
===Date & time===
Line 100: Line 67:
 
Due to MediaWiki and browser caching, these variables frequently show when the page was ''cached'' rather than the current time.
 
Due to MediaWiki and browser caching, these variables frequently show when the page was ''cached'' rather than the current time.
  
{| {{prettytable}}
+
{| border="2" width="100%" cellspacing="4" cellpadding="3" rules="all" style="margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse;empty-cells:show;"
 
|-
 
|-
!{{Hl2}}| Variable
+
!bgcolor="#A7C1F2"| Variable
!{{Hl2}}| Output
+
!bgcolor="#A7C1F2"| Output
!{{Hl2}}| Description
+
!bgcolor="#A7C1F2"| Description
!{{Hl2}}| Versions
+
!bgcolor="#A7C1F2"| Versions
 
|-
 
|-
|{{Hl3}} colspan="4"| '''Year'''
+
|bgcolor="#8DA7D6" color="black" colspan="4"| '''Year'''
 
|-
 
|-
 
| <tt><nowiki>{{CURRENTYEAR}}</nowiki></tt>
 
| <tt><nowiki>{{CURRENTYEAR}}</nowiki></tt>
Line 114: Line 81:
 
|
 
|
 
|-
 
|-
|{{Hl3}} colspan="4"| '''Month'''
+
|bgcolor="#8DA7D6" color="black" colspan="4"| '''Month'''
 
|-
 
|-
 
| <tt><nowiki>{{CURRENTMONTH}}</nowiki></tt>  
 
| <tt><nowiki>{{CURRENTMONTH}}</nowiki></tt>  
Line 136: Line 103:
 
| 1.5+
 
| 1.5+
 
|-
 
|-
|{{Hl3}} colspan="4"| '''Day'''
+
|bgcolor="#8DA7D6" color="black" colspan="4"| '''Day'''
 
|-
 
|-
 
| <tt><nowiki>{{CURRENTDAY}}</nowiki></tt>
 
| <tt><nowiki>{{CURRENTDAY}}</nowiki></tt>
Line 158: Line 125:
 
|
 
|
 
|-
 
|-
|{{Hl3}} colspan="4"| '''Time'''
+
|bgcolor="#8DA7D6" color="black" colspan="4"| '''Time'''
 
|-
 
|-
 
| <tt><nowiki>{{CURRENTTIME}}</nowiki></tt>
 
| <tt><nowiki>{{CURRENTTIME}}</nowiki></tt>
Line 170: Line 137:
 
|
 
|
 
|-
 
|-
|{{Hl3}} colspan="4"| '''Other'''
+
|bgcolor="#8DA7D6" color="black" colspan="4"| '''Other'''
 
|-
 
|-
 
| <tt><nowiki>{{CURRENTWEEK}}</nowiki></tt>
 
| <tt><nowiki>{{CURRENTWEEK}}</nowiki></tt>
Line 202: Line 169:
 
===Technical metadata===
 
===Technical metadata===
 
Revision variables return data about the '''latest edit to the current page''', even if viewing an older version of the page.
 
Revision variables return data about the '''latest edit to the current page''', even if viewing an older version of the page.
{| {{prettytable}}
+
{| border="2" width="100%" cellspacing="4" cellpadding="3" rules="all" style="margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse;empty-cells:show;"
 
|-
 
|-
!{{Hl2}}| Variable
+
!bgcolor="#A7C1F2"| Variable
!{{Hl2}}| Output
+
!bgcolor="#A7C1F2"| Output
!{{Hl2}}| Description
+
!bgcolor="#A7C1F2"| Description
!{{Hl2}}| Versions
+
!bgcolor="#A7C1F2"| Versions
 
|-
 
|-
|{{Hl3}} colspan="4"| '''Site'''
+
|bgcolor="#8DA7D6" color="black" colspan="4"| '''Site'''
 
|-
 
|-
 
| <tt><nowiki>{{SITENAME}}</nowiki></tt>
 
| <tt><nowiki>{{SITENAME}}</nowiki></tt>
 
| {{SITENAME}}
 
| {{SITENAME}}
| The wiki's site name ({{mediawiki|Manual:$wgSitename|$wgSitename}}).
+
| The wiki's site name.
 
|
 
|
 
|-
 
|-
 
| <tt><nowiki>{{SERVER}}</nowiki></tt>
 
| <tt><nowiki>{{SERVER}}</nowiki></tt>
 
| {{SERVER}}
 
| {{SERVER}}
| domain URL ({{mediawiki|Manual:$wgServer|$wgServer}})
+
| Domain URL.
 
|
 
|
 
|-
 
|-
 
| <tt><nowiki>{{SERVERNAME}}</nowiki></tt>
 
| <tt><nowiki>{{SERVERNAME}}</nowiki></tt>
 
| {{SERVERNAME}}
 
| {{SERVERNAME}}
| domain name ({{mediawiki|Manual:$wgServerName|$wgServerName}})
+
| Domain name.
 
|
 
|
 
|-
 
|-
| <tt><nowiki>{{DIRMARK}}</nowiki></tt><br /><tt><nowiki>{{DIRECTIONMARK}}</nowiki></tt>
+
|bgcolor="#8DA7D6" color="black" colspan="4"| '''Latest revision to current page'''
| {{DIRMARK}}<br />{{DIRECTIONMARK}}
 
| Outputs a unicode-directional mark that matches the wiki's default language's direction (<code>&amp;lrm;</code> on left-to-right wikis, <code>&amp;rlm;</code> on right-to-left wikis), useful in text with multi-directional text.
 
| 1.7+
 
|-
 
| <tt><nowiki>{{SCRIPTPATH}}</nowiki></tt>
 
| {{SCRIPTPATH}}
 
| relative script path ({{mediawiki|Manual:$wgScriptPath|$wgScriptPath}})
 
|
 
|-
 
| <tt><nowiki>{{STYLEPATH}}</nowiki></tt>
 
| {{STYLEPATH}}
 
| relative style path ({{mediawiki|Manual:$wgStylePath|$wgStylePath}})
 
| 1.16+
 
|-
 
| <tt><nowiki>{{CURRENTVERSION}}</nowiki></tt>
 
| {{CURRENTVERSION}}
 
| The wiki's MediaWiki version.
 
| 1.7+
 
|-
 
| <tt><nowiki>{{CONTENTLANGUAGE}}</nowiki></tt><br /><tt><nowiki>{{CONTENTLANG}}</nowiki></tt>
 
| {{CONTENTLANGUAGE}}<br />{{CONTENTLANG}}
 
| The wiki's default interface language ({{mediawiki|Manual:$wgLanguageCode|$wgLanguageCode}})
 
| 1.7+
 
|-
 
|{{Hl3}} colspan="4"| '''Latest revision to current page'''
 
 
|-
 
|-
 
| <tt><nowiki>{{REVISIONID}}</nowiki></tt>
 
| <tt><nowiki>{{REVISIONID}}</nowiki></tt>
Line 271: Line 213:
 
| {{REVISIONMONTH}}
 
| {{REVISIONMONTH}}
 
| Month edit was made (zero-padded number)
 
| Month edit was made (zero-padded number)
| 1.8+<br/>Changed to zero-padded number in {{mediawiki|rev:66200|1.17+}}
+
| 1.8+
<!--|-
 
| <tt><nowiki>{{REVISIONMONTH1}}</nowiki></tt>
 
| {{REVISIONMONTH1}}
 
| Month edit was made (unpadded number)
 
| {{mediawiki|rev:66200|1.17+}}-->
 
 
|-
 
|-
 
| <tt><nowiki>{{REVISIONYEAR}}</nowiki></tt>
 
| <tt><nowiki>{{REVISIONYEAR}}</nowiki></tt>
Line 291: Line 228:
 
| {{REVISIONUSER}}
 
| {{REVISIONUSER}}
 
| The username of the user who made the most recent edit to the page
 
| The username of the user who made the most recent edit to the page
| {{mediawiki|rev:48149|1.15+}}
+
| 1.15+
 
|-style="background:#FED;"
 
|-style="background:#FED;"
 
| <tt><nowiki>{{PAGESIZE:</nowiki>''page name''<nowiki>}}</nowiki></tt>
 
| <tt><nowiki>{{PAGESIZE:</nowiki>''page name''<nowiki>}}</nowiki></tt>
 
| {{PAGESIZE:Help:Magic_words}}
 
| {{PAGESIZE:Help:Magic_words}}
 
| '''[expensive]''' Returns the byte size of the specified page.
 
| '''[expensive]''' Returns the byte size of the specified page.
| {{mediawiki|rev:33551|1.13+}}
+
| 1.13+
 
|-
 
|-
 
| <tt><nowiki>{{PROTECTIONLEVEL:</nowiki>''action''<nowiki>}}</nowiki></tt>
 
| <tt><nowiki>{{PROTECTIONLEVEL:</nowiki>''action''<nowiki>}}</nowiki></tt>
 
| protection level
 
| 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.
 
| 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.
| {{mediawiki|rev:45587|1.15+}}
+
| 1.15+
 
|-
 
|-
|{{Hl3}} colspan="4"| '''Affects page content'''
+
|bgcolor="#8DA7D6" color="black" colspan="4"| '''Affects page content'''
 
|-
 
|-
 
| <tt><nowiki>{{DISPLAYTITLE:</nowiki>''title''<nowiki>}}</nowiki></tt>
 
| <tt><nowiki>{{DISPLAYTITLE:</nowiki>''title''<nowiki>}}</nowiki></tt>
 
|
 
|
| 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 {{mediawiki|Manual:$wgAllowDisplayTitle|$wgAllowDisplayTitle}}; disabled by default before 1.10+, enabled by default thereafter.
+
| Format the current page's title header. The value must be equivalent to the default title: only capitalization changes and replacing spaces with underscores.
 
| 1.7+
 
| 1.7+
 
|-
 
|-
Line 318: Line 255:
 
===Statistics===
 
===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, <code><tt><nowiki>{{NUMBEROFPAGES}}</nowiki></tt></code> &rarr; {{NUMBEROFPAGES}} and <code><tt><nowiki>{{NUMBEROFPAGES:R}}</nowiki></tt></code> &rarr; {{NUMBEROFPAGES:R}}). Use "|R" for magic words that require a parameter like PAGESINCATEGORY (for example <code><tt><nowiki>{{PAGESINCATEGORY:Help}}</nowiki></tt></code> and <code><tt><nowiki>{{PAGESINCATEGORY:Help|R}}</nowiki></tt></code>).
 
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, <code><tt><nowiki>{{NUMBEROFPAGES}}</nowiki></tt></code> &rarr; {{NUMBEROFPAGES}} and <code><tt><nowiki>{{NUMBEROFPAGES:R}}</nowiki></tt></code> &rarr; {{NUMBEROFPAGES:R}}). Use "|R" for magic words that require a parameter like PAGESINCATEGORY (for example <code><tt><nowiki>{{PAGESINCATEGORY:Help}}</nowiki></tt></code> and <code><tt><nowiki>{{PAGESINCATEGORY:Help|R}}</nowiki></tt></code>).
{| {{prettytable}}
+
{| border="2" width="100%" cellspacing="4" cellpadding="3" rules="all" style="margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse;empty-cells:show;"
 
|-
 
|-
!{{Hl2}}| Variable
+
!bgcolor="#A7C1F2"| Variable
!{{Hl2}}| Output
+
!bgcolor="#A7C1F2"| Output
!{{Hl2}}| Description
+
!bgcolor="#A7C1F2"| Description
!{{Hl2}}| Versions
+
!bgcolor="#A7C1F2"| Versions
 
|-
 
|-
|{{Hl3}} colspan="4"| '''Entire wiki'''
+
|bgcolor="#8DA7D6" color="black" colspan="4"| '''Entire wiki'''
 
|-
 
|-
 
| <tt><nowiki>{{NUMBEROFPAGES}}</nowiki></tt>
 
| <tt><nowiki>{{NUMBEROFPAGES}}</nowiki></tt>
Line 334: Line 271:
 
| <tt><nowiki>{{NUMBEROFARTICLES}}</nowiki></tt>
 
| <tt><nowiki>{{NUMBEROFARTICLES}}</nowiki></tt>
 
| {{NUMBEROFARTICLES}}
 
| {{NUMBEROFARTICLES}}
| Number of pages in {{mediawiki|Manual:Using custom namespaces#Content namespaces|content namespaces}}.
+
| Number of pages in content namespaces.
 
|
 
|
 
|-
 
|-
Line 345: Line 282:
 
| {{NUMBEROFEDITS}}
 
| {{NUMBEROFEDITS}}
 
| Number of page edits.
 
| Number of page edits.
| {{mediawiki|rev:21319|1.10+}}
+
| 1.10+
 
|-
 
|-
 
| <tt><nowiki>{{NUMBEROFVIEWS}}</nowiki></tt>
 
| <tt><nowiki>{{NUMBEROFVIEWS}}</nowiki></tt>
 
| {{NUMBEROFVIEWS}}
 
| {{NUMBEROFVIEWS}}
 
| Number of page views. Usually useless on a wiki using [[Manual:Cache|caching]].
 
| Number of page views. Usually useless on a wiki using [[Manual:Cache|caching]].
| {{mediawiki|rev:42721|1.14+}}
+
| 1.14+
 
|-
 
|-
 
| <tt><nowiki>{{NUMBEROFUSERS}}</nowiki></tt>
 
| <tt><nowiki>{{NUMBEROFUSERS}}</nowiki></tt>
Line 359: Line 296:
 
| <tt><nowiki>{{NUMBEROFADMINS}}</nowiki></tt>
 
| <tt><nowiki>{{NUMBEROFADMINS}}</nowiki></tt>
 
| {{NUMBEROFADMINS}}
 
| {{NUMBEROFADMINS}}
| Number of users in the ''sysop'' {{mediawiki|Manual:User rights|group}}.
+
| Number of users in the ''sysop'' group.
 
| 1.7+
 
| 1.7+
 
|-
 
|-
Line 365: Line 302:
 
| {{NUMBEROFACTIVEUSERS}}
 
| {{NUMBEROFACTIVEUSERS}}
 
| Number of active users, based on the criteria used in [[Special:Statistics]].
 
| Number of active users, based on the criteria used in [[Special:Statistics]].
| {{mediawiki|rev:47392|1.15+}}
+
| 1.15+
 
|-style="background:#FED;"
 
|-style="background:#FED;"
 
| <tt><nowiki>{{PAGESINCATEGORY:</nowiki>''categoryname''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{PAGESINCAT:Help}}</nowiki></tt>
 
| <tt><nowiki>{{PAGESINCATEGORY:</nowiki>''categoryname''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{PAGESINCAT:Help}}</nowiki></tt>
 
| {{PAGESINCATEGORY:Help}}<br />{{PAGESINCAT:Help}}
 
| {{PAGESINCATEGORY:Help}}<br />{{PAGESINCAT:Help}}
 
| '''[expensive]''' Number of pages in the given [[Help:Categories|category]] (replace "Help" with the relevant category name).
 
| '''[expensive]''' Number of pages in the given [[Help:Categories|category]] (replace "Help" with the relevant category name).
| {{mediawiki|rev:32932|1.13+}}
+
| 1.13+
|-
 
| <tt><nowiki>{{NUMBERINGROUP:</nowiki>''groupname''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{NUMINGROUP:</nowiki>''groupname''<nowiki>}}</nowiki></tt>
 
| {{NUMBERINGROUP:bureaucrat}}<br />{{NUMINGROUP:bureaucrat}}<br /><small><nowiki>({{NUMBERINGROUP:bureaucrat}} used here)</nowiki></small>
 
| Number of users in a specific {{mediawiki|Manual:User rights|group}}.
 
| {{mediawiki|rev:40116|1.14+}}
 
 
|-
 
|-
 
| <tt><nowiki>{{PAGESINNS:</nowiki>''index''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{PAGESINNAMESPACE:</nowiki>''index''<nowiki>}}</nowiki></tt>
 
| <tt><nowiki>{{PAGESINNS:</nowiki>''index''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{PAGESINNAMESPACE:</nowiki>''index''<nowiki>}}</nowiki></tt>
 
| ''not enabled''
 
| ''not enabled''
| Number of pages in the given [[Help:Namespaces|namespace]] (replace ''index'' with the relevant [[Manual:Namespace|namespace index]]). For instance, <tt><nowiki>{{PAGESINNAMESPACE:</nowiki>''14''<nowiki>}}</nowiki></tt> will output the number of category pages. <tt><nowiki>{{PAGESINNS:0}}</nowiki></tt> differs from <tt><nowiki>{{NUMBEROFARTICLES}}</nowiki></tt> in that the former includes redirects and disambiguation pages. Disabled by default, enable with {{mediawiki|Manual:$wgAllowSlowParserFunctions|$wgAllowSlowParserFunctions}}.  
+
| Number of pages in the given [[Help:Namespaces|namespace]] (replace ''index'' with the relevant [[Manual:Namespace|namespace index]]). For instance, <tt><nowiki>{{PAGESINNAMESPACE:</nowiki>''14''<nowiki>}}</nowiki></tt> will output the number of category pages. <tt><nowiki>{{PAGESINNS:0}}</nowiki></tt> differs from <tt><nowiki>{{NUMBEROFARTICLES}}</nowiki></tt> in that the former includes redirects and disambiguation pages.  
 
| 1.7+
 
| 1.7+
 
|}
 
|}
  
 
===Page names===
 
===Page names===
{| {{prettytable}}
+
{| border="2" width="100%" cellspacing="4" cellpadding="3" rules="all" style="margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse;empty-cells:show;"
 
|-
 
|-
!{{Hl2}}| Variable
+
!bgcolor="#A7C1F2"| Variable
!{{Hl2}}| Output
+
!bgcolor="#A7C1F2"| Output
!{{Hl2}}| Description
+
!bgcolor="#A7C1F2"| Description
!{{Hl2}}| Versions
+
!bgcolor="#A7C1F2"| Versions
 
|-
 
|-
 
| <tt><nowiki>{{FULLPAGENAME}}</nowiki></tt>
 
| <tt><nowiki>{{FULLPAGENAME}}</nowiki></tt>
Line 428: Line 360:
 
|}
 
|}
  
The <tt><nowiki>{{BASEPAGENAME}}</nowiki></tt> and <tt><nowiki>{{SUBPAGENAME}}</nowiki></tt> magic words only work in namespaces that have subpages enabled.  See {{mediawiki|Manual:$wgNamespacesWithSubpages}} for information on enabling subpages.
+
The <tt><nowiki>{{BASEPAGENAME}}</nowiki></tt> and <tt><nowiki>{{SUBPAGENAME}}</nowiki></tt> magic words only work in namespaces that have subpages enabled.
  
 
The following are URL-encoded equivalents:
 
The following are URL-encoded equivalents:
Line 439: Line 371:
 
* <tt><nowiki>{{PIPETRICKE}}</nowiki></tt>
 
* <tt><nowiki>{{PIPETRICKE}}</nowiki></tt>
  
As of {{mediawiki|rev:46662|1.15+}}, these can all take a parameter, allowing specification of the page to be operated on, instead of just the current page:
+
As of 1.15+, these can all take a parameter, allowing specification of the page to be operated on, instead of just the current page:
 
* <tt><nowiki>{{PAGENAME:Template:Main Page}}</nowiki></tt> &rarr; '''{{PAGENAME:Template:Main Page}}'''
 
* <tt><nowiki>{{PAGENAME:Template:Main Page}}</nowiki></tt> &rarr; '''{{PAGENAME:Template:Main Page}}'''
  
  
{{Warning|Page titles containing certain characters, such as single quotes (') or asterisks <tt>*</tt>, may produce unexpected results when handled with these magic words, e.g. <tt><nowiki>{{PAGEINSCATEGORY:{{PAGENAME}}}}</nowiki></tt>. See bugs {{mediawiki|bugzilla:14779|14779}}, {{mediawiki|bugzilla:16474|16474}}.}}
+
Warning: Page titles containing certain characters, such as single quotes (') or asterisks <tt>*</tt>, may produce unexpected results when handled with these magic words, e.g. <tt><nowiki>{{PAGEINSCATEGORY:{{PAGENAME}}}}</nowiki></tt>.
  
 
===Namespaces===
 
===Namespaces===
{| {{prettytable}}
+
{| border="2" width="100%" cellspacing="4" cellpadding="3" rules="all" style="margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse;empty-cells:show;"
 
|-
 
|-
!{{Hl2}}| Variable
+
!bgcolor="#A7C1F2"| Variable
!{{Hl2}}| Output
+
!bgcolor="#A7C1F2"| Output
!{{Hl2}}| Description
+
!bgcolor="#A7C1F2"| Description
!{{Hl2}}| Versions
+
!bgcolor="#A7C1F2"| Versions
 
|-
 
|-
 
| <tt><nowiki>{{NAMESPACE}}</nowiki></tt>
 
| <tt><nowiki>{{NAMESPACE}}</nowiki></tt>
Line 474: Line 406:
 
* <tt><nowiki>{{TALKSPACEE}}</nowiki></tt>
 
* <tt><nowiki>{{TALKSPACEE}}</nowiki></tt>
  
As of {{mediawiki|rev:46630|1.15+}}, these can take a page name parameter and will return the namespace of the page name parameter, instead of the current page's:
+
These can take a page name parameter and will return the namespace of the page name parameter, instead of the current page's:
 
* <tt><nowiki>{{NAMESPACE:Template:Main Page}}</nowiki></tt> &rarr; '''{{NAMESPACE:Template:Main Page}}'''
 
* <tt><nowiki>{{NAMESPACE:Template:Main Page}}</nowiki></tt> &rarr; '''{{NAMESPACE:Template:Main Page}}'''
 
* <tt><nowiki>{{SUBJECTSPACE:Template:Main Page}}</nowiki></tt> &rarr; '''{{SUBJECTSPACE:Template:Main Page}}'''
 
* <tt><nowiki>{{SUBJECTSPACE:Template:Main Page}}</nowiki></tt> &rarr; '''{{SUBJECTSPACE:Template:Main Page}}'''
Line 483: Line 415:
 
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.
 
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 may be added by MediaWiki extensions such as the {{mediawiki|Extension:ParserFunctions|ParserFunctions extension}}. For those see [[Help:Extension:ParserFunctions]].
+
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. For those see [[Help:Extension:ParserFunctions]].
  
 
===URL data===
 
===URL data===
{| {{prettytable}}
+
{| border="2" width="100%" cellspacing="4" cellpadding="3" rules="all" style="margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse;empty-cells:show;"
 
|-
 
|-
!{{Hl2}}| Parser function
+
!bgcolor="#A7C1F2"| Parser function
!{{Hl2}}| Input → Output
+
!bgcolor="#A7C1F2"| Input → Output
!{{Hl2}}| Description
+
!bgcolor="#A7C1F2"| Description
!{{Hl2}}| Versions
+
!bgcolor="#A7C1F2"| Versions
 
|-
 
|-
 
| <tt><nowiki>{{localurl:</nowiki>''page name''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{localurl:</nowiki>''page name''<nowiki>|</nowiki>''query string''<nowiki>}}</nowiki></tt>
 
| <tt><nowiki>{{localurl:</nowiki>''page name''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{localurl:</nowiki>''page name''<nowiki>|</nowiki>''query string''<nowiki>}}</nowiki></tt>
Line 507: Line 439:
 
| <nowiki>{{filepath:Wiki.png}}</nowiki> → {{filepath:Wiki.png}}<br /><nowiki>{{filepath:Wiki.png|nowiki}}</nowiki> → {{filepath:Wiki.png|nowiki}}
 
| <nowiki>{{filepath:Wiki.png}}</nowiki> → {{filepath:Wiki.png}}<br /><nowiki>{{filepath:Wiki.png|nowiki}}</nowiki> → {{filepath:Wiki.png|nowiki}}
 
| The absolute URL to a media file.
 
| The absolute URL to a media file.
| {{mediawiki|rev:25854|1.12+}}
+
| 1.12+
 
|-
 
|-
 
| <tt><nowiki>{{urlencode:</nowiki>''string''<nowiki>}}</nowiki></tt>
 
| <tt><nowiki>{{urlencode:</nowiki>''string''<nowiki>}}</nowiki></tt>
 
| <nowiki>{{urlencode:x y z á é}}</nowiki> → {{urlencode:x y z á é}}
 
| <nowiki>{{urlencode:x y z á é}}</nowiki> → {{urlencode:x y z á é}}
 
| The input encoded for use in URLs.
 
| The input encoded for use in URLs.
| {{mediawiki|rev:14273|1.7+}}
 
 
|-
 
|-
 
| <tt><nowiki>{{anchorencode:</nowiki>''string''<nowiki>}}</nowiki></tt>
 
| <tt><nowiki>{{anchorencode:</nowiki>''string''<nowiki>}}</nowiki></tt>
 
| <nowiki>{{anchorencode:x y z á é}}</nowiki> → {{anchorencode:x y z á é}}
 
| <nowiki>{{anchorencode:x y z á é}}</nowiki> → {{anchorencode:x y z á é}}
 
| The input encoded for use in URL section anchors (after the '#' symbol in a URL).
 
| The input encoded for use in URL section anchors (after the '#' symbol in a URL).
| {{mediawiki|rev:16279|1.8+}}
 
 
|}
 
|}
  
 
===Namespaces===
 
===Namespaces===
 
<tt><nowiki>{{ns:}}</nowiki></tt> returns the localized name for the [[Help:Namespace|namespace]] with that index. <tt><nowiki>{{nse:}}</nowiki></tt> is the URL-encoded equivalent. It does the same, but it replaces spaces with underscores, making it usable in external links.
 
<tt><nowiki>{{ns:}}</nowiki></tt> returns the localized name for the [[Help:Namespace|namespace]] with that index. <tt><nowiki>{{nse:}}</nowiki></tt> is the URL-encoded equivalent. It does the same, but it replaces spaces with underscores, making it usable in external links.
{| {{prettytable}}
+
{| border="2" width="100%" cellspacing="4" cellpadding="3" rules="all" style="margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse;empty-cells:show;"
 
|-
 
|-
! {{hl3}} colspan="2" width="50%" | Content namespaces
+
! bgcolor="#8DA7D6" color="black" colspan="2" width="50%" | Content namespaces
 
! rowspan="11" |
 
! rowspan="11" |
! {{hl3}} colspan="2" width=%50%" | Talk namespaces
+
! bgcolor="#8DA7D6" color="black" colspan="2" width=%50%" | Talk namespaces
 
|-
 
|-
!{{Hl2}}| Usage
+
!bgcolor="#A7C1F2"| Usage
!{{Hl2}}| Output
+
!bgcolor="#A7C1F2"| Output
!{{Hl2}}| Usage
+
!bgcolor="#A7C1F2"| Usage
!{{Hl2}}| Output
+
!bgcolor="#A7C1F2"| Output
 
|-
 
|-
 
| <tt><nowiki>{{ns:-2}}</nowiki></tt> or <tt><nowiki>{{ns:Media}}</nowiki></tt>
 
| <tt><nowiki>{{ns:-2}}</nowiki></tt> or <tt><nowiki>{{ns:Media}}</nowiki></tt>
Line 581: Line 511:
 
===Formatting===
 
===Formatting===
 
<!--Well gosh, with the source of the examples hidden, who can tell what you are inputting without looking here in the source?-->
 
<!--Well gosh, with the source of the examples hidden, who can tell what you are inputting without looking here in the source?-->
{| {{prettytable}}
+
{| border="2" width="100%" cellspacing="4" cellpadding="3" rules="all" style="margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse;empty-cells:show;"
!{{Hl2}}| Usage
+
!bgcolor="#A7C1F2"| Usage
!{{Hl2}}| Input → Output
+
!bgcolor="#A7C1F2"| Input → Output
!{{Hl2}}| Description
+
!bgcolor="#A7C1F2"| Description
!{{Hl2}}| Version
+
!bgcolor="#A7C1F2"| Version
 
|-
 
|-
 
|-
 
|-
Line 611: Line 541:
 
| <tt><nowiki>{{formatnum:987654321.654321}}</nowiki></tt><br/> → {{formatnum:987654321.654321}}<br /> <tt><nowiki>{{formatnum:987,654,321.654321|R}}</nowiki></tt><br/> → {{formatnum:987,654,321.654321|R}}
 
| <tt><nowiki>{{formatnum:987654321.654321}}</nowiki></tt><br/> → {{formatnum:987654321.654321}}<br /> <tt><nowiki>{{formatnum:987,654,321.654321|R}}</nowiki></tt><br/> → {{formatnum:987,654,321.654321|R}}
 
| The input with decimal and decimal group separators, and localized digit script, according to the wiki's default locale. The <tt><nowiki>|</nowiki>R</tt> parameter can be used to unformat a number, for use in mathematical situations.
 
| The input with decimal and decimal group separators, and localized digit script, according to the wiki's default locale. The <tt><nowiki>|</nowiki>R</tt> parameter can be used to unformat a number, for use in mathematical situations.
| 1.7+<br />{{mediawiki|rev:32012|1.13+}}
 
 
|-
 
|-
 
|
 
|
<code><nowiki>{{#dateformat:</nowiki>''date''<nowiki>}}
+
<code><nowiki>
{{#formatdate:</nowiki>''date''<nowiki>}}
+
{{#dateformat:date}}
{{#dateformat:</nowiki>''date''{{!}}''format''<nowiki>}}
+
{{#formatdate:date}}
{{#formatdate:</nowiki>''date''{{!}}''format''<nowiki>}}</nowiki></code>
+
{{#dateformat:date|format}}
 +
{{#formatdate:date|format}}
 +
</nowiki></code>
 
|  
 
|  
 
<tt><nowiki>{{#dateformat:25 deC 2009|ymd}}</nowiki></tt><br/>
 
<tt><nowiki>{{#dateformat:25 deC 2009|ymd}}</nowiki></tt><br/>
Line 632: Line 563:
  
 
Note: In the example above, "your pref" refers to your date preference on the current MediaWiki wiki only.
 
Note: In the example above, "your pref" refers to your date preference on the current MediaWiki wiki only.
| 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: <tt>mdy</tt>, <tt>dmy</tt>, <tt>ymd</tt>, <tt>ISO&nbsp;8601</tt> (all case sensitive). If only the month and day are given, only <tt>mdy</tt> and <tt>dmy</tt> 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 a similar template), it is rendered unchanged, and no (additional) metadata is generated.<br/><small>{{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).</small>
+
| 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: <tt>mdy</tt>, <tt>dmy</tt>, <tt>ymd</tt>, <tt>ISO&nbsp;8601</tt> (all case sensitive). If only the month and day are given, only <tt>mdy</tt> and <tt>dmy</tt> 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 a similar template), it is rendered unchanged, and no (additional) metadata is generated.<br/><small>
| {{mediawiki|rev:48249|1.15+}}
+
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).</small>
 +
| 1.15+
 
|-
 
|-
 
| <tt><nowiki>{{padleft:xyz|</nowiki>''stringlength''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{padleft:xyz|</nowiki>''strlen''<nowiki>|</nowiki>''char''<nowiki>}}</nowiki></tt><tt><nowiki>{{padleft:xyz|</nowiki>''strlen''<nowiki>|</nowiki>''string''<nowiki>}}</nowiki></tt>
 
| <tt><nowiki>{{padleft:xyz|</nowiki>''stringlength''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{padleft:xyz|</nowiki>''strlen''<nowiki>|</nowiki>''char''<nowiki>}}</nowiki></tt><tt><nowiki>{{padleft:xyz|</nowiki>''strlen''<nowiki>|</nowiki>''string''<nowiki>}}</nowiki></tt>
 
| <tt><nowiki>{{padleft:xyz|5}}</nowiki></tt> → {{padleft:xyz|5}}<br /> <tt><nowiki>{{padleft:xyz|5|_}}</nowiki></tt> → {{padleft:xyz|5|_}} <tt><nowiki>{{padleft:xyz|5|abc}}</nowiki></tt> → {{padleft:xyz|5|abc}}
 
| <tt><nowiki>{{padleft:xyz|5}}</nowiki></tt> → {{padleft:xyz|5}}<br /> <tt><nowiki>{{padleft:xyz|5|_}}</nowiki></tt> → {{padleft:xyz|5|_}} <tt><nowiki>{{padleft:xyz|5|abc}}</nowiki></tt> → {{padleft:xyz|5|abc}}
| 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. <nowiki>{{padleft:44|3|0}}</nowiki> produces {{padleft:44|3}}.<br />'''{{mediawiki|bugzilla:16852|bug}} (fixed in {{mediawiki|rev:45734|r45734}}):''' multibyte characters are interpreted as two characters, which can skew width. These also cannot be used as padding characters.
+
| 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. <nowiki>{{padleft:44|3|0}}</nowiki> produces {{padleft:44|3}}.
 
| 1.8+
 
| 1.8+
 
|-
 
|-
Line 650: Line 582:
 
| <tt><nowiki>{{grammar:N|</nowiki>''noun''<nowiki>}}</nowiki></tt>
 
| <tt><nowiki>{{grammar:N|</nowiki>''noun''<nowiki>}}</nowiki></tt>
 
|  
 
|  
| 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 {{mediawiki|Manual:$wgGrammarForms}}.
+
| 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.
 
| 1.7+
 
| 1.7+
 
|}
 
|}
  
===Miscellaneous===
 
{| {{prettytable|class="plainlinks"}}
 
!{{Hl2}}| Usage
 
!{{Hl2}}| Output
 
!{{Hl2}}| Description
 
!{{Hl2}}| Version
 
|-
 
| <tt><nowiki>{{int:</nowiki>''message name''<nowiki>}}</nowiki>
 
| <tt><nowiki>{{int:</nowiki>edit<nowiki>}}</nowiki></tt> &rarr; '''{{int:edit}}''' <br /><small>''(depends on user language, try: [{{fullurl:{{FULLPAGENAME}}|uselang=fr}}#Miscellaneous fr] &bull;[{{fullurl:{{FULLPAGENAME}}|uselang=ja}}#Miscellaneous ja])''</small>
 
| Internationalizes (translates) the given '''int'''erface (MediaWiki namespace) message into the user language. ''Note that this can damage/confuse cache consistency, see [[bugzilla:14404|bug 14404]].''
 
|
 
|-
 
| <tt><nowiki>{{#language:</nowiki>''language code''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{#language:ar}}</nowiki></tt><br /><tt><nowiki>{{#language:th}}</nowiki></tt>
 
| {{#language:language code}}<br />{{#language:ar}}<br />{{#language:th}}
 
| The native name for the given language code, in accordance with [[w:ISO 639|ISO 639]].
 
| {{mediawiki|rev:14490|1.7+}}
 
|-
 
| <tt><nowiki>{{#special:</nowiki>''special page name''<nowiki>}}</nowiki><br /><nowiki>{{#special:userlogin}}</nowiki></tt>
 
| {{#special:special page name}}<br />{{#special:userlogin}}
 
| The localized name for the given canonical Special: page.
 
| {{mediawiki|rev:17321|1.9+}}
 
|-
 
| <tt><nowiki>{{#tag:</nowiki>''tagname''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{#tag:</nowiki>''tagname''<br><nowiki>|</nowiki>''tag content''<br><nowiki>|</nowiki>''parameter=value''<br /><nowiki>|</nowiki>''parameter2=value''<br /><nowiki>}}</nowiki></tt>
 
| ''(depends on parser tag)''
 
| Alias for XML-style parser or extension tags, but parsing wiki code. Attribute values can be passed as parameter values ('<code><nowiki><tagname attribute="value"></nowiki></code>' &rarr; '<code><tt><nowiki>{{#tag:tagname|attribute=value}}</nowiki></tt></code>'), and inner content as an unnamed parameter ('<code><nowiki><tagname>content</tagname></nowiki></code>' &rarr; '<code><tt><nowiki>{{#tag:tagname|content}}</nowiki></tt></code>').
 
 
'''Warning''' : '<code><tt><nowiki>{{#tag:tagname|attribute1=value1|attribute2=value2}}</nowiki></tt></code>' will be interpreted like '<code><nowiki><tagname attribute2="value2">attribute1=value1</tagname></nowiki></code>'. You must write '<code><tt><nowiki>{{#tag:tagname||attribute1=value1|attribute2=value2}}</nowiki></tt></code>' to pass an empty content.
 
| {{mediawiki|rev:29482|1.12+}}
 
|-
 
| <tt><nowiki>{{gender:</nowiki>''username''<br /><nowiki>|</nowiki>''return text if user is male''<br /><nowiki>|</nowiki>''return text if user is female''<br /><nowiki>|</nowiki>''return text if user hasn't defined their gender''<nowiki>}}</nowiki></tt>
 
| ''(depends on the named user's gender)''
 
| A switch for the gender set in [[Special:Preferences]]
 
| {{mediawiki|rev:46247|1.15+}}
 
|-
 
| <tt><nowiki>{{groupconvert:</nowiki>''groupname''<nowiki>}}</nowiki></tt>
 
| ''(only works on wikis with language variants)''
 
| Allow to enable group conversion rules which defined on '''<nowiki>[[</nowiki>MediaWiki:Groupconversiontable-''groupname''/''variantcode''<nowiki>]]</nowiki>'''.
 
| {{mediawiki|rev:48984|1.15+}}
 
|}
 
 
{{languages}}
 
  
 
[[Category:Help|{{PAGENAME}}]]
 
[[Category:Help|{{PAGENAME}}]]
[[Category:Time|{{PAGENAME}}]]
 
[[Category:Magic words|{{PAGENAME}}]]
 

Revision as of 18:23, 20 May 2010

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.

There are three general types of magic words:

  • Behavior switches: these are uppercase words surrounded by double underscores, e.g. __FOO__
  • Variables: these are uppercase words surrounded by double braces, e.g. {{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 (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 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. 1.7+
__NONEWSECTIONLINK__ Removes the link beside the "edit" tab on pages in talk namespaces. 1.15+
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+

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 (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

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.

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}} 25 Day of the month (unpadded number)
{{CURRENTDAY2}} 25 Day of the month (zero-padded number) 1.6+
{{CURRENTDOW}} 3 Day of the week (unpadded number)
{{CURRENTDAYNAME}} Wednesday Day of the week (name)
Time
{{CURRENTTIME}} 14:27 Time (24-hour HH:mm format)
{{CURRENTHOUR}} 14 Hour (24-hour zero-padded number)
Other
{{CURRENTWEEK}} 52 Week (number)
{{CURRENTTIMESTAMP}} 20241225142734 YYYYMMDDHHmmss timestamp 1.7+

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}}
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 Versions
Site
{{SITENAME}} SoftMC-Wiki The wiki's site name.
{{SERVER}} http://softmc.servotronix.com Domain URL.
{{SERVERNAME}} softmc.servotronix.com Domain name.
Latest revision to current page
{{REVISIONID}} 648 Unique revision ID 1.5+
{{REVISIONDAY}} 20 Day edit was made (unpadded number) 1.8+
{{REVISIONDAY2}} 20 Day edit was made (zero-padded number) 1.8+
{{REVISIONMONTH}} 05 Month edit was made (zero-padded number) 1.8+
{{REVISIONYEAR}} 2010 Year edit was made 1.8+
{{REVISIONTIMESTAMP}} 20100520182306 Timestamp as of time of edit 1.8+
{{REVISIONUSER}} Arwiebe The username of the user who made the most recent edit to the page 1.15+
{{PAGESIZE:page name}} 0 [expensive] 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. 1.7+
{{DEFAULTSORT:sortkey}}
{{DEFAULTSORTKEY:sortkey}}
{{DEFAULTCATEGORYSORT:sortkey}}
Used for categorizing pages, sets a default category sort key. For example if you put {{DEFAULTSORT:Smith, John}} at the end of John Smith, the page would be sorted under "S" by default in categories. 1.10+

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}} → 16,752 and {{NUMBEROFPAGES:R}} → 16752). 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}} 16,752 Number of wiki pages. 1.7+
{{NUMBEROFARTICLES}} 3,335 Number of pages in content namespaces.
{{NUMBEROFFILES}} 1,050 Number of uploaded files. 1.5+
{{NUMBEROFEDITS}} 137,042 Number of page edits. 1.10+
{{NUMBEROFVIEWS}} Template:NUMBEROFVIEWS Number of page views. Usually useless on a wiki using caching. 1.14+
{{NUMBEROFUSERS}} 23 Number of registered users. 1.7+
{{NUMBEROFADMINS}} 2 Number of users in the sysop group. 1.7+
{{NUMBEROFACTIVEUSERS}} 7 Number of active users, based on the criteria used in Special:Statistics. 1.15+
{{PAGESINCATEGORY:categoryname}}
{{PAGESINCAT:Help}}
31
31
[expensive] Number of pages in the given category (replace "Help" with the relevant category name). 1.13+
{{PAGESINNS:index}}
{{PAGESINNAMESPACE:index}}
not enabled Number of pages in the given namespace (replace index with the relevant namespace index). For instance, {{PAGESINNAMESPACE:14}} will output the number of category pages. {{PAGESINNS:0}} differs from {{NUMBEROFARTICLES}} in that the former includes redirects and disambiguation pages. 1.7+

Page names

Variable Output Description Versions
{{FULLPAGENAME}} Help:Variables Namespace and page title. 1.6+
{{PAGENAME}} Variables Page title.
{{BASEPAGENAME}} Variables Page title excluding the current subpage and namespace ("Title/foo" on "Title/foo/bar").

For more complex splitting, use {{#titleparts: }} from ParserFunctions extension.

1.7+
{{SUBPAGENAME}} Variables The subpage title ("foo" on "Title/foo"). 1.6+
{{SUBJECTPAGENAME}} Help:Variables The namespace and title of the associated content page. 1.7+
{{TALKPAGENAME}} Help talk:Variables The namespace and title of the associated talk page. 1.7+
{{PIPETRICK}} Magic words Performs the pipe trick on the page title. 1.16+

The {{BASEPAGENAME}} and {{SUBPAGENAME}} magic words only work in namespaces that have subpages enabled.

The following are URL-encoded equivalents:

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

As of 1.15+, 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


Warning: Page titles containing certain characters, such as single quotes (') or asterisks *, may produce unexpected results when handled with these magic words, e.g. {{PAGEINSCATEGORY:{{PAGENAME}}}}.

Namespaces

Variable Output Description Versions
{{NAMESPACE}} Help Name of the page's namespace
{{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}}

These can take a page name parameter and will return the namespace of the page name parameter, instead of the current page's:

  • {{NAMESPACE:Template:Main Page}}Template
  • {{SUBJECTSPACE:Template:Main Page}}Template
  • {{TALKSPACE:Template:Main Page}}Template 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 may be added by MediaWiki extensions such as the ParserFunctions extension. For those see Help:Extension:ParserFunctions.

URL data

Parser function Input → Output Description Versions
{{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}} → http://softmc.servotronix.com/wiki/Category:Top_level

{{fullurl:Category:Top level|action=edit}} → http://softmc.servotronix.com/index.php?title=Category:Top_level&action=edit

The absolute path to the title. This will also resolve Interwiki prefixes. 1.5+
{{filepath:file name}}
{{filepath:file name|nowiki}}
{{filepath:Wiki.png}} →
{{filepath:Wiki.png|nowiki}} →
The absolute URL to a media file. 1.12+
{{urlencode:string}} {{urlencode:x y z á é}} → x+y+z+%C3%A1+%C3%A9 The input encoded for use in URLs.
{{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 localized name for the namespace with that index. {{nse:}} is the URL-encoded equivalent. 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}} {{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}} SoftMC-Wiki {{ns:5}} or {{ns:Project talk}} SoftMC-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 Version
{{lc:string}} {{lc:DATA CENTER}} → data center The lowercase input. 1.5+
{{lcfirst:string}} {{lcfirst:DATA CENTER}} → dATA CENTER The input with the very first character lowercase. 1.5+
{{uc:string}} {{uc:text transform}} → TEXT TRANSFORM The uppercase input. 1.5+
{{ucfirst:string}} {{ucfirst:text transform}} → Text transform The input with the very first character uppercase. 1.5+
{{formatnum:unformatted num}}
{{formatnum:formatted num|R}}
{{formatnum:987654321.654321}}
→ 987,654,321.654321
{{formatnum:987,654,321.654321|R}}
→ 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 mathematical situations.

{{#dateformat:date}} {{#formatdate:date}} {{#dateformat:date|format}} {{#formatdate:date|format}}

{{#dateformat:25 deC 2009|ymd}}
2009 DeC 25 (your pref), 2009 DeC 25 (default)
{{#formatdate:dec 25,2009|dmy}}
25 Dec 2009 (your pref), 25 Dec 2009 (default)
{{#dateformat:2009-12-25|mdy}}
December 25, 2009 (your pref), December 25, 2009 (default)
{{#formatdate:2009 dec 25|ISO 8601}}
2009-12-25 (your pref), 2009-12-25 (default)
{{#dateformat:25 decEmber|mdy}}
DecEmber 25 (your pref), DecEmber 25 (default)


Note: In the example above, "your pref" refers to your date preference on the current MediaWiki wiki only.

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 a similar template), it is rendered unchanged, and no (additional) metadata is generated.

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).

1.15+
{{padleft:xyz|stringlength}}
{{padleft:xyz|strlen|char}}{{padleft:xyz|strlen|string}}
{{padleft:xyz|5}} → 00xyz
{{padleft:xyz|5|_}} → __xyz {{padleft:xyz|5|abc}} → abxyz
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. 1.8+
{{padright:xyz|stringlength}}
{{padright:xyz|strlen|char}}{{padright:xyz|strlen|string}}
{{padright:xyz|5}} → xyz00
{{padright:xyz|5|_}} → xyz__ {{padright:xyz|5|abc}} → xyzab
Identical to padleft, but adds padding characters to the right side.
{{plural:2|is|are}} {{plural:1|is|are}} → is
{{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}} 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. 1.7+