Aurora is on version 2.5.0 C#, available at the Aurora Forums.

Contact Erik on the forum for a wiki account.

Difference between revisions of "Help:Magic words"

From AuroraWiki
Jump to navigation Jump to search
m (1 revision)
 
m (1 revision)
 
(One intermediate revision by the same user not shown)
Line 3: Line 3:
 
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.'' '''<code><nowiki>{{FOO}}</nowiki></code>'''. 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 '''<code><nowiki>{{foo:...}}</nowiki></code>''' or '''<code><nowiki>{{#foo:...}}</nowiki></code>'''. See also {{mediawiki|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.
 
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}}
+
{| class="wikitable"
 
|-
 
|-
!{{Hl2}}| Word
+
! {{Hl2}}| Word
!{{Hl2}}| Description
+
! {{Hl2}}| Description
!{{Hl2}}| Versions
+
! {{Hl2}}| Versions
 
|-
 
|-
|{{Hl3}} colspan="3"| '''Table of contents'''
+
! {{Hl3}} colspan="3"| '''Table of contents'''
 
|-
 
|-
| <nowiki>__NOTOC__</nowiki>
+
| <code><nowiki>__NOTOC__</nowiki></code>
 
| Hides the table of contents (TOC).
 
| Hides the table of contents (TOC).
 
|
 
|
 
|-
 
|-
|<nowiki>__FORCETOC__</nowiki>
+
| <code><nowiki>__FORCETOC__</nowiki></code>
 
| Forces the table of content to appear at its normal position (above the first header).
 
| Forces the table of content to appear at its normal position (above the first header).
 
|
 
|
 
|-
 
|-
| <nowiki>__TOC__</nowiki>
+
| <code><nowiki>__TOC__</nowiki></code>
| Places a table of contents at the word's current position (overriding <nowiki>__NOTOC__</nowiki>). If this is used multiple times, the table of contents will appear at the first word's position.
+
| Places a table of contents at the word's current position (overriding <code><nowiki>__NOTOC__</nowiki></code>). If this is used multiple times, the table of contents will appear at the first word's position.
 
|
 
|
 
|-
 
|-
|{{Hl3}} colspan="3"| '''Editing'''
+
! {{Hl3}} colspan="3"| '''Editing'''
 
|-
 
|-
| <nowiki>__NOEDITSECTION__</nowiki>
+
| <code><nowiki>__NOEDITSECTION__</nowiki></code>
 
| Hides the section edit links beside headings.
 
| Hides the section edit links beside headings.
 
|
 
|
 
|-
 
|-
| <nowiki>__NEWSECTIONLINK__</nowiki>
+
| <code><nowiki>__NEWSECTIONLINK__</nowiki></code>
 
| 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 (see {{mediawiki|m:Help:Section#Adding a section at the end|Adding a section to the end}}).
 
| 1.7+
 
| 1.7+
 
|-
 
|-
| <nowiki>__NONEWSECTIONLINK__</nowiki>
+
| <code><nowiki>__NONEWSECTIONLINK__</nowiki></code>
 
| 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+}}
 
| {{mediawiki|rev:47522|1.15+}}
 
|-
 
|-
|{{Hl3}} colspan="3"| '''Categories'''
+
! {{Hl3}} colspan="3"| '''Categories'''
 
|-
 
|-
| <nowiki>__NOGALLERY__</nowiki>
+
| <code><nowiki>__NOGALLERY__</nowiki></code>
 
| Used on a category page, replaces thumbnails in the category view with normal links.
 
| Used on a category page, replaces thumbnails in the category view with normal links.
 
| 1.7+
 
| 1.7+
 
|-
 
|-
| <nowiki>__HIDDENCAT__</nowiki>
+
| <code><nowiki>__HIDDENCAT__</nowiki></code>
 
| 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 [[Help:Preferences|user preferences]] to show them).<!-- hiddencategory hiddencat hide category categories -->
 
| 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 [[Help:Preferences|user preferences]] to show them).<!-- hiddencategory hiddencat hide category categories -->
 
| 1.13+
 
| 1.13+
 
|-
 
|-
|{{Hl3}} colspan="3"| '''Language conversion'''
+
! {{Hl3}} colspan="3"| '''Language conversion'''
 
|-
 
|-
| <nowiki>__NOCONTENTCONVERT__</nowiki><br /><nowiki>__NOCC__</nowiki>
+
| <code><nowiki>__NOCONTENTCONVERT__</nowiki></code> <br /> <code><nowiki>__NOCC__</nowiki></code>
 
| 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.
 
| 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>
+
| <code><nowiki>__NOTITLECONVERT__</nowiki></code> <br /> <code><nowiki>__NOTC__</nowiki></code>
 
| On wikis with language variants, don't perform language conversion on the title (all other content is converted).
 
| On wikis with language variants, don't perform language conversion on the title (all other content is converted).
 
|  
 
|  
 
|-
 
|-
|{{Hl3}} colspan="3"| '''Other'''
+
! {{Hl3}} colspan="3"| '''Other'''
 
|-
 
|-
| <nowiki>__START__</nowiki>
+
| <code><nowiki>__START__</nowiki></code>
 
| No effect.
 
| No effect.
 
|
 
|
 
|-
 
|-
| <nowiki>__END__</nowiki>
+
| <code><nowiki>__END__</nowiki></code>
 
| Explicitly marks the end of the article, to prevent MediaWiki from removing trailing whitespace. Removed in {{mediawiki|rev:19213|19213}}.
 
| Explicitly marks the end of the article, to prevent MediaWiki from removing trailing whitespace. Removed in {{mediawiki|rev:19213|19213}}.
 
| 1.1 - 1.8
 
| 1.1 - 1.8
 
|-
 
|-
| <nowiki>__INDEX__</nowiki>
+
| <code><nowiki>__INDEX__</nowiki></code>
 
| Tell search engines to index the page (overrides {{mediawiki|Manual:$wgArticleRobotPolicies|$wgArticleRobotPolicies}}, but not robots.txt).
 
| Tell search engines to index the page (overrides {{mediawiki|Manual:$wgArticleRobotPolicies|$wgArticleRobotPolicies}}, but not robots.txt).
 
| 1.14+
 
| 1.14+
 
|-  
 
|-  
| <nowiki>__NOINDEX__</nowiki>
+
| <code><nowiki>__NOINDEX__</nowiki></code>
 
| Tell search engines not to index the page (ie, do not list in search engines' results).
 
| Tell search engines not to index the page (ie, do not list in search engines' results).
 
| {{mediawiki|rev:37973|1.14+}}
 
| {{mediawiki|rev:37973|1.14+}}
 
|-
 
|-
| <nowiki>__STATICREDIRECT__</nowiki>
+
| <code><nowiki>__STATICREDIRECT__</nowiki></code>
 
| 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".
 
| 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+}}
 
| {{mediawiki|rev:37928|1.13+}}
Line 91: Line 91:
 
Variables return information about the current page, wiki, or date. Their syntax is similar to [[Help:Templates|templates]]. Variables marked as "<span style="background:#FED;">'''[expensive]'''</span>" are tracked by the software, and the number that can be included on a page is limited.
 
Variables return information about the current page, wiki, or date. Their syntax is similar to [[Help:Templates|templates]]. Variables marked as "<span style="background:#FED;">'''[expensive]'''</span>" 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 [[{{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><nowiki>{{</nowiki>{{ns:10}}:PAGENAME<nowiki>}}</nowiki></code>). In some cases, adding parameters will force the parser to invoke a template; for example, <code><nowiki>{{CURRENTDAYNAME|x}}</nowiki></code> transcludes [[{{ns:10}}:CURRENTDAYNAME]] ''not'' the variable.
  
===Date & time===
+
===Date and time===
 
The following variables return the current date and time in UTC.
 
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.
 
Due to MediaWiki and browser caching, these variables frequently show when the page was ''cached'' rather than the current time.
  
{| {{prettytable}}
+
{| class="wikitable"
 
|-
 
|-
!{{Hl2}}| Variable
+
! {{Hl2}}| Variable
!{{Hl2}}| Output
+
! {{Hl2}}| Output
!{{Hl2}}| Description
+
! {{Hl2}}| Description
!{{Hl2}}| Versions
+
! {{Hl2}}| Versions
 
|-
 
|-
|{{Hl3}} colspan="4"| '''Year'''
+
! {{Hl3}} colspan="4"| '''Year'''
 
|-
 
|-
| <tt><nowiki>{{CURRENTYEAR}}</nowiki></tt>
+
| <code><nowiki>{{CURRENTYEAR}}</nowiki></code>
 
| {{CURRENTYEAR}}
 
| {{CURRENTYEAR}}
 
| Year
 
| Year
 
|
 
|
 
|-
 
|-
|{{Hl3}} colspan="4"| '''Month'''
+
! {{Hl3}} colspan="4"| '''Month'''
 
|-
 
|-
| <tt><nowiki>{{CURRENTMONTH}}</nowiki></tt>  
+
| <code><nowiki>{{CURRENTMONTH}}</nowiki></code>  
 
| {{CURRENTMONTH}}
 
| {{CURRENTMONTH}}
 
| Month (zero-padded number)
 
| Month (zero-padded number)
 
|
 
|
 
|-
 
|-
| <tt><nowiki>{{CURRENTMONTHNAME}}</nowiki></tt>
+
| <code><nowiki>{{CURRENTMONTHNAME}}</nowiki></code>
 
| {{CURRENTMONTHNAME}}
 
| {{CURRENTMONTHNAME}}
 
| Month (name)
 
| Month (name)
 
|
 
|
 
|-
 
|-
| <tt><nowiki>{{CURRENTMONTHNAMEGEN}}</nowiki></tt>
+
| <code><nowiki>{{CURRENTMONTHNAMEGEN}}</nowiki></code>
 
| {{CURRENTMONTHNAMEGEN}}
 
| {{CURRENTMONTHNAMEGEN}}
| Month ([[w:genitive|genitive form]])
+
| Month ([[wikipedia:genitive|genitive form]])
 
|
 
|
 
|-
 
|-
| <tt><nowiki>{{CURRENTMONTHABBREV}}</nowiki></tt>
+
| <code><nowiki>{{CURRENTMONTHABBREV}}</nowiki></code>
 
| {{CURRENTMONTHABBREV}}
 
| {{CURRENTMONTHABBREV}}
 
| Month (abbreviation)
 
| Month (abbreviation)
 
| 1.5+
 
| 1.5+
 
|-
 
|-
|{{Hl3}} colspan="4"| '''Day'''
+
! {{Hl3}} colspan="4"| '''Day'''
 
|-
 
|-
| <tt><nowiki>{{CURRENTDAY}}</nowiki></tt>
+
| <code><nowiki>{{CURRENTDAY}}</nowiki></code>
 
| {{CURRENTDAY}}
 
| {{CURRENTDAY}}
 
| Day of the month (unpadded number)
 
| Day of the month (unpadded number)
 
|
 
|
 
|-
 
|-
| <tt><nowiki>{{CURRENTDAY2}}</nowiki></tt>
+
| <code><nowiki>{{CURRENTDAY2}}</nowiki></code>
 
| {{CURRENTDAY2}}
 
| {{CURRENTDAY2}}
 
| Day of the month (zero-padded number)
 
| Day of the month (zero-padded number)
 
| 1.6+
 
| 1.6+
 
|-
 
|-
| <tt><nowiki>{{CURRENTDOW}}</nowiki></tt>
+
| <code><nowiki>{{CURRENTDOW}}</nowiki></code>
 
| {{CURRENTDOW}}
 
| {{CURRENTDOW}}
 
| Day of the week (unpadded number)
 
| Day of the week (unpadded number)
 
|
 
|
 
|-
 
|-
| <tt><nowiki>{{CURRENTDAYNAME}}</nowiki></tt>
+
| <code><nowiki>{{CURRENTDAYNAME}}</nowiki></code>
 
| {{CURRENTDAYNAME}}
 
| {{CURRENTDAYNAME}}
 
| Day of the week (name)
 
| Day of the week (name)
 
|
 
|
 
|-
 
|-
|{{Hl3}} colspan="4"| '''Time'''
+
! {{Hl3}} colspan="4"| '''Time'''
 
|-
 
|-
| <tt><nowiki>{{CURRENTTIME}}</nowiki></tt>
+
| <code><nowiki>{{CURRENTTIME}}</nowiki></code>
 
| {{CURRENTTIME}}
 
| {{CURRENTTIME}}
 
| Time (24-hour HH:mm format)
 
| Time (24-hour HH:mm format)
 
|
 
|
 
|-
 
|-
| <tt><nowiki>{{CURRENTHOUR}}</nowiki></tt>
+
| <code><nowiki>{{CURRENTHOUR}}</nowiki></code>
 
| {{CURRENTHOUR}}
 
| {{CURRENTHOUR}}
 
| Hour (24-hour zero-padded number)
 
| Hour (24-hour zero-padded number)
 
|
 
|
 
|-
 
|-
|{{Hl3}} colspan="4"| '''Other'''
+
! {{Hl3}} colspan="4"| '''Other'''
 
|-
 
|-
| <tt><nowiki>{{CURRENTWEEK}}</nowiki></tt>
+
| <code><nowiki>{{CURRENTWEEK}}</nowiki></code>
 
| {{CURRENTWEEK}}
 
| {{CURRENTWEEK}}
 
| Week (number)
 
| Week (number)
 
|
 
|
 
|-
 
|-
| <tt><nowiki>{{CURRENTTIMESTAMP}}</nowiki></tt>
+
| <code><nowiki>{{CURRENTTIMESTAMP}}</nowiki></code>
 
| {{CURRENTTIMESTAMP}}
 
| {{CURRENTTIMESTAMP}}
 
| YYYYMMDDHHmmss timestamp
 
| YYYYMMDDHHmmss timestamp
Line 182: Line 182:
  
 
The following variables do the same as the above, but using the site's server config or $wgLocaltimezone.
 
The following variables do the same as the above, but using the site's server config or $wgLocaltimezone.
* <tt><nowiki>{{LOCALYEAR}}</nowiki></tt>
+
* <code><nowiki>{{LOCALYEAR}}</nowiki></code>
* <tt><nowiki>{{LOCALMONTH}}</nowiki></tt>
+
* <code><nowiki>{{LOCALMONTH}}</nowiki></code>
* <tt><nowiki>{{LOCALMONTHNAME}}</nowiki></tt>
+
* <code><nowiki>{{LOCALMONTHNAME}}</nowiki></code>
* <tt><nowiki>{{LOCALMONTHNAMEGEN}}</nowiki></tt>
+
* <code><nowiki>{{LOCALMONTHNAMEGEN}}</nowiki></code>
* <tt><nowiki>{{LOCALMONTHABBREV}}</nowiki></tt>
+
* <code><nowiki>{{LOCALMONTHABBREV}}</nowiki></code>
* <tt><nowiki>{{LOCALDAY}}</nowiki></tt>
+
* <code><nowiki>{{LOCALDAY}}</nowiki></code>
* <tt><nowiki>{{LOCALDAY2}}</nowiki></tt>
+
* <code><nowiki>{{LOCALDAY2}}</nowiki></code>
* <tt><nowiki>{{LOCALDOW}}</nowiki></tt>
+
* <code><nowiki>{{LOCALDOW}}</nowiki></code>
* <tt><nowiki>{{LOCALDAYNAME}}</nowiki></tt>
+
* <code><nowiki>{{LOCALDAYNAME}}</nowiki></code>
* <tt><nowiki>{{LOCALTIME}}</nowiki></tt>
+
* <code><nowiki>{{LOCALTIME}}</nowiki></code>
* <tt><nowiki>{{LOCALHOUR}}</nowiki></tt>
+
* <code><nowiki>{{LOCALHOUR}}</nowiki></code>
* <tt><nowiki>{{LOCALWEEK}}</nowiki></tt>
+
* <code><nowiki>{{LOCALWEEK}}</nowiki></code>
* <tt><nowiki>{{LOCALTIMESTAMP}}</nowiki></tt>
+
* <code><nowiki>{{LOCALTIMESTAMP}}</nowiki></code>
  
 
:''For more thorough time formatting, you may want to install [[Extension:ParserFunctions]] to use the [[Help:Extension:ParserFunctions#.23time|#time parser function]]''
 
:''For more thorough time formatting, you may want to install [[Extension:ParserFunctions]] to use the [[Help:Extension:ParserFunctions#.23time|#time parser function]]''
Line 200: Line 200:
 
===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}}
+
{| class="wikitable"
 
|-
 
|-
!{{Hl2}}| Variable
+
! {{Hl2}}| Variable
!{{Hl2}}| Output
+
! {{Hl2}}| Output
!{{Hl2}}| Description
+
! {{Hl2}}| Description
!{{Hl2}}| Versions
+
! {{Hl2}}| Versions
 
|-
 
|-
|{{Hl3}} colspan="4"| '''Site'''
+
! {{Hl3}} colspan="4"| '''Site'''
 
|-
 
|-
| <tt><nowiki>{{SITENAME}}</nowiki></tt>
+
| <code><nowiki>{{SITENAME}}</nowiki></code>
 
| {{SITENAME}}
 
| {{SITENAME}}
 
| The wiki's site name ({{mediawiki|Manual:$wgSitename|$wgSitename}}).
 
| The wiki's site name ({{mediawiki|Manual:$wgSitename|$wgSitename}}).
 
|
 
|
 
|-
 
|-
| <tt><nowiki>{{SERVER}}</nowiki></tt>
+
| <code><nowiki>{{SERVER}}</nowiki></code>
 
| {{SERVER}}
 
| {{SERVER}}
 
| domain URL ({{mediawiki|Manual:$wgServer|$wgServer}})
 
| domain URL ({{mediawiki|Manual:$wgServer|$wgServer}})
 
|
 
|
 
|-
 
|-
| <tt><nowiki>{{SERVERNAME}}</nowiki></tt>
+
| <code><nowiki>{{SERVERNAME}}</nowiki></code>
 
| {{SERVERNAME}}
 
| {{SERVERNAME}}
| domain name ({{mediawiki|Manual:$wgServerName|$wgServerName}})
+
| domain name (No longer dependent on {{mediawiki|Manual:$wgServerName|$wgServerName}} as of version 1.17)
 
|
 
|
 
|-
 
|-
| <tt><nowiki>{{DIRMARK}}</nowiki></tt><br /><tt><nowiki>{{DIRECTIONMARK}}</nowiki></tt>
+
| <code><nowiki>{{DIRMARK}}</nowiki></code><br /><code><nowiki>{{DIRECTIONMARK}}</nowiki></code>
 
| {{DIRMARK}}<br />{{DIRECTIONMARK}}
 
| {{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.
 
| 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+
 
| 1.7+
 
|-
 
|-
| <tt><nowiki>{{SCRIPTPATH}}</nowiki></tt>
+
| <code><nowiki>{{SCRIPTPATH}}</nowiki></code>
 
| {{SCRIPTPATH}}
 
| {{SCRIPTPATH}}
 
| relative script path ({{mediawiki|Manual:$wgScriptPath|$wgScriptPath}})
 
| relative script path ({{mediawiki|Manual:$wgScriptPath|$wgScriptPath}})
 
|
 
|
 
|-
 
|-
| <tt><nowiki>{{STYLEPATH}}</nowiki></tt>
+
| <code><nowiki>{{STYLEPATH}}</nowiki></code>
 
| {{STYLEPATH}}
 
| {{STYLEPATH}}
 
| relative style path ({{mediawiki|Manual:$wgStylePath|$wgStylePath}})
 
| relative style path ({{mediawiki|Manual:$wgStylePath|$wgStylePath}})
 
| 1.16+
 
| 1.16+
 
|-
 
|-
| <tt><nowiki>{{CURRENTVERSION}}</nowiki></tt>
+
| <code><nowiki>{{CURRENTVERSION}}</nowiki></code>
 
| {{CURRENTVERSION}}
 
| {{CURRENTVERSION}}
 
| The wiki's MediaWiki version.
 
| The wiki's MediaWiki version.
 
| 1.7+
 
| 1.7+
 
|-
 
|-
| <tt><nowiki>{{CONTENTLANGUAGE}}</nowiki></tt><br /><tt><nowiki>{{CONTENTLANG}}</nowiki></tt>
+
| <code><nowiki>{{CONTENTLANGUAGE}}</nowiki></code><br /><code><nowiki>{{CONTENTLANG}}</nowiki></code>
 
| {{CONTENTLANGUAGE}}<br />{{CONTENTLANG}}
 
| {{CONTENTLANGUAGE}}<br />{{CONTENTLANG}}
 
| The wiki's default interface language ({{mediawiki|Manual:$wgLanguageCode|$wgLanguageCode}})
 
| The wiki's default interface language ({{mediawiki|Manual:$wgLanguageCode|$wgLanguageCode}})
 
| 1.7+
 
| 1.7+
 
|-
 
|-
|{{Hl3}} colspan="4"| '''Latest revision to current page'''
+
! {{Hl3}} colspan="4"| '''Latest revision to current page'''
 
|-
 
|-
| <tt><nowiki>{{REVISIONID}}</nowiki></tt>
+
| <code><nowiki>{{REVISIONID}}</nowiki></code>
 
| {{REVISIONID}}
 
| {{REVISIONID}}
 
| Unique revision ID
 
| Unique revision ID
 
| 1.5+
 
| 1.5+
 
|-
 
|-
| <tt><nowiki>{{REVISIONDAY}}</nowiki></tt>
+
| <code><nowiki>{{REVISIONDAY}}</nowiki></code>
 
| {{REVISIONDAY}}
 
| {{REVISIONDAY}}
 
| Day edit was made (unpadded number)
 
| Day edit was made (unpadded number)
 
| 1.8+
 
| 1.8+
 
|-
 
|-
| <tt><nowiki>{{REVISIONDAY2}}</nowiki></tt>
+
| <code><nowiki>{{REVISIONDAY2}}</nowiki></code>
 
| {{REVISIONDAY2}}
 
| {{REVISIONDAY2}}
 
| Day edit was made (zero-padded number)
 
| Day edit was made (zero-padded number)
 
| 1.8+
 
| 1.8+
 
|-
 
|-
| <tt><nowiki>{{REVISIONMONTH}}</nowiki></tt>
+
| <code><nowiki>{{REVISIONMONTH}}</nowiki></code>
 
| {{REVISIONMONTH}}
 
| {{REVISIONMONTH}}
| Month edit was made (zero-padded number)
+
| Month edit was made (zero-padded number as of {{mediawiki|rev:66200|1.17+}}, unpadded number in prior versions)
| 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>
+
| <code><nowiki>{{REVISIONYEAR}}</nowiki></code>
 
| {{REVISIONYEAR}}
 
| {{REVISIONYEAR}}
 
| Year edit was made
 
| Year edit was made
 
| 1.8+
 
| 1.8+
 
|-
 
|-
| <tt><nowiki>{{REVISIONTIMESTAMP}}</nowiki></tt>
+
| <code><nowiki>{{REVISIONTIMESTAMP}}</nowiki></code>
 
| {{REVISIONTIMESTAMP}}
 
| {{REVISIONTIMESTAMP}}
 
| Timestamp as of time of edit
 
| Timestamp as of time of edit
 
| 1.8+
 
| 1.8+
 
|-
 
|-
| <tt><nowiki>{{REVISIONUSER}}</nowiki></tt>
+
| <code><nowiki>{{REVISIONUSER}}</nowiki></code>
 
| {{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, or the current user when previewing an edit
 
| {{mediawiki|rev:48149|1.15+}}
 
| {{mediawiki|rev:48149|1.15+}}
 
|-style="background:#FED;"
 
|-style="background:#FED;"
| <tt><nowiki>{{PAGESIZE:</nowiki>''page name''<nowiki>}}</nowiki></tt>
+
| <code><nowiki>{{PAGESIZE:</nowiki>''page name''<nowiki>}}</nowiki></code><br /><code><nowiki>{{PAGESIZE:</nowiki>''page name''<nowiki>|R}}</nowiki>
| {{PAGESIZE:Help:Magic_words}}
+
| {{PAGESIZE:Help:Magic_words}}<br />{{PAGESIZE:Help:Magic_words|R}}
| '''[expensive]''' Returns the byte size of the specified page.
+
| '''[expensive]''' Returns the byte size of the specified page. Use "<code><nowiki>|R</nowiki></code>" to get raw numbers.
 
| {{mediawiki|rev:33551|1.13+}}
 
| {{mediawiki|rev:33551|1.13+}}
 
|-
 
|-
| <tt><nowiki>{{PROTECTIONLEVEL:</nowiki>''action''<nowiki>}}</nowiki></tt>
+
| <code><nowiki>{{PROTECTIONLEVEL:</nowiki>''action''<nowiki>}}</nowiki></code>
 
| 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+}}
 
| {{mediawiki|rev:45587|1.15+}}
 
|-
 
|-
|{{Hl3}} colspan="4"| '''Affects page content'''
+
! {{Hl3}} colspan="4"| '''Affects page content'''
 
|-
 
|-
| <tt><nowiki>{{DISPLAYTITLE:</nowiki>''title''<nowiki>}}</nowiki></tt>
+
| <code><nowiki>{{DISPLAYTITLE:</nowiki>''title''<nowiki>}}</nowiki></code>
 
|
 
|
 
| 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. It can be disabled or enabled by {{mediawiki|Manual:$wgAllowDisplayTitle|$wgAllowDisplayTitle}}; disabled by default before 1.10+, enabled by default thereafter.
 
| 1.7+
 
| 1.7+
 
|-
 
|-
| <tt><nowiki>{{DEFAULTSORT:</nowiki>''sortkey''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{DEFAULTSORTKEY:</nowiki>''sortkey''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{DEFAULTCATEGORYSORT:</nowiki>''sortkey''<nowiki>}}</nowiki></tt>
+
| <code><nowiki>{{DEFAULTSORT:</nowiki>''sortkey''<nowiki>}}</nowiki></code><br /><code><nowiki>{{DEFAULTSORTKEY:</nowiki>''sortkey''<nowiki>}}</nowiki></code><br /><code><nowiki>{{DEFAULTCATEGORYSORT:</nowiki>''sortkey''<nowiki>}}</nowiki></code>
 
|
 
|
| Used for categorizing pages, sets a default [[Help:Categories|category sort key]]. For example if you put <tt><nowiki>{{DEFAULTSORT:Smith, John}}</nowiki></tt> at the end of [[John Smith]], the page would be sorted under "S" by default in categories.
+
| Used for categorizing pages, sets a default [[Help:Categories|category sort key]]. For example if you put <code><nowiki>{{DEFAULTSORT:Smith, John}}</nowiki></code> at the end of [[John Smith]], the page would be sorted under "S" by default in categories.
 
| 1.10+
 
| 1.10+
 
|}
 
|}
  
 
===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><nowiki>{{NUMBEROFPAGES}}</nowiki></code> &rarr; {{NUMBEROFPAGES}} and <code><nowiki>{{NUMBEROFPAGES:R}}</nowiki></code> &rarr; {{NUMBEROFPAGES:R}}). Use "|R" for magic words that require a parameter like PAGESINCATEGORY (for example <code><nowiki>{{PAGESINCATEGORY:Help}}</nowiki></code> and <code><nowiki>{{PAGESINCATEGORY:Help|R}}</nowiki></code>). Also applicable to <code><nowiki>{{PAGESIZE:</nowiki>''page name''<nowiki>}}</nowiki></code> above.
{| {{prettytable}}
+
{| class="wikitable"
 
|-
 
|-
!{{Hl2}}| Variable
+
! {{Hl2}}| Variable
!{{Hl2}}| Output
+
! {{Hl2}}| Output
!{{Hl2}}| Description
+
! {{Hl2}}| Description
!{{Hl2}}| Versions
+
! {{Hl2}}| Versions
 
|-
 
|-
|{{Hl3}} colspan="4"| '''Entire wiki'''
+
! {{Hl3}} colspan="4"| '''Entire wiki'''
 
|-
 
|-
| <tt><nowiki>{{NUMBEROFPAGES}}</nowiki></tt>
+
| <code><nowiki>{{NUMBEROFPAGES}}</nowiki></code>
 
| {{NUMBEROFPAGES}}
 
| {{NUMBEROFPAGES}}
 
| Number of wiki pages.
 
| Number of wiki pages.
 
| 1.7+
 
| 1.7+
 
|-
 
|-
| <tt><nowiki>{{NUMBEROFARTICLES}}</nowiki></tt>
+
| <code><nowiki>{{NUMBEROFARTICLES}}</nowiki></code>
 
| {{NUMBEROFARTICLES}}
 
| {{NUMBEROFARTICLES}}
 
| Number of pages in {{mediawiki|Manual:Using custom namespaces#Content namespaces|content namespaces}}.
 
| Number of pages in {{mediawiki|Manual:Using custom namespaces#Content namespaces|content namespaces}}.
 
|
 
|
 
|-
 
|-
| <tt><nowiki>{{NUMBEROFFILES}}</nowiki></tt>
+
| <code><nowiki>{{NUMBEROFFILES}}</nowiki></code>
 
| {{NUMBEROFFILES}}
 
| {{NUMBEROFFILES}}
 
| Number of uploaded files.
 
| Number of uploaded files.
 
| 1.5+
 
| 1.5+
 
|-
 
|-
| <tt><nowiki>{{NUMBEROFEDITS}}</nowiki></tt>
+
| <code><nowiki>{{NUMBEROFEDITS}}</nowiki></code>
 
| {{NUMBEROFEDITS}}
 
| {{NUMBEROFEDITS}}
 
| Number of page edits.
 
| Number of page edits.
 
| {{mediawiki|rev:21319|1.10+}}
 
| {{mediawiki|rev:21319|1.10+}}
 
|-
 
|-
| <tt><nowiki>{{NUMBEROFVIEWS}}</nowiki></tt>
+
| <code><nowiki>{{NUMBEROFVIEWS}}</nowiki></code>
 
| {{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+}}
 
| {{mediawiki|rev:42721|1.14+}}
 
|-
 
|-
| <tt><nowiki>{{NUMBEROFUSERS}}</nowiki></tt>
+
| <code><nowiki>{{NUMBEROFUSERS}}</nowiki></code>
 
| {{NUMBEROFUSERS}}
 
| {{NUMBEROFUSERS}}
 
| Number of registered users.
 
| Number of registered users.
 
| 1.7+
 
| 1.7+
 
|-
 
|-
| <tt><nowiki>{{NUMBEROFADMINS}}</nowiki></tt>
+
| <code><nowiki>{{NUMBEROFADMINS}}</nowiki></code>
 
| {{NUMBEROFADMINS}}
 
| {{NUMBEROFADMINS}}
 
| Number of users in the ''sysop'' {{mediawiki|Manual:User rights|group}}.
 
| Number of users in the ''sysop'' {{mediawiki|Manual:User rights|group}}.
 
| 1.7+
 
| 1.7+
 
|-
 
|-
| <tt><nowiki>{{NUMBEROFACTIVEUSERS}}</nowiki></tt>
+
| <code><nowiki>{{NUMBEROFACTIVEUSERS}}</nowiki></code>
 
| {{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+}}
 
| {{mediawiki|rev:47392|1.15+}}
 
|-style="background:#FED;"
 
|-style="background:#FED;"
| <tt><nowiki>{{PAGESINCATEGORY:</nowiki>''categoryname''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{PAGESINCAT:Help}}</nowiki></tt>
+
| <code><nowiki>{{PAGESINCATEGORY:</nowiki>''categoryname''<nowiki>}}</nowiki></code><br /><code><nowiki>{{PAGESINCAT:Help}}</nowiki></code>
 
| {{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]].
 
| {{mediawiki|rev:32932|1.13+}}
 
| {{mediawiki|rev:32932|1.13+}}
 
|-
 
|-
| <tt><nowiki>{{NUMBERINGROUP:</nowiki>''groupname''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{NUMINGROUP:</nowiki>''groupname''<nowiki>}}</nowiki></tt>
+
| <code><nowiki>{{NUMBERINGROUP:</nowiki>''groupname''<nowiki>}}</nowiki></code><br /><code><nowiki>{{NUMINGROUP:</nowiki>''groupname''<nowiki>}}</nowiki></code>
 
| {{NUMBERINGROUP:bureaucrat}}<br />{{NUMINGROUP:bureaucrat}}<br /><small><nowiki>({{NUMBERINGROUP:bureaucrat}} used here)</nowiki></small>
 
| {{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}}.
 
| Number of users in a specific {{mediawiki|Manual:User rights|group}}.
 
| {{mediawiki|rev:40116|1.14+}}
 
| {{mediawiki|rev:40116|1.14+}}
 
|-
 
|-
| <tt><nowiki>{{PAGESINNS:</nowiki>''index''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{PAGESINNAMESPACE:</nowiki>''index''<nowiki>}}</nowiki></tt>
+
| <code><nowiki>{{PAGESINNS:</nowiki>''index''<nowiki>}}</nowiki></code><br /><code><nowiki>{{PAGESINNAMESPACE:</nowiki>''index''<nowiki>}}</nowiki></code>
 
| ''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, <code><nowiki>{{PAGESINNAMESPACE:</nowiki>''14''<nowiki>}}</nowiki></code> will output the number of category pages. <code><nowiki>{{PAGESINNS:0}}</nowiki></code> differs from <code><nowiki>{{NUMBEROFARTICLES}}</nowiki></code> in that the former includes redirects and disambiguation pages. Disabled by default, enable with {{mediawiki|Manual:$wgAllowSlowParserFunctions|$wgAllowSlowParserFunctions}}.  
 
| 1.7+
 
| 1.7+
 
|}
 
|}
  
 
===Page names===
 
===Page names===
{| {{prettytable}}
+
{| class="wikitable"
 
|-
 
|-
!{{Hl2}}| Variable
+
! {{Hl2}}| Variable
!{{Hl2}}| Output
+
! {{Hl2}}| Output
!{{Hl2}}| Description
+
! {{Hl2}}| Description
!{{Hl2}}| Versions
+
! {{Hl2}}| Versions
 
|-
 
|-
| <tt><nowiki>{{FULLPAGENAME}}</nowiki></tt>
+
| <code><nowiki>{{FULLPAGENAME}}</nowiki></code>
 
| {{FULLPAGENAME}}
 
| {{FULLPAGENAME}}
 
| Namespace and page title.
 
| Namespace and page title.
 
| 1.6+
 
| 1.6+
 
|-
 
|-
| <tt><nowiki>{{PAGENAME}}</nowiki></tt>
+
| <code><nowiki>{{PAGENAME}}</nowiki></code>
 
| {{PAGENAME}}
 
| {{PAGENAME}}
 
| Page title.
 
| Page title.
 
|
 
|
 
|-
 
|-
| <tt><nowiki>{{BASEPAGENAME}}</nowiki></tt>
+
| <code><nowiki>{{BASEPAGENAME}}</nowiki></code>
 
| {{BASEPAGENAME}}
 
| {{BASEPAGENAME}}
 
| Page title excluding the current [[Help:Subpages|subpage]] and namespace ("Title/foo" on "Title/foo/bar").
 
| Page title excluding the current [[Help:Subpages|subpage]] and namespace ("Title/foo" on "Title/foo/bar").
For more complex splitting, use <nowiki>{{</nowiki>[[Help:Extension:ParserFunctions#.23titleparts|#titleparts:]] <nowiki>}}</nowiki> from [[Help:Extension:ParserFunctions|ParserFunctions extension]].
+
For more complex splitting, use <code><nowiki>{{</nowiki>[[Help:Extension:ParserFunctions#.23titleparts|#titleparts:]]<nowiki>}}</nowiki></code> from [[Help:Extension:ParserFunctions|ParserFunctions extension]].
 
| 1.7+
 
| 1.7+
 
|-
 
|-
| <tt><nowiki>{{SUBPAGENAME}}</nowiki></tt>
+
| <code><nowiki>{{SUBPAGENAME}}</nowiki></code>
 
| {{SUBPAGENAME}}
 
| {{SUBPAGENAME}}
 
| The [[Help:Subpages|subpage]] title ("foo" on "Title/foo").
 
| The [[Help:Subpages|subpage]] title ("foo" on "Title/foo").
 
| 1.6+
 
| 1.6+
 
|-
 
|-
| <tt><nowiki>{{SUBJECTPAGENAME}}</nowiki></tt>
+
| <code><nowiki>{{SUBJECTPAGENAME}}</nowiki></code>
 
| {{SUBJECTPAGENAME}}
 
| {{SUBJECTPAGENAME}}
 
| The namespace and title of the associated content page.
 
| The namespace and title of the associated content page.
 
| 1.7+
 
| 1.7+
 
|-
 
|-
| <tt><nowiki>{{TALKPAGENAME}}</nowiki></tt>
+
| <code><nowiki>{{TALKPAGENAME}}</nowiki></code>
 
| {{TALKPAGENAME}}
 
| {{TALKPAGENAME}}
 
| The namespace and title of the associated talk page.
 
| The namespace and title of the associated talk page.
Line 421: Line 416:
 
|}
 
|}
  
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 <code><nowiki>{{BASEPAGENAME}}</nowiki></code> and <code><nowiki>{{SUBPAGENAME}}</nowiki></code> magic words only work in namespaces that have subpages enabled.  See {{mediawiki|Manual:$wgNamespacesWithSubpages}} for information on enabling subpages.
  
The following are equivalents encoded for use in MediaWiki URLs (i.e. spaces replaced with underscores and some characters [[w:percent-encoding|percent-encoded]]):
+
The following are equivalents encoded for use in MediaWiki URLs (i.e. spaces replaced with underscores and some characters [[wikipedia:percent-encoding|percent-encoded]]):
* <tt><nowiki>{{FULLPAGENAMEE}}</nowiki></tt>
+
* <code><nowiki>{{FULLPAGENAMEE}}</nowiki></code>
* <tt><nowiki>{{PAGENAMEE}}</nowiki></tt>
+
* <code><nowiki>{{PAGENAMEE}}</nowiki></code>
* <tt><nowiki>{{BASEPAGENAMEE}}</nowiki></tt>
+
* <code><nowiki>{{BASEPAGENAMEE}}</nowiki></code>
* <tt><nowiki>{{SUBPAGENAMEE}}</nowiki></tt>
+
* <code><nowiki>{{SUBPAGENAMEE}}</nowiki></code>
* <tt><nowiki>{{SUBJECTPAGENAMEE}}</nowiki></tt>
+
* <code><nowiki>{{SUBJECTPAGENAMEE}}</nowiki></code>
* <tt><nowiki>{{TALKPAGENAMEE}}</nowiki></tt>
+
* <code><nowiki>{{TALKPAGENAMEE}}</nowiki></code>
  
 
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 {{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:
* <tt><nowiki>{{PAGENAME:Template:Main Page}}</nowiki></tt> &rarr; '''{{PAGENAME:Template:Main Page}}'''
+
* <code><nowiki>{{PAGENAME:Template:Main Page}}</nowiki></code> &rarr; '''{{PAGENAME:Template:Main Page}}'''
  
 +
{{Warning|Page titles containing certain characters, such as single quotes (') or asterisks <code>*</code>, may produce unexpected results when handled with these magic words, e.g. <code><nowiki>{{PAGESINCATEGORY:{{PAGENAME}}}}</nowiki></code>. 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>{{PAGESINCATEGORY:{{PAGENAME}}}}</nowiki></tt>. See bugs {{mediawiki|bugzilla:14779|14779}}, {{mediawiki|bugzilla:16474|16474}}.}}
+
====PAGENAME encoding====
 +
 
 +
The PAGENAME variable encoding states are not simple. For simplicity in this section, ignore wide characters. The following characters are not allow in wiki page names and will not be further mentioned:
 +
: # < > [ ] _ { | }
 +
That is the three types of brackets, pound sign, underscore and vertical bar. Note that a page can have a leading space but not a trailing space and that spaces. We will present other ASCII 7-bit values for characters as the URL-style encoding of percent-hex-hex for clarity and utility since this is the same notation one would manually encode them in a URL. For this discussion, we will refer only to ASCII 7-bit values, not accented characters and such. There are also some bizzare combinations that . There are also other snags that are complex. For instance, you can create the a wiki page named
 +
:<nowiki>http://en.wikipedia.org/wiki/!"$'abc</nowiki>
 +
but you cannot a page named
 +
:<nowiki>http://en.wikipedia.org/wiki/User:MyUser/!"$'abc</nowiki>
 +
for reasons too complex to explain here, but it has something to do with quotes and stuff.
 +
 
 +
;'''PAGENAME:'''
 +
Some characters returned by PAGENAME are HTML-style encoded:
 +
* " (double quote %22) is converted to &amp;quot;
 +
* ' (single quote %27) is converted to &amp;#39; (39 is the decimal value of hexadecimal 27 )
 +
* & (ambersand %3B) is converted to &amp;amp;
 +
We will refer to these as "the three pagename characters".
 +
;'''PAGENAMEE:'''
 +
PAGENAMEE converts spaces to underscore and URL-style encodes some other characters:
 +
* It converts " % & ' + = ? \ ^ ` ~ to %22 %25 %26 %27 %2B %3D %3F %5C %5E %60 %7E
 +
* It does not convert alphanumerics and the characters: ! $ ( ) * , - . / : ; @
 +
This avoids the problematic coding of the three pagename characters but the typical encoding of space is the plus sign (or sometimes as %20). The default MediaWiki configuration has limited string manipulation features so this will often not be a sufficient solution. A solution to this might be to create a library of string manipulation templates.  Note that [[Extension:StringFunctions]] is obsolete, but it still might suffice.
 +
;'''Web server HTTP interface and web browser URL:'''
 +
The URL you cut/paste in your web browser URL is similar but not exactly the same as PAGENAMEE .
 +
* In order to type in a page name as a URL in your web browser, the following two characters must be URL-style encoded: % ? as %25 %3F . See RFC1738 for details.
 +
* For the URL you see in your browser, the situation is more complex. As a URL in a web browser's address box, some characters in pagenames are converted sometimes and othertimes ''not'' converted. If you type in a URL into your web browser ending in A_=_B or A=B then it will send that URL directly and you will get to the wiki page if it exists. But many wiki pages have spaces in them and then something different happens. If you enter a URL into your web browser ending in <code>A = B</code> (with spaces around the equals sign), then your web browser encodes spaces to %20, and thus sends A%20=%20B to the web server. The wiki web server, then converts the string to A_%3D_B and sends that back to the web browser via [[w:URL redirection]]. The wiki web server converted the equals sign because it was next to a blank. Characters that the wiki web servers converts in this way is the same as the PAGENAMEE list, but again, only when they are adjacent to a space. On top of this, your web browser will hide some conversions in a possibly brower-dependent manner because it does, in effect, a '''urldecode''' action on the real URL. This decoding is essential for usability for users of non-English languages such as Asian languages can type in wide characters into a brower's URL address. For instance, a URL ending in %E6%9D%B1%E4%BA%AC, you browser will usually urlconvert it and display it as 東京, which are the two Kanji characters for Tokyo. An easy way to reliably see the real URL is to cut-and-paste it as text into a simple text editor and see what it looks like and how much encoding happened.
 +
;'''urlencode:'''
 +
The urlencode converts almost all characters except alphanumerics and three of the RFC1738 URL "safe" characters: - . (dash, period) and it converts blank to plus. While the technique of embedding <nowiki>{{uuencode:{{{userparam|{{PAGENAME}}}))))</nowiki> into off-wiki URLs as a CGI-style parameter can be useful in templates (i.e. treating ''simple pagenames as data''). We will call this technique urlencode-pagename. With the three PAGENAME characters above (i.e. " ' &), this can result in a double encoding (first into HTML and then into urlencode). An example would be where the HTML-style ampersand of &esc;amp; is converted into to the URL-style %26amp%3B . Sometimes remote web sites can handle this, but many cannot. For these page names, the invocation of a template that uses urlencode-pagename will have to spell out that page name again as the parameter userparam with the simple version of the three PAGENAME characters. As with PAGENAMEE, another possible workaround is string manipulation templates or adding appropriate extensions.
  
 
===Namespaces===
 
===Namespaces===
{| {{prettytable}}
+
{| class="wikitable"
 
|-
 
|-
!{{Hl2}}| Variable
+
! {{Hl2}}| Variable
!{{Hl2}}| Output
+
! {{Hl2}}| Output
!{{Hl2}}| Description
+
! {{Hl2}}| Description
!{{Hl2}}| Versions
+
! {{Hl2}}| Versions
 
|-
 
|-
| <tt><nowiki>{{NAMESPACE}}</nowiki></tt>
+
| <code><nowiki>{{NAMESPACE}}</nowiki></code>
 
| {{NAMESPACE}}
 
| {{NAMESPACE}}
 
| Name of the page's namespace
 
| Name of the page's namespace
 
|
 
|
 
|-
 
|-
| <tt><nowiki>{{SUBJECTSPACE}}</nowiki></tt><br /><tt><nowiki>{{ARTICLESPACE}}</nowiki></tt>
+
| <code><nowiki>{{SUBJECTSPACE}}</nowiki></code><br /><code><nowiki>{{ARTICLESPACE}}</nowiki></code>
 
| {{SUBJECTSPACE}}<br />{{ARTICLESPACE}}
 
| {{SUBJECTSPACE}}<br />{{ARTICLESPACE}}
 
| Name of the associated content namespace
 
| Name of the associated content namespace
 
| 1.7+
 
| 1.7+
 
|-
 
|-
| <tt><nowiki>{{TALKSPACE}}</nowiki></tt>
+
| <code><nowiki>{{TALKSPACE}}</nowiki></code>
 
| {{TALKSPACE}}
 
| {{TALKSPACE}}
 
| Name of the associated talk namespace
 
| Name of the associated talk namespace
Line 462: Line 484:
  
 
The following are equivalents encoded for use in MediaWiki URLs (spaces replaced with underscores and some characters percent-encoded):
 
The following are equivalents encoded for use in MediaWiki URLs (spaces replaced with underscores and some characters percent-encoded):
* <tt><nowiki>{{NAMESPACEE}}</nowiki></tt>
+
* <code><nowiki>{{NAMESPACEE}}</nowiki></code>
* <tt><nowiki>{{SUBJECTSPACEE}}</nowiki></tt>
+
* <code><nowiki>{{SUBJECTSPACEE}}</nowiki></code>
* <tt><nowiki>{{TALKSPACEE}}</nowiki></tt>
+
* <code><nowiki>{{TALKSPACEE}}</nowiki></code>
  
 
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:
 
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:
* <tt><nowiki>{{NAMESPACE:Template:Main Page}}</nowiki></tt> &rarr; '''{{NAMESPACE:Template:Main Page}}'''
+
* <code><nowiki>{{NAMESPACE:Template:Main Page}}</nowiki></code> &rarr; '''{{NAMESPACE:Template:Main Page}}'''
* <tt><nowiki>{{SUBJECTSPACE:Template:Main Page}}</nowiki></tt> &rarr; '''{{SUBJECTSPACE:Template:Main Page}}'''
+
* <code><nowiki>{{SUBJECTSPACE:Template:Main Page}}</nowiki></code> &rarr; '''{{SUBJECTSPACE:Template:Main Page}}'''
* <tt><nowiki>{{TALKSPACE:Template:Main Page}}</nowiki></tt> &rarr; '''{{TALKSPACE:Template:Main Page}}'''
+
* <code><nowiki>{{TALKSPACE:Template:Main Page}}</nowiki></code> &rarr; '''{{TALKSPACE:Template:Main Page}}'''
  
 
==Parser functions==
 
==Parser functions==
Line 478: Line 500:
  
 
===URL data===
 
===URL data===
{| {{prettytable}}
+
{| class="wikitable"
 
|-
 
|-
!{{Hl2}}| Parser function
+
! {{Hl2}}| Parser function
!{{Hl2}}| Input → Output
+
! {{Hl2}}| Input → Output
!{{Hl2}}| Description
+
! {{Hl2}}| Description
!{{Hl2}}| Versions
+
! {{Hl2}}| Versions
 
|-
 
|-
| <tt><nowiki>{{localurl:</nowiki>''page name''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{localurl:</nowiki>''page name''<nowiki>|</nowiki>''query_string''<nowiki>}}</nowiki></tt>
+
| <code><nowiki>{{localurl:</nowiki>''page name''<nowiki>}}</nowiki></code><br /><code><nowiki>{{localurl:</nowiki>''page name''<nowiki>|</nowiki>''query_string''<nowiki>}}</nowiki></code>
| <nowiki>{{localurl:MediaWiki}}</nowiki> → {{localurl:MediaWiki}}<br /><nowiki>{{localurl:MediaWiki|printable=yes}}</nowiki>  → {{localurl:MediaWiki|printable=yes}}
+
| <code><nowiki>{{localurl:MediaWiki}}</nowiki></code> → {{localurl:MediaWiki}}<br /><nowiki>{{localurl:MediaWiki|printable=yes}}</nowiki>  → {{localurl:MediaWiki|printable=yes}}
 
| The relative path to the title.  
 
| The relative path to the title.  
 
|
 
|
 
|-
 
|-
| <tt><nowiki>{{fullurl:</nowiki>''page name''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{fullurl:</nowiki>''page name''<nowiki>|</nowiki>''query_string''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{fullurl:</nowiki>''interwiki:remote page name''<nowiki>|</nowiki>''query_string''<nowiki>}}</nowiki></tt>
+
| <code><nowiki>{{fullurl:</nowiki>''page name''<nowiki>}}</nowiki></code><br /><code><nowiki>{{fullurl:</nowiki>''page name''<nowiki>|</nowiki>''query_string''<nowiki>}}</nowiki></code><br /><code><nowiki>{{fullurl:</nowiki>''interwiki:remote page name''<nowiki>|</nowiki>''query_string''<nowiki>}}</nowiki></code>
| <nowiki>{{fullurl:Category:Top level}}</nowiki> → {{fullurl:Category:Top level}}<br />
+
| <code><nowiki>{{fullurl:Category:Top level}}</nowiki></code> → {{fullurl:Category:Top level}}<br />
<nowiki>{{fullurl:Category:Top level|action=edit}}</nowiki> → {{fullurl:Category:Top level|action=edit}}
+
<code><nowiki>{{fullurl:Category:Top level|action=edit}}</nowiki></code> → {{fullurl:Category:Top level|action=edit}}
 
| The absolute path to the title. This will also resolve [[Manual:Interwiki|Interwiki]] prefixes.
 
| The absolute path to the title. This will also resolve [[Manual:Interwiki|Interwiki]] prefixes.
 
| 1.5+
 
| 1.5+
 
|-
 
|-
| <tt><nowiki>{{filepath:</nowiki>''file name''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{filepath:</nowiki>''file name''<nowiki>|nowiki}}</nowiki></tt>
+
| <code><nowiki>{{filepath:</nowiki>''file name''<nowiki>}}</nowiki></code><br /><code><nowiki>{{filepath:</nowiki>''file name''<nowiki>|nowiki}}</nowiki></code>
| <nowiki>{{filepath:Wiki.png}}</nowiki> → {{filepath:Wiki.png}}<br /><nowiki>{{filepath:Wiki.png|nowiki}}</nowiki> → {{filepath:Wiki.png|nowiki}}
+
| <code><nowiki>{{filepath:Wiki.png}}</nowiki></code> → {{filepath:Wiki.png}}<br />
| The absolute URL to a media file.
+
<code><nowiki>{{filepath:Wiki.png|nowiki}}</nowiki></code> → {{filepath:Wiki.png|nowiki}}<br />
| {{mediawiki|rev:25854|1.12+}}
+
<code><nowiki>{{filepath:Example.svg|300}}</nowiki></code> → http://upload.wikimedia.org/wikipedia/commons/thumb/8/84/Example.svg/300px-Example.svg.png<br />
 +
| The absolute URL to the full size or thumbnail ({{mediawiki|rev:80813|1.18+}}) of a media file.
 +
| {{mediawiki|rev:25854|1.12+}}<br />{{mediawiki|rev:80813|1.18+}}
 
|-
 
|-
| <tt><nowiki>{{urlencode:</nowiki>''string''<nowiki>}}</nowiki></tt>
+
| <code><nowiki>{{urlencode:</nowiki>''string''<nowiki>}}</nowiki></code> (or <code><nowiki>{{urlencode:</nowiki>''string''<nowiki>|QUERY}}</nowiki></code>)<br /><code><nowiki>{{urlencode:</nowiki>''string''<nowiki>|WIKI}}</nowiki></code><br /><code><nowiki>{{urlencode:</nowiki>''string''<nowiki>|PATH}}</nowiki></code>
| <nowiki>{{urlencode:x y z á é}}</nowiki> → {{urlencode:x y z á é}}
+
| <code><nowiki>{{urlencode:x y z á é}}</nowiki></code> (or <code><nowiki>{{urlencode:x y z á é|QUERY}})</nowiki></code> → {{urlencode:x y z á é}}<br /><code><nowiki>{{urlencode:x y z á é|WIKI}}</nowiki></code> → x_y_z_%C3%A1_%C3%A9<br /><code><nowiki>{{urlencode:x y z á é|PATH}}</nowiki></code> → x%20y%20z%20%C3%A1%20%C3%A9
| The input encoded for use in URLs.
+
Note that the default changed from <code>|WIKI</code> to <code>|QUERY</code> in 1.17; this may break templates that rely on this function.
| {{mediawiki|rev:14273|1.7+}}
+
| The input encoded for use in URLs. Note that there is no urldecode function like there is in the obsolete [[Extension:StringFunctions]].
 +
| {{mediawiki|rev:14273|1.7+}} (or {{mediawiki|rev:64726|1.17+}})<br />{{mediawiki|rev:64726|1.17+}}<br />{{mediawiki|rev:64726|1.17+}}
 
|-
 
|-
| <tt><nowiki>{{anchorencode:</nowiki>''string''<nowiki>}}</nowiki></tt>
+
| <code><nowiki>{{anchorencode:</nowiki>''string''<nowiki>}}</nowiki></code>
| <nowiki>{{anchorencode:x y z á é}}</nowiki> → {{anchorencode:x y z á é}}
+
| <code><nowiki>{{anchorencode:x y z á é}}</nowiki></code> → {{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+}}
 
| {{mediawiki|rev:16279|1.8+}}
Line 513: Line 538:
  
 
===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 equivalent encoded for MediaWiki URLs. It does the same, but it replaces spaces with underscores, making it usable in external links.
+
<code><nowiki>{{ns:}}</nowiki></code> returns the localized name for the [[Help:Namespace|namespace]] with that index. <code><nowiki>{{nse:}}</nowiki></code> is the equivalent encoded for MediaWiki URLs. It does the same, but it replaces spaces with underscores, making it usable in external links.
{| {{prettytable}}
+
{| class="wikitable"
 
|-
 
|-
 
! {{hl3}} colspan="2" width="50%" | Content namespaces
 
! {{hl3}} colspan="2" width="50%" | Content namespaces
Line 520: Line 545:
 
! {{hl3}} colspan="2" width=%50%" | Talk namespaces
 
! {{hl3}} colspan="2" width=%50%" | Talk namespaces
 
|-
 
|-
!{{Hl2}}| Usage
+
! {{Hl2}}| Usage
!{{Hl2}}| Output
+
! {{Hl2}}| Output
!{{Hl2}}| Usage
+
! {{Hl2}}| Usage
!{{Hl2}}| Output
+
! {{Hl2}}| Output
 
|-
 
|-
| <tt><nowiki>{{ns:-2}}</nowiki></tt> or <tt><nowiki>{{ns:Media}}</nowiki></tt>
+
| <code><nowiki>{{ns:-2}}</nowiki></code> or <code><nowiki>{{ns:Media}}</nowiki></code>
 
| {{ns:-2}} || ||
 
| {{ns:-2}} || ||
 
|-
 
|-
| <tt><nowiki>{{ns:-1}}</nowiki></tt> or <tt><nowiki>{{ns:Special}}</nowiki></tt>
+
| <code><nowiki>{{ns:-1}}</nowiki></code> or <code><nowiki>{{ns:Special}}</nowiki></code>
 
| {{ns:-1}} || ||
 
| {{ns:-1}} || ||
 
|-
 
|-
| <tt><nowiki>{{ns:0}}</nowiki></tt> or <tt><nowiki>{{ns:}}</nowiki></tt>
+
| <code><nowiki>{{ns:0}}</nowiki></code> or <code><nowiki>{{ns:}}</nowiki></code>
 
| {{ns:}}
 
| {{ns:}}
| <tt><nowiki>{{ns:1}}</nowiki></tt> or <tt><nowiki>{{ns:Talk}}</nowiki></tt>
+
| <code><nowiki>{{ns:1}}</nowiki></code> or <code><nowiki>{{ns:Talk}}</nowiki></code>
 
| {{ns:1}}
 
| {{ns:1}}
 
|-
 
|-
| <tt><nowiki>{{ns:2}}</nowiki></tt> or <tt><nowiki>{{ns:User}}</nowiki></tt>
+
| <code><nowiki>{{ns:2}}</nowiki></code> or <code><nowiki>{{ns:User}}</nowiki></code>
 
| {{ns:2}}
 
| {{ns:2}}
| <tt><nowiki>{{ns:3}}</nowiki></tt> or <tt><nowiki>{{ns:User talk}}</nowiki></tt>
+
| <code><nowiki>{{ns:3}}</nowiki></code> or <code><nowiki>{{ns:User talk}}</nowiki></code>
 
| {{ns:3}}
 
| {{ns:3}}
 
|-
 
|-
| <tt><nowiki>{{ns:4}}</nowiki></tt> or <tt><nowiki>{{ns:Project}}</nowiki></tt>
+
| <code><nowiki>{{ns:4}}</nowiki></code> or <code><nowiki>{{ns:Project}}</nowiki></code>
 
| {{ns:4}}
 
| {{ns:4}}
| <tt><nowiki>{{ns:5}}</nowiki></tt> or <tt><nowiki>{{ns:Project talk}}</nowiki></tt>
+
| <code><nowiki>{{ns:5}}</nowiki></code> or <code><nowiki>{{ns:Project talk}}</nowiki></code>
 
| {{ns:5}}
 
| {{ns:5}}
 
|-
 
|-
| <tt><nowiki>{{ns:6}}</nowiki></tt> or <tt><nowiki>{{ns:File}}</nowiki></tt> or <tt><nowiki>{{ns:Image}}</nowiki></tt>
+
| <code><nowiki>{{ns:6}}</nowiki></code> or <code><nowiki>{{ns:File}}</nowiki></code> or <code><nowiki>{{ns:Image}}</nowiki></code>
 
| {{ns:6}}
 
| {{ns:6}}
| <tt><nowiki>{{ns:7}}</nowiki></tt> or <tt><nowiki>{{ns:File talk}}</nowiki></tt> or <tt><nowiki>{{ns:Image talk}}</nowiki></tt>
+
| <code><nowiki>{{ns:7}}</nowiki></code> or <code><nowiki>{{ns:File talk}}</nowiki></code> or <code><nowiki>{{ns:Image talk}}</nowiki></code>
 
| {{ns:7}}
 
| {{ns:7}}
 
|-
 
|-
| <tt><nowiki>{{ns:8}}</nowiki></tt> or <tt><nowiki>{{ns:MediaWiki}}</nowiki></tt>
+
| <code><nowiki>{{ns:8}}</nowiki></code> or <code><nowiki>{{ns:MediaWiki}}</nowiki></code>
 
| {{ns:8}}
 
| {{ns:8}}
| <tt><nowiki>{{ns:9}}</nowiki></tt> or <tt><nowiki>{{ns:MediaWiki talk}}</nowiki></tt>
+
| <code><nowiki>{{ns:9}}</nowiki></code> or <code><nowiki>{{ns:MediaWiki talk}}</nowiki></code>
 
| {{ns:9}}
 
| {{ns:9}}
 
|-
 
|-
| <tt><nowiki>{{ns:10}}</nowiki></tt> or <tt><nowiki>{{ns:Template}}</nowiki></tt>
+
| <code><nowiki>{{ns:10}}</nowiki></code> or <code><nowiki>{{ns:Template}}</nowiki></code>
 
| {{ns:10}}
 
| {{ns:10}}
| <tt><nowiki>{{ns:11}}</nowiki></tt> or <tt><nowiki>{{ns:Template talk}}</nowiki></tt>
+
| <code><nowiki>{{ns:11}}</nowiki></code> or <code><nowiki>{{ns:Template talk}}</nowiki></code>
 
| {{ns:11}}
 
| {{ns:11}}
 
|-
 
|-
| <tt><nowiki>{{ns:12}}</nowiki></tt> or <tt><nowiki>{{ns:Help}}</nowiki></tt>
+
| <code><nowiki>{{ns:12}}</nowiki></code> or <code><nowiki>{{ns:Help}}</nowiki></code>
 
| {{ns:12}}
 
| {{ns:12}}
| <tt><nowiki>{{ns:13}}</nowiki></tt> or <tt><nowiki>{{ns:Help talk}}</nowiki></tt>
+
| <code><nowiki>{{ns:13}}</nowiki></code> or <code><nowiki>{{ns:Help talk}}</nowiki></code>
 
| {{ns:13}}
 
| {{ns:13}}
 
|-
 
|-
| <tt><nowiki>{{ns:14}}</nowiki></tt> or <tt><nowiki>{{ns:Category}}</nowiki></tt>
+
| <code><nowiki>{{ns:14}}</nowiki></code> or <code><nowiki>{{ns:Category}}</nowiki></code>
 
| {{ns:14}}
 
| {{ns:14}}
| <tt><nowiki>{{ns:15}}</nowiki></tt> or <tt><nowiki>{{ns:Category talk}}</nowiki></tt>
+
| <code><nowiki>{{ns:15}}</nowiki></code> or <code><nowiki>{{ns:Category talk}}</nowiki></code>
 
| {{ns:15}}
 
| {{ns:15}}
 
|}
 
|}
Line 574: Line 599:
 
===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}}
+
{| class="wikitable"
!{{Hl2}}| Usage
+
! {{Hl2}}| Usage
!{{Hl2}}| Input → Output
+
! {{Hl2}}| Input → Output
!{{Hl2}}| Description
+
! {{Hl2}}| Description
!{{Hl2}}| Version
+
! {{Hl2}}| Version
 
|-
 
|-
 
|-
 
|-
| <tt><nowiki>{{lc:</nowiki>''string''<nowiki>}}</nowiki></tt>
+
| <code><nowiki>{{lc:</nowiki>''string''<nowiki>}}</nowiki></code>
| <tt><nowiki>{{lc:DATA CENTER}}</nowiki></tt> → {{lc:DATA CENTER}}
+
| <code><nowiki>{{lc:DATA CENTER}}</nowiki></code> → {{lc:DATA CENTER}}
 
| The lowercase input.
 
| The lowercase input.
 
| 1.5+
 
| 1.5+
 
|-
 
|-
| <tt><nowiki>{{lcfirst:</nowiki>''string''<nowiki>}}</nowiki></tt>
+
| <code><nowiki>{{lcfirst:</nowiki>''string''<nowiki>}}</nowiki></code>
| <tt><nowiki>{{lcfirst:DATA CENTER}}</nowiki></tt> → {{lcfirst:DATA CENTER}}
+
| <code><nowiki>{{lcfirst:DATA center}}</nowiki></code> → {{lcfirst:DATA center}}
 
| The input with the <u>very first</u> character lowercase.
 
| The input with the <u>very first</u> character lowercase.
 
| 1.5+
 
| 1.5+
 
|-
 
|-
| <tt><nowiki>{{uc:</nowiki>''string''<nowiki>}}</nowiki></tt>
+
| <code><nowiki>{{uc:</nowiki>''string''<nowiki>}}</nowiki></code>
| <tt><nowiki>{{uc:text transform}}</nowiki></tt> → {{uc:text transform}}
+
| <code><nowiki>{{uc:text transform}}</nowiki></code> → {{uc:text transform}}
 
| The uppercase input.
 
| The uppercase input.
 
| 1.5+
 
| 1.5+
 
|-
 
|-
| <tt><nowiki>{{ucfirst:</nowiki>''string''<nowiki>}}</nowiki></tt>
+
| <code><nowiki>{{ucfirst:</nowiki>''string''<nowiki>}}</nowiki></code>
| <tt><nowiki>{{ucfirst:text transform}}</nowiki></tt> → {{ucfirst:text transform}}
+
| <code><nowiki>{{ucfirst:text TRANSFORM}}</nowiki></code> → {{ucfirst:text TRANSFORM}}
 
| The input with the <u>very first</u> character uppercase.
 
| The input with the <u>very first</u> character uppercase.
 
| 1.5+
 
| 1.5+
 
|-
 
|-
| <tt><nowiki>{{formatnum:</nowiki>''unformatted&nbsp;num''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{formatnum:</nowiki>''formatted&nbsp;num''<nowiki>|R}}</nowiki></tt>
+
| <code><nowiki>{{formatnum:</nowiki>''unformatted&nbsp;num''<nowiki>}}</nowiki></code><br /><code><nowiki>{{formatnum:</nowiki>''formatted&nbsp;num''<nowiki>|R}}</nowiki></code>
| <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}}
+
| <code><nowiki>{{formatnum:987654321.654321}}</nowiki></code><br/> → {{formatnum:987654321.654321}}<br /> <code><nowiki>{{formatnum:987,654,321.654321|R}}</nowiki></code><br/> → {{formatnum:987,654,321.654321|R}}<br /> <code><nowiki>{{formatnum:00001}}</nowiki></code><br/> → {{formatnum:00001}}
| 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 <code><nowiki>|</nowiki>R</code> parameter can be used to unformat a number, for use in mathematical situations.<br/><small>{{warning}}Leading zeroes are not removed, you can use <nowiki>{{#expr:00001}}</nowiki> instead if you have [[Extension:ParserFunctions]] installed</small>
 
| 1.7+<br />{{mediawiki|rev:32012|1.13+}}
 
| 1.7+<br />{{mediawiki|rev:32012|1.13+}}
 
|-
 
|-
Line 612: Line 637:
 
{{#formatdate:</nowiki>''date''{{!}}''format''<nowiki>}}</nowiki></code>
 
{{#formatdate:</nowiki>''date''{{!}}''format''<nowiki>}}</nowiki></code>
 
|  
 
|  
<tt><nowiki>{{#dateformat:25 deC 2009|ymd}}</nowiki></tt><br/>
+
<code><nowiki>{{#dateformat:25 deC 2009|ymd}}</nowiki></code><br/>
 
→ {{#dateformat:25 deC 2009|ymd}} (your pref),  2009 DeC 25 (default)<br/>
 
→ {{#dateformat:25 deC 2009|ymd}} (your pref),  2009 DeC 25 (default)<br/>
<tt><nowiki>{{#formatdate:dec 25,2009|dmy}}</nowiki></tt><br/>
+
<code><nowiki>{{#formatdate:dec 25,2009|dmy}}</nowiki></code><br/>
 
→ {{#formatdate:dec 25,2009|dmy}} (your pref), 25 Dec 2009 (default)<br/>
 
→ {{#formatdate:dec 25,2009|dmy}} (your pref), 25 Dec 2009 (default)<br/>
<tt><nowiki>{{#dateformat:2009-12-25|mdy}}</nowiki></tt><br/>
+
<code><nowiki>{{#dateformat:2009-12-25|mdy}}</nowiki></code><br/>
 
→ {{#dateformat:2009-12-25|mdy}} (your pref), December 25, 2009 (default)<br/>
 
→ {{#dateformat:2009-12-25|mdy}} (your pref), December 25, 2009 (default)<br/>
<tt><nowiki>{{#formatdate:2009 dec 25|ISO 8601}}</nowiki></tt><br/>
+
<code><nowiki>{{#formatdate:2009 dec 25|ISO 8601}}</nowiki></code><br/>
 
→ {{#formatdate:2009 dec 25|ISO 8601}} (your pref), 2009-12-25 (default)<br/>
 
→ {{#formatdate:2009 dec 25|ISO 8601}} (your pref), 2009-12-25 (default)<br/>
<tt><nowiki>{{#dateformat:25 decEmber|mdy}}</nowiki></tt><br/>
+
<code><nowiki>{{#dateformat:25 decEmber|mdy}}</nowiki></code><br/>
 
→ {{#dateformat:25 decEmber|mdy}} (your pref), DecEmber 25 (default)<br/>
 
→ {{#dateformat:25 decEmber|mdy}} (your pref), DecEmber 25 (default)<br/>
  
  
 
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: <code>mdy</code>, <code>dmy</code>, <code>ymd</code>, <code>ISO&nbsp;8601</code> (all case sensitive). If only the month and day are given, only <code>mdy</code> and <code>dmy</code> 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>
 
| {{mediawiki|rev:48249|1.15+}}
 
| {{mediawiki|rev:48249|1.15+}}
 
|-
 
|-
| <tt><nowiki>{{padleft:xyz|</nowiki>''stringlength''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{padleft:xyz|</nowiki>''strlen''<nowiki>|</nowiki>''char''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{padleft:xyz|</nowiki>''strlen''<nowiki>|</nowiki>''string''<nowiki>}}</nowiki></tt>
+
| <code><nowiki>{{padleft:xyz|</nowiki>''stringlength''<nowiki>}}</nowiki></code><br /><code><nowiki>{{padleft:xyz|</nowiki>''strlen''<nowiki>|</nowiki>''char''<nowiki>}}</nowiki></code><br /><code><nowiki>{{padleft:xyz|</nowiki>''strlen''<nowiki>|</nowiki>''string''<nowiki>}}</nowiki></code>
| <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}}
+
| <code><nowiki>{{padleft:xyz|5}}</nowiki></code> → {{padleft:xyz|5}}<br /> <code><nowiki>{{padleft:xyz|5|_}}</nowiki></code> → {{padleft:xyz|5|_}} <code><nowiki>{{padleft:xyz|5|abc}}</nowiki></code> → {{padleft:xyz|5|abc}} <code><nowiki>{{padleft:xyz|2}}</nowiki></code> → {{padleft:xyz|2}}<br /> <code><nowiki>{{padleft:|1|xyz}}</nowiki></code> → {{padleft:|1|xyz}} (first character of the string)<br />
| 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}}. The padding string may be truncated if its length does not evenly divide the required number of characters.<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. <code><nowiki>{{padleft:44|3|0}}</nowiki></code> produces {{padleft:44|3}}. The padding string may be truncated if its length does not evenly divide the required number of characters.<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.
 
| 1.8+
 
| 1.8+
 
|-
 
|-
| <tt><nowiki>{{padright:xyz|</nowiki>''stringlength''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{padright:xyz|</nowiki>''strlen''<nowiki>|</nowiki>''char''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{padright:xyz|</nowiki>''strlen''<nowiki>|</nowiki>''string''<nowiki>}}</nowiki></tt>
+
| <code><nowiki>{{padright:xyz|</nowiki>''stringlength''<nowiki>}}</nowiki></code><br /><code><nowiki>{{padright:xyz|</nowiki>''strlen''<nowiki>|</nowiki>''char''<nowiki>}}</nowiki></code><br /><code><nowiki>{{padright:xyz|</nowiki>''strlen''<nowiki>|</nowiki>''string''<nowiki>}}</nowiki></code>
| <tt><nowiki>{{padright:xyz|5}}</nowiki></tt> → {{padright:xyz|5}}<br /> <tt><nowiki>{{padright:xyz|5|_}}</nowiki></tt> → {{padright:xyz|5|_}} <tt><nowiki>{{padright:xyz|5|abc}}</nowiki></tt> → {{padright:xyz|5|abc}}
+
| <code><nowiki>{{padright:xyz|5}}</nowiki></code> → {{padright:xyz|5}}<br />
 +
<code><nowiki>{{padright:xyz|5|_}}</nowiki></code> → {{padright:xyz|5|_}}
 +
<code><nowiki>{{padright:xyz|5|abc}}</nowiki></code> → {{padright:xyz|5|abc}}
 +
<code><nowiki>{{padright:xyz|2}}</nowiki></code> → {{padright:xyz|2}}<br />
 +
<code><nowiki>{{padright:|1|xyz}}</nowiki></code> → {{padright:|1|xyz}}<br />
 
| Identical to padleft, but adds padding characters to the right side.
 
| Identical to padleft, but adds padding characters to the right side.
 
|
 
|
 
|-
 
|-
| <tt><nowiki>{{plural:2|</nowiki>''is''<nowiki>|</nowiki>''are''<nowiki>}}</nowiki></tt>
+
| <code><nowiki>{{plural:2|</nowiki>''is''<nowiki>|</nowiki>''are''<nowiki>}}</nowiki></code>
| <tt><nowiki>{{plural:1|is|are}}</nowiki></tt> → {{plural:1|is|are}}<br /> <tt><nowiki>{{plural:2|is|are}}</nowiki></tt> → {{plural:2|is|are}}
+
| <code><nowiki>{{plural:0|is|are}}</nowiki></code> → {{plural:0|is|are}}<br />  <code><nowiki>{{plural:1*1|is|are}}</nowiki></code> → {{plural:1*1|is|are}}<br /> <code><nowiki>{{plural:21 mod 10|is|are}}</nowiki></code> → {{plural:21 mod 10|is|are}}<br /> <code><nowiki>{{plural:{{#expr:21 mod 10}}|is|are}}</nowiki></code> → {{plural:{{#expr:21 mod 10}}|is|are}}<br />  <code><nowiki>{{plural:1|is|are}}</nowiki></code> → {{plural:1|is|are}}<br /> <code><nowiki>{{plural:2|is|are}}</nowiki></code> → {{plural:2|is|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".
+
| 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".
 
|
 
|
 
|-
 
|-
| <tt><nowiki>{{grammar:N|</nowiki>''noun''<nowiki>}}</nowiki></tt>
+
| <code><nowiki>{{grammar:N|</nowiki>''noun''<nowiki>}}</nowiki></code>
 
|  
 
|  
 
| 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.  See also {{mediawiki|Manual:$wgGrammarForms}}.
Line 650: Line 679:
  
 
===Miscellaneous===
 
===Miscellaneous===
{| {{prettytable|class="plainlinks"}}
+
{| class="wikitable plainlinks"
!{{Hl2}}| Usage
+
! {{Hl2}}| Usage
!{{Hl2}}| Output
+
! {{Hl2}}| Output
!{{Hl2}}| Description
+
! {{Hl2}}| Description
!{{Hl2}}| Version
+
! {{Hl2}}| Version
 
|-
 
|-
| <tt><nowiki>{{int:</nowiki>''message name''<nowiki>}}</nowiki>
+
| <code><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>
+
| <code><nowiki>{{int:</nowiki>edit<nowiki>}}</nowiki></code> &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]].''
 
| 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>
+
| <code><nowiki>{{#language:</nowiki>''language code''<nowiki>}}</nowiki></code><br /><code><nowiki>{{#language:ar}}</nowiki></code><br /><code><nowiki>{{#language:th}}</nowiki></code>
 
| {{#language:language code}}<br />{{#language:ar}}<br />{{#language:th}}
 
| {{#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]].
 
| The native name for the given language code, in accordance with [[w:ISO 639|ISO 639]].
 
| {{mediawiki|rev:14490|1.7+}}
 
| {{mediawiki|rev:14490|1.7+}}
 
|-
 
|-
| <tt><nowiki>{{#special:</nowiki>''special page name''<nowiki>}}</nowiki><br /><nowiki>{{#special:userlogin}}</nowiki></tt>
+
| <code><nowiki>{{#special:</nowiki>''special page name''<nowiki>}}</nowiki><br /><nowiki>{{#special:userlogin}}</nowiki></code>
 
| {{#special:special page name}}<br />{{#special:userlogin}}
 
| {{#special:special page name}}<br />{{#special:userlogin}}
 
| The localized name for the given canonical Special: page.
 
| The localized name for the given canonical Special: page.
 
| {{mediawiki|rev:17321|1.9+}}
 
| {{mediawiki|rev:17321|1.9+}}
 
|-
 
|-
| <tt><nowiki>{{#tag:</nowiki>''tagname''<br><nowiki>|</nowiki>''content''<br><nowiki>|</nowiki>''parameter1=value1''<br /><nowiki>|</nowiki>''parameter2=value2''<br /><nowiki>}}</nowiki></tt>
+
| <code><nowiki>{{#tag:</nowiki>''tagname''<br><nowiki>|</nowiki>''content''<br><nowiki>|</nowiki>''parameter1=value1''<br /><nowiki>|</nowiki>''parameter2=value2''<br /><nowiki>}}</nowiki></code>
 
| ''(depends on parser tag)''
 
| ''(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:
 
| 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:
Line 680: Line 709:
 
| {{mediawiki|rev:29482|1.12+}}
 
| {{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>
+
| <code><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></code>
 
| ''(depends on the named user's gender)''
 
| ''(depends on the named user's gender)''
| A switch for the gender set in [[Special:Preferences]]
+
| A switch for the gender set in [[Special:Preferences]]<br/>
 +
Note:  If 3rd parameter is omitted and user hasn't defined his/her gender, then <code>''text if user is male''</code> is returned.
 
| {{mediawiki|rev:46247|1.15+}}
 
| {{mediawiki|rev:46247|1.15+}}
 
|}
 
|}

Latest revision as of 16:37, 15 March 2011

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:

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 (see Adding a section to the end). 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+
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. 1.1 - 1.8
__INDEX__ Tell search engines to index the page (overrides $wgArticleRobotPolicies, but not robots.txt). 1.14+
__NOINDEX__ Tell search engines not to index the page (ie, do not list in search engines' results). 1.14+
__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

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

Variable Output Description Versions
Year
{{CURRENTYEAR}} 2024 Year
Month
{{CURRENTMONTH}} 05 Month (zero-padded number)
{{CURRENTMONTHNAME}} May Month (name)
{{CURRENTMONTHNAMEGEN}} May Month (genitive form)
{{CURRENTMONTHABBREV}} May Month (abbreviation) 1.5+
Day
{{CURRENTDAY}} 3 Day of the month (unpadded number)
{{CURRENTDAY2}} 03 Day of the month (zero-padded number) 1.6+
{{CURRENTDOW}} 5 Day of the week (unpadded number)
{{CURRENTDAYNAME}} Friday Day of the week (name)
Time
{{CURRENTTIME}} 18:55 Time (24-hour HH:mm format)
{{CURRENTHOUR}} 18 Hour (24-hour zero-padded number)
Other
{{CURRENTWEEK}} 18 Week (number)
{{CURRENTTIMESTAMP}} 20240503185505 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}} AuroraWiki The wiki's site name ($wgSitename).
{{SERVER}} http://aurorawiki.pentarch.org domain URL ($wgServer)
{{SERVERNAME}} aurorawiki.pentarch.org domain name (No longer dependent on $wgServerName as of version 1.17)
{{DIRMARK}}
{{DIRECTIONMARK}}

Outputs a unicode-directional mark that matches the wiki's default language's direction (&lrm; on left-to-right wikis, &rlm; on right-to-left wikis), useful in text with multi-directional text. 1.7+
{{SCRIPTPATH}} relative script path ($wgScriptPath)
{{STYLEPATH}} /skins relative style path ($wgStylePath) 1.16+
{{CURRENTVERSION}} 1.35.0 The wiki's MediaWiki version. 1.7+
{{CONTENTLANGUAGE}}
{{CONTENTLANG}}
en
en
The wiki's default interface language ($wgLanguageCode) 1.7+
Latest revision to current page
{{REVISIONID}} - Unique revision ID 1.5+
{{REVISIONDAY}} 15 Day edit was made (unpadded number) 1.8+
{{REVISIONDAY2}} 15 Day edit was made (zero-padded number) 1.8+
{{REVISIONMONTH}} 03 Month edit was made (zero-padded number as of 1.17+, unpadded number in prior versions) 1.8+
{{REVISIONYEAR}} 2011 Year edit was made 1.8+
{{REVISIONTIMESTAMP}} 20110315163729 Timestamp as of time of edit 1.8+
{{REVISIONUSER}} Erik luken The username of the user who made the most recent edit to the page, or the current user when previewing an edit 1.15+
{{PAGESIZE:page name}}
{{PAGESIZE:page name|R}}
41,662
41662
[expensive] Returns the byte size of the specified page. Use "|R" to get raw numbers. 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}}
{{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}} → 1,784 and {{NUMBEROFPAGES:R}} → 1784). 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.

Variable Output Description Versions
Entire wiki
{{NUMBEROFPAGES}} 1,784 Number of wiki pages. 1.7+
{{NUMBEROFARTICLES}} 290 Number of pages in content namespaces.
{{NUMBEROFFILES}} 301 Number of uploaded files. 1.5+
{{NUMBEROFEDITS}} 7,127 Number of page edits. 1.10+
{{NUMBEROFVIEWS}} Template:NUMBEROFVIEWS Number of page views. Usually useless on a wiki using caching. 1.14+
{{NUMBEROFUSERS}} 856 Number of registered users. 1.7+
{{NUMBEROFADMINS}} 4 Number of users in the sysop group. 1.7+
{{NUMBEROFACTIVEUSERS}} 3 Number of active users, based on the criteria used in Special:Statistics. 1.15+
{{PAGESINCATEGORY:categoryname}}
{{PAGESINCAT:Help}}
48
48
[expensive] Number of pages in the given category. 1.13+
{{NUMBERINGROUP:groupname}}
{{NUMINGROUP:groupname}}
5
5
({{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 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. Disabled by default, enable with $wgAllowSlowParserFunctions. 1.7+

Page names

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/foo" on "Title/foo/bar").

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

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 {{BASEPAGENAME}} and {{SUBPAGENAME}} magic words only work in namespaces that have subpages enabled. See Manual:$wgNamespacesWithSubpages for information on enabling subpages.

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

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

PAGENAME encoding

The PAGENAME variable encoding states are not simple. For simplicity in this section, ignore wide characters. The following characters are not allow in wiki page names and will not be further mentioned:

# < > [ ] _ { | }

That is the three types of brackets, pound sign, underscore and vertical bar. Note that a page can have a leading space but not a trailing space and that spaces. We will present other ASCII 7-bit values for characters as the URL-style encoding of percent-hex-hex for clarity and utility since this is the same notation one would manually encode them in a URL. For this discussion, we will refer only to ASCII 7-bit values, not accented characters and such. There are also some bizzare combinations that . There are also other snags that are complex. For instance, you can create the a wiki page named

http://en.wikipedia.org/wiki/!"$'abc

but you cannot a page named

http://en.wikipedia.org/wiki/User:MyUser/!"$'abc

for reasons too complex to explain here, but it has something to do with quotes and stuff.

PAGENAME:

Some characters returned by PAGENAME are HTML-style encoded:

  • " (double quote %22) is converted to &quot;
  • ' (single quote %27) is converted to &#39; (39 is the decimal value of hexadecimal 27 )
  • & (ambersand %3B) is converted to &amp;

We will refer to these as "the three pagename characters".

PAGENAMEE:

PAGENAMEE converts spaces to underscore and URL-style encodes some other characters:

  • It converts " % & ' + = ? \ ^ ` ~ to %22 %25 %26 %27 %2B %3D %3F %5C %5E %60 %7E
  • It does not convert alphanumerics and the characters: ! $ ( ) * , - . / : ; @

This avoids the problematic coding of the three pagename characters but the typical encoding of space is the plus sign (or sometimes as %20). The default MediaWiki configuration has limited string manipulation features so this will often not be a sufficient solution. A solution to this might be to create a library of string manipulation templates. Note that Extension:StringFunctions is obsolete, but it still might suffice.

Web server HTTP interface and web browser URL:

The URL you cut/paste in your web browser URL is similar but not exactly the same as PAGENAMEE .

  • In order to type in a page name as a URL in your web browser, the following two characters must be URL-style encoded: % ? as %25 %3F . See RFC1738 for details.
  • For the URL you see in your browser, the situation is more complex. As a URL in a web browser's address box, some characters in pagenames are converted sometimes and othertimes not converted. If you type in a URL into your web browser ending in A_=_B or A=B then it will send that URL directly and you will get to the wiki page if it exists. But many wiki pages have spaces in them and then something different happens. If you enter a URL into your web browser ending in A = B (with spaces around the equals sign), then your web browser encodes spaces to %20, and thus sends A%20=%20B to the web server. The wiki web server, then converts the string to A_%3D_B and sends that back to the web browser via w:URL redirection. The wiki web server converted the equals sign because it was next to a blank. Characters that the wiki web servers converts in this way is the same as the PAGENAMEE list, but again, only when they are adjacent to a space. On top of this, your web browser will hide some conversions in a possibly brower-dependent manner because it does, in effect, a urldecode action on the real URL. This decoding is essential for usability for users of non-English languages such as Asian languages can type in wide characters into a brower's URL address. For instance, a URL ending in %E6%9D%B1%E4%BA%AC, you browser will usually urlconvert it and display it as 東京, which are the two Kanji characters for Tokyo. An easy way to reliably see the real URL is to cut-and-paste it as text into a simple text editor and see what it looks like and how much encoding happened.
urlencode:

The urlencode converts almost all characters except alphanumerics and three of the RFC1738 URL "safe" characters: - . (dash, period) and it converts blank to plus. While the technique of embedding {{uuencode:{{{userparam|{{PAGENAME}}})))) into off-wiki URLs as a CGI-style parameter can be useful in templates (i.e. treating simple pagenames as data). We will call this technique urlencode-pagename. With the three PAGENAME characters above (i.e. " ' &), this can result in a double encoding (first into HTML and then into urlencode). An example would be where the HTML-style ampersand of &esc;amp; is converted into to the URL-style %26amp%3B . Sometimes remote web sites can handle this, but many cannot. For these page names, the invocation of a template that uses urlencode-pagename will have to spell out that page name again as the parameter userparam with the simple version of the three PAGENAME characters. As with PAGENAMEE, another possible workaround is string manipulation templates or adding appropriate extensions.

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 equivalents encoded for use in MediaWiki URLs (spaces replaced with underscores and some characters percent-encoded):

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

As of 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:

  • {{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}} → /index.php?title=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://aurorawiki.pentarch.org/index.php?title=Category:Top_level

{{fullurl:Category:Top level|action=edit}}http://aurorawiki.pentarch.org/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}}
{{filepath:Example.svg|300}}http://upload.wikimedia.org/wikipedia/commons/thumb/8/84/Example.svg/300px-Example.svg.png

The absolute URL to the full size or thumbnail (1.18+) of a media file. 1.12+
1.18+
{{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 |WIKI to |QUERY in 1.17; this may break templates that rely on this function.

The input encoded for use in URLs. Note that there is no urldecode function like there is in the obsolete Extension:StringFunctions. 1.7+ (or 1.17+)
1.17+
1.17+
{{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). 1.8+

Namespaces

{{ns:}} returns the localized name for the namespace with that index. {{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}} AuroraWiki {{ns:5}} or {{ns:Project talk}} AuroraWiki 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
{{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.
Leading zeroes are not removed, you can use {{#expr:00001}} instead if you have Extension:ParserFunctions installed
1.7+
1.13+

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

{{#dateformat:25 deC 2009|ymd}}
2009 December 25 (your pref), 2009 DeC 25 (default)
{{#formatdate:dec 25,2009|dmy}}
25 December 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 {{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.
bug (fixed in r45734): multibyte characters are interpreted as two characters, which can skew width. These also cannot be used as padding characters.
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 {{padright:xyz|2}} → xyz
{{padright:|1|xyz}} → x

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
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".
{{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 Manual:$wgGrammarForms. 1.7+

Miscellaneous

Language: English