Help:Magic words

From FORwiki

(Difference between revisions)
Jump to: navigation, search
m (1 revision)
(Behavior switches)
 
(8 intermediate revisions not shown)
Line 1: Line 1:
-
'''Magic words''' are strings of text that MediaWiki associates with a return value or function, such as time, site details, or page names. This page is about usage of standard magic words; for a technical reference, see {{mediawiki|Manual:Magic words}}.
+
'''Magic words''' (which include '''parser functions''', '''variables''' and '''behavior switches''')  are features of wikitext that enable various instructions to be given to the Foresight Wiki software (for example, to suppress or position the table of contents), or else serve to produce variable output, as is often required in templates.
-
There are three general types of magic words:
+
A quick reference for magic words can be found on this page. For more complete and updated documentation, refer to following pages on the Foresight Wiki site:
-
*'''[[#Behavior switches|Behavior switches]]''': these are uppercase words surrounded by double underscores, ''e.g.'' '''__FOO__'''
+
*'''Help:Magic words''' for all standard magic words, including the "standard" parser functions
-
*'''[[#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]].
+
*'''Help:Extension:ParserFunctions''' for some additional parser functions, including conditional expressions
-
*'''[[#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 [[Help:Extension:ParserFunctions]].
+
-
Page-dependent magic words will affect or return data about the ''current'' page, even if the word is added through a transcluded template or included system message.
+
==General information==
 +
There are three types of magic words:
 +
*'''Behavior switches:''' uppercase words surrounded by double underscores, e.g. <tt><nowiki>__NOTOC__</nowiki></tt>, or keywords using parser function syntax
 +
*'''Variables:''' uppercase words surrounded by double braces, e.g. <tt><nowiki>{{PAGENAME}}</nowiki></tt> (thus resembling [[Help:Templates|templates]])
 +
*'''Parser functions:''' keywords (some beginning #) in double braces with parameters after a colon, e.g. <tt><nowiki>{{#expr:2+2}}</nowiki></tt>
-
==Behavior switches==
+
Some magic words are case-insensitive, but not all. Whitespace is stripped from the start and end of keywords and parameters, as in template syntax.
-
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}}
+
Page-dependent magic words will affect or return data about the ''current'' page, even if the word is added through a transcluded template or included system message.
-
|-
+
-
!{{Hl2}}| Word
+
-
!{{Hl2}}| Description
+
-
!{{Hl2}}| Versions
+
-
|-
+
-
|{{Hl3}} colspan="3"| '''Table of contents'''
+
-
|-
+
-
| <nowiki>__NOTOC__</nowiki>
+
-
| Hides the table of contents (TOC).
+
-
|
+
-
|-
+
-
|<nowiki>__FORCETOC__</nowiki>
+
-
| Forces the table of content to appear at its normal position (above the first header).
+
-
|
+
-
|-
+
-
| <nowiki>__TOC__</nowiki>
+
-
| 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.
+
-
|
+
-
|-
+
-
|{{Hl3}} colspan="3"| '''Editing'''
+
-
|-
+
-
| <nowiki>__NOEDITSECTION__</nowiki>
+
-
| Hides the section edit links beside headings.
+
-
|
+
-
|-
+
-
| <nowiki>__NEWSECTIONLINK__</nowiki>
+
-
| Adds a link ([[MediaWiki:Addsection|"+" by default]]) beside the "edit" tab for adding a new section on a non-talk page (see {{mediawiki|m:Help:Section#Adding a section at the end|Adding a section to the end}}).
+
-
| 1.7+
+
-
|-
+
-
| <nowiki>__NONEWSECTIONLINK__</nowiki>
+
-
| Removes the link beside the "edit" tab on pages in talk namespaces.
+
-
| {{mediawiki|rev:47522|1.15+}}
+
-
|-
+
-
|{{Hl3}} colspan="3"| '''Categories'''
+
-
|-
+
-
| <nowiki>__NOGALLERY__</nowiki>
+
-
| Used on a category page, replaces thumbnails in the category view with normal links.
+
-
| 1.7+
+
-
|-
+
-
| <nowiki>__HIDDENCAT__</nowiki>
+
-
| 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).
+
-
| 1.13+
+
-
|-
+
-
|{{Hl3}} colspan="3"| '''Language conversion'''
+
-
|-
+
-
| <nowiki>__NOCONTENTCONVERT__</nowiki><br /><nowiki>__NOCC__</nowiki>
+
-
| On wikis with language variants, don't perform any content language conversion (character and phase) in article display; for example, only show Chinese (zh) instead of variants like zh_cn, zh_tw, zh_sg, or zh_hk.
+
-
|
+
-
|-
+
-
| <nowiki>__NOTITLECONVERT__</nowiki><br /><nowiki>__NOTC__</nowiki>
+
-
| On wikis with language variants, don't perform language conversion on the title (all other content is converted).
+
-
|
+
-
|-
+
-
|{{Hl3}} colspan="3"| '''Other'''
+
-
|-
+
-
| <nowiki>__START__</nowiki>
+
-
| No effect.
+
-
|
+
-
|-
+
-
| <nowiki>__END__</nowiki>
+
-
| Explicitly marks the end of the article, to prevent MediaWiki from removing trailing whitespace. Removed in {{mediawiki|rev:19213|19213}}.
+
-
|
+
-
|-
+
-
|  <nowiki>__INDEX__</nowiki>
+
-
| Tell search engines to index the page (overrides {{mediawiki|Manual:$wgArticleRobotPolicies|$wgArticleRobotPolicies}}, but not robots.txt).
+
-
| 1.14+
+
-
|-
+
-
|  <nowiki>__NOINDEX__</nowiki>
+
-
| Tell search engines not to index the page (ie, do not list in search engines' results).
+
-
| {{mediawiki|rev:37973|1.14+}}
+
-
|-
+
-
|  <nowiki>__STATICREDIRECT__</nowiki>
+
-
| On redirect pages, don't allow MediaWiki to automatically update the link when someone moves a page and checks "Update any redirects that point to the original title".
+
-
| {{mediawiki|rev:37928|1.13+}}
+
-
|}
+
-
==Variables==
+
It is possible to [[Help:Substitution|substitute]] parser functions and variables in the same way that templates are substituted (using the <tt>subst:</tt> keyword). This causes their current value (as evaluated at the time of substitution) to be written into the wikitext.
-
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]].
+
==Behavior switches==
 +
''For documentation, refer to the [[Help:Magic words#Behavior switches|Behavior Switches]] section of the Foresight Wiki page.''
 +
*<tt><nowiki>__NOTOC__</nowiki></tt> (can appear anywhere in the wikitext; suppresses the table of contents)
 +
*<tt><nowiki>__FORCETOC__</nowiki></tt> (can appear anywhere in the wikitext; makes a table of contents appear in its normal position above the first header)
 +
*<tt><nowiki>__TOC__</nowiki></tt> (places a table of contents at the word's position)
-
{{admin tip|You can configure the number of expensive parser functions allowed on a page using the {{mediawiki|Manual:$wgExpensiveParserFunctionLimit|$wgExpensiveParserFunctionLimit}} configuration setting.}}
+
*<tt><nowiki>__NOEDITSECTION__</nowiki></tt> (hides the section edit links beside headings)
 +
*<tt><nowiki>__NEWSECTIONLINK__</nowiki></tt> (adds a "+" link for adding a new section on a non-"Talk" page)
 +
*<tt><nowiki>__NONEWSECTIONLINK__</nowiki></tt> (removes the "+" link on "Talk" pages)
-
===Date & time===
+
*<tt><nowiki>__NOGALLERY__</nowiki></tt> (on a category page, replaces thumbnails with normal links)
-
The following variables return the current date and time according to the user's timezone [[Special:Preferences|preferences]], defaulting to the UTC timezone.
+
*<tt><nowiki>__HIDDENCAT__</nowiki></tt> (on a category page, makes it a hidden category)
 +
*<tt><nowiki>__INDEX__</nowiki></tt> (tells search engines to index the page)
 +
*<tt><nowiki>__NOINDEX__</nowiki></tt> (tells search engines not to index the page)
-
Due to MediaWiki and browser caching, these variables frequently show when the page was ''cached'' rather than the current time.
+
*<tt><nowiki>{{DISPLAYTITLE:</nowiki>''title''<nowiki>}}</nowiki></tt> (changes the displayed form of the page title)
 +
*<tt><nowiki>{{DEFAULTSORT:</nowiki>''sortkey''<nowiki>}}</nowiki></tt> (sets a default category sort key)
-
{| {{prettytable}}
+
==Variables==
-
|-
+
''For documentation, refer to the [[Help:Magic words#Variables|Variables]] section of the MediaWiki page.''
-
!{{Hl2}}| Variable
+
*<tt><nowiki>{{FULLPAGENAME}}</nowiki></tt> (page title including namespace)
-
!{{Hl2}}| Output
+
*<tt><nowiki>{{PAGENAME}}</nowiki></tt> (page title excluding namespace)
-
!{{Hl2}}| Description
+
*<tt><nowiki>{{BASEPAGENAME}}</nowiki></tt> (page title excluding subpage and namespace)
-
!{{Hl2}}| Versions
+
*<tt><nowiki>{{SUBPAGENAME}}</nowiki></tt> (subpage part of title)
-
|-
+
*<tt><nowiki>{{SUBJECTPAGENAME}}</nowiki></tt> (associated non-talk page)
-
|{{Hl3}} colspan="4"| '''Year'''
+
*<tt><nowiki>{{TALKPAGENAME}}</nowiki></tt> (associated talk page)
-
|-
+
*<tt><nowiki>{{NAMESPACE}}</nowiki></tt> (namespace of current page)
-
| <tt><nowiki>{{CURRENTYEAR}}</nowiki></tt>
+
*<tt><nowiki>{{SUBJECTSPACE}}, {{ARTICLESPACE}}</nowiki></tt> (associated non-talk namespace)
-
| {{CURRENTYEAR}}
+
*<tt><nowiki>{{TALKSPACE}}</nowiki></tt> (associated talk namespace)
-
| Year
+
* <tt><nowiki>{{FULLPAGENAMEE}}, {{NAMESPACEE}}</nowiki></tt> etc. (URL-encoded equivalents)
-
|
+
-
|-
+
-
|{{Hl3}} colspan="4"| '''Month'''
+
-
|-
+
-
| <tt><nowiki>{{CURRENTMONTH}}</nowiki></tt>  
+
-
| {{CURRENTMONTH}}
+
-
| Month (zero-padded number)
+
-
|
+
-
|-
+
-
| <tt><nowiki>{{CURRENTMONTHNAME}}</nowiki></tt>
+
-
| {{CURRENTMONTHNAME}}
+
-
| Month (name)
+
-
|
+
-
|-
+
-
| <tt><nowiki>{{CURRENTMONTHNAMEGEN}}</nowiki></tt>
+
-
| {{CURRENTMONTHNAMEGEN}}
+
-
| Month ([[w:genitive|genitive form]])
+
-
|
+
-
|-
+
-
| <tt><nowiki>{{CURRENTMONTHABBREV}}</nowiki></tt>
+
-
| {{CURRENTMONTHABBREV}}
+
-
| Month (abbreviation)
+
-
| 1.5+
+
-
|-
+
-
|{{Hl3}} colspan="4"| '''Day'''
+
-
|-
+
-
| <tt><nowiki>{{CURRENTDAY}}</nowiki></tt>
+
-
| {{CURRENTDAY}}
+
-
| Day of the month (unpadded number)
+
-
|
+
-
|-
+
-
| <tt><nowiki>{{CURRENTDAY2}}</nowiki></tt>
+
-
| {{CURRENTDAY2}}
+
-
| Day of the month (zero-padded number)
+
-
| 1.6+
+
-
|-
+
-
| <tt><nowiki>{{CURRENTDOW}}</nowiki></tt>
+
-
| {{CURRENTDOW}}
+
-
| Day of the week (unpadded number)
+
-
|
+
-
|-
+
-
| <tt><nowiki>{{CURRENTDAYNAME}}</nowiki></tt>
+
-
| {{CURRENTDAYNAME}}
+
-
| Day of the week (name)
+
-
|
+
-
|-
+
-
|{{Hl3}} colspan="4"| '''Time'''
+
-
|-
+
-
| <tt><nowiki>{{CURRENTTIME}}</nowiki></tt>
+
-
| {{CURRENTTIME}}
+
-
| Time (24-hour HH:mm format)
+
-
|
+
-
|-
+
-
| <tt><nowiki>{{CURRENTHOUR}}</nowiki></tt>
+
-
| {{CURRENTHOUR}}
+
-
| Hour (24-hour zero-padded number)
+
-
|
+
-
|-
+
-
|{{Hl3}} colspan="4"| '''Other'''
+
-
|-
+
-
| <tt><nowiki>{{CURRENTWEEK}}</nowiki></tt>
+
-
| {{CURRENTWEEK}}
+
-
| Week (number)
+
-
|
+
-
|-
+
-
| <tt><nowiki>{{CURRENTTIMESTAMP}}</nowiki></tt>
+
-
| {{CURRENTTIMESTAMP}}
+
-
| YYYYMMDDHHmmss timestamp
+
-
| 1.7+
+
-
|}
+
-
The following variables do the same as the above, but using the site's local timezone instead of user preferences and UTC:
+
The above can all take a parameter, to operate on a page other than the current page.
-
* <tt><nowiki>{{LOCALYEAR}}</nowiki></tt>
+
-
* <tt><nowiki>{{LOCALMONTH}}</nowiki></tt>
+
-
* <tt><nowiki>{{LOCALMONTHNAME}}</nowiki></tt>
+
-
* <tt><nowiki>{{LOCALMONTHNAMEGEN}}</nowiki></tt>
+
-
* <tt><nowiki>{{LOCALMONTHABBREV}}</nowiki></tt>
+
-
* <tt><nowiki>{{LOCALDAY}}</nowiki></tt>
+
-
* <tt><nowiki>{{LOCALDAY2}}</nowiki></tt>
+
-
* <tt><nowiki>{{LOCALDOW}}</nowiki></tt>
+
-
* <tt><nowiki>{{LOCALDAYNAME}}</nowiki></tt>
+
-
* <tt><nowiki>{{LOCALTIME}}</nowiki></tt>
+
-
* <tt><nowiki>{{LOCALHOUR}}</nowiki></tt>
+
-
* <tt><nowiki>{{LOCALWEEK}}</nowiki></tt>
+
-
* <tt><nowiki>{{LOCALTIMESTAMP}}</nowiki></tt>
+
-
:''For more thorough time formatting, you may want to install [[Extension:ParserFunctions]] to use the [[Help:Extension:ParserFunctions#.23time:|#time: parser function]]''
+
*<tt><nowiki>{{SITENAME}}</nowiki></tt> ({{SITENAME}})
 +
*<tt><nowiki>{{SERVER}}</nowiki></tt> (<nowiki>http://forwiki.eu</nowiki>)
 +
*<tt><nowiki>{{SERVERNAME}}</nowiki></tt> ({{SERVERNAME}})
 +
*<tt><nowiki>{{SCRIPTPATH}}</nowiki></tt> ({{SCRIPTPATH}})
 +
*<tt><nowiki>{{CURRENTVERSION}}</nowiki></tt> (current MediaWiki version)
 +
*<tt><nowiki>{{REVISIONID}}</nowiki></tt> (latest revision to current page)
 +
*<tt><nowiki>{{REVISIONDAY}}, {{REVISIONDAY2}}, {{REVISIONMONTH}}, {{REVISIONYEAR}}, {{REVISIONTIMESTAMP}}, {{REVISIONUSER}}</nowiki></tt> (date, time, editor at last edit)
-
===Technical metadata===
+
*<tt><nowiki>{{CURRENTYEAR}}, {{CURRENTMONTH}}, {{CURRENTMONTHNAME}}, {{CURRENTMONTHABBREV}}, {{CURRENTDAY}}, {{CURRENTDAY2}}, {{CURRENTDOW}}, {{CURRENTDAYNAME}}, {{CURRENTTIME}}, {{CURRENTHOUR}}, {{CURRENTWEEK}}, {{CURRENTTIMESTAMP}}</nowiki></tt> (current date/time variables)  
-
Revision variables return data about the '''latest edit to the current page''', even if viewing an older version of the page.
+
*<tt><nowiki>{{LOCALYEAR}}</nowiki></tt> etc. (as above, based on site's local time)
-
{| {{prettytable}}
+
-
|-
+
-
!{{Hl2}}| Variable
+
-
!{{Hl2}}| Output
+
-
!{{Hl2}}| Description
+
-
!{{Hl2}}| Versions
+
-
|-
+
-
|{{Hl3}} colspan="4"| '''Site'''
+
-
|-
+
-
| <tt><nowiki>{{SITENAME}}</nowiki></tt>
+
-
| {{SITENAME}}
+
-
| The wiki's site name ({{mediawiki|Manual:$wgSitename|$wgSitename}}).
+
-
|
+
-
|-
+
-
| <tt><nowiki>{{SERVER}}</nowiki></tt>
+
-
| {{SERVER}}
+
-
| domain URL ({{mediawiki|Manual:$wgServer|$wgServer}})
+
-
|
+
-
|-
+
-
| <tt><nowiki>{{SERVERNAME}}</nowiki></tt>
+
-
| {{SERVERNAME}}
+
-
| domain name ({{mediawiki|Manual:$wgServerName|$wgServerName}})
+
-
|
+
-
|-
+
-
| <tt><nowiki>{{DIRMARK}}</nowiki></tt><br /><tt><nowiki>{{DIRECTIONMARK}}</nowiki></tt>
+
-
| {{DIRMARK}}<br />{{DIRECTIONMARK}}
+
-
| Outputs a unicode-directional mark that matches the wiki's default language's direction (<code>&amp;lrm;</code> on left-to-right wikis, <code>&amp;rlm;</code> on right-to-left wikis), useful in text with multi-directional text.
+
-
| 1.7+
+
-
|-
+
-
| <tt><nowiki>{{SCRIPTPATH}}</nowiki></tt>
+
-
| {{SCRIPTPATH}}
+
-
| relative script path ({{mediawiki|Manual:$wgScriptPath|$wgScriptPath}})
+
-
|
+
-
|-
+
-
| <tt><nowiki>{{CURRENTVERSION}}</nowiki></tt>
+
-
| {{CURRENTVERSION}}
+
-
| The wiki's MediaWiki version.
+
-
| 1.7+
+
-
|-
+
-
| <tt><nowiki>{{CONTENTLANGUAGE}}</nowiki></tt><br /><tt><nowiki>{{CONTENTLANG}}</nowiki></tt>
+
-
| {{CONTENTLANGUAGE}}<br />{{CONTENTLANG}}
+
-
| The wiki's default interface language ({{mediawiki|Manual:$wgLanguageCode|$wgLanguageCode}})
+
-
| 1.7+
+
-
|-
+
-
|{{Hl3}} colspan="4"| '''Latest revision to current page'''
+
-
|-
+
-
| <tt><nowiki>{{REVISIONID}}</nowiki></tt>
+
-
| {{REVISIONID}}
+
-
| Unique revision ID
+
-
| 1.5+
+
-
|-
+
-
| <tt><nowiki>{{REVISIONDAY}}</nowiki></tt>
+
-
| {{REVISIONDAY}}
+
-
| Day edit was made (unpadded number)
+
-
| 1.8+
+
-
|-
+
-
| <tt><nowiki>{{REVISIONDAY2}}</nowiki></tt>
+
-
| {{REVISIONDAY2}}
+
-
| Day edit was made (zero-padded number)
+
-
| 1.8+
+
-
|-
+
-
| <tt><nowiki>{{REVISIONMONTH}}</nowiki></tt>
+
-
| {{REVISIONMONTH}}
+
-
| Month edit was made (unpadded number)
+
-
| 1.8+
+
-
|-
+
-
| <tt><nowiki>{{REVISIONYEAR}}</nowiki></tt>
+
-
| {{REVISIONYEAR}}
+
-
| Year edit was made
+
-
| 1.8+
+
-
|-
+
-
| <tt><nowiki>{{REVISIONTIMESTAMP}}</nowiki></tt>
+
-
| {{REVISIONTIMESTAMP}}
+
-
| Timestamp as of time of edit
+
-
| 1.8+
+
-
|-
+
-
| <tt><nowiki>{{REVISIONUSER}}</nowiki></tt>
+
-
| {{REVISIONUSER}}
+
-
| The username of the user who made the most recent edit to the page
+
-
| [[rev:48149|1.15+]]
+
-
|-style="background:#FED;"
+
-
| <tt><nowiki>{{PAGESIZE:</nowiki>''page name''<nowiki>}}</nowiki></tt>
+
-
| {{PAGESIZE:Help:Magic_words}}
+
-
| '''[expensive]''' Returns the byte size of the specified page.
+
-
| {{mediawiki|rev:33551|1.13+}}
+
-
|-
+
-
| <tt><nowiki>{{PROTECTIONLEVEL:</nowiki>''action''<nowiki>}}</nowiki></tt>
+
-
| 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.
+
-
| [[rev:45587|1.15+]]
+
-
|-
+
-
|{{Hl3}} colspan="4"| '''Affects page content'''
+
-
|-
+
-
| <tt><nowiki>{{DISPLAYTITLE:</nowiki>''title''<nowiki>}}</nowiki></tt>
+
-
|
+
-
| Format the current page's title header. The value must be equivalent to the default title: only capitalization changes and replacing spaces with underscores. It can be disabled or enabled by {{mediawiki|Manual:$wgAllowDisplayTitle|$wgAllowDisplayTitle}}; disabled by default before 1.10+, enabled by default thereafter.
+
-
| 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>
+
-
|
+
-
| 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.
+
-
| 1.10+
+
-
|}
+
-
===Statistics===
+
*<tt><nowiki>{{NUMBEROFPAGES}}, {{NUMBEROFARTICLES}}, {{NUMBEROFFILES}}, {{NUMBEROFEDITS}}, {{NUMBEROFVIEWS}}, {{NUMBEROFUSERS}}, {{NUMBEROFADMINS}}, {{NUMBEROFACTIVEUSERS}}</nowiki></tt> (statistics on Foresight Wiki; add <tt>:R</tt> to return numbers without commas)
-
Numbers returned by these variables normally contain separators (commas or spaces, depending on the local language), but can return raw numbers with the ":R" flag (for example, <code><tt><nowiki>{{NUMBEROFPAGES}}</nowiki></tt></code> &rarr; {{NUMBEROFPAGES}} and <code><tt><nowiki>{{NUMBEROFPAGES:R}}</nowiki></tt></code> &rarr; {{NUMBEROFPAGES:R}}). Use "|R" for magic words that require a parameter like PAGESINCATEGORY (for example <code><tt><nowiki>{{PAGESINCATEGORY:Help}}</nowiki></tt></code> and <code><tt><nowiki>{{PAGESINCATEGORY:Help|R}}</nowiki></tt></code>).
+
-
{| {{prettytable}}
+
-
|-
+
-
!{{Hl2}}| Variable
+
-
!{{Hl2}}| Output
+
-
!{{Hl2}}| Description
+
-
!{{Hl2}}| Versions
+
-
|-
+
-
|{{Hl3}} colspan="4"| '''Entire wiki'''
+
-
|-
+
-
| <tt><nowiki>{{NUMBEROFPAGES}}</nowiki></tt>
+
-
| {{NUMBEROFPAGES}}
+
-
| Number of wiki pages.
+
-
| 1.7+
+
-
|-
+
-
| <tt><nowiki>{{NUMBEROFARTICLES}}</nowiki></tt>
+
-
| {{NUMBEROFARTICLES}}
+
-
| Number of pages in main namespace without Main Page.
+
-
|
+
-
|-
+
-
| <tt><nowiki>{{NUMBEROFFILES}}</nowiki></tt>
+
-
| {{NUMBEROFFILES}}
+
-
| Number of uploaded files.
+
-
| 1.5+
+
-
|-
+
-
| <tt><nowiki>{{NUMBEROFEDITS}}</nowiki></tt>
+
-
| {{NUMBEROFEDITS}}
+
-
| Number of page edits.
+
-
| {{mediawiki|rev:21319|1.10+}}
+
-
|-
+
-
| <tt><nowiki>{{NUMBEROFVIEWS}}</nowiki></tt>
+
-
| {{NUMBEROFVIEWS}}
+
-
| Number of page views. Usually useless on a wiki using [[Manual:Cache|caching]].
+
-
| {{mediawiki|rev:42721|1.14+}}
+
-
|-
+
-
| <tt><nowiki>{{NUMBEROFUSERS}}</nowiki></tt>
+
-
| {{NUMBEROFUSERS}}
+
-
| Number of registered users.
+
-
| 1.7+
+
-
|-
+
-
| <tt><nowiki>{{NUMBEROFADMINS}}</nowiki></tt>
+
-
| {{NUMBEROFADMINS}}
+
-
| Number of users in the ''sysop'' {{mediawiki|Manual:User rights|group}}.
+
-
| 1.7+
+
-
|-
+
-
| <tt><nowiki>{{NUMBEROFACTIVEUSERS}}</nowiki></tt>
+
-
| {{NUMBEROFACTIVEUSERS}}
+
-
| Number of active users, based on the criteria used in [[Special:Statistics]].
+
-
| {{mediawiki|rev:47392|1.15+}}
+
-
|-style="background:#FED;"
+
-
| <tt><nowiki>{{PAGESINCATEGORY:</nowiki>''categoryname''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{PAGESINCAT:Help}}</nowiki></tt>
+
-
| {{PAGESINCATEGORY:Help}}<br />{{PAGESINCAT:Help}}
+
-
| '''[expensive]''' Number of pages in the given [[Help:Categories|category]] (replace "Help" with the relevant category name).
+
-
| {{mediawiki|rev:32932|1.13+}}
+
-
|-
+
-
| <tt><nowiki>{{NUMBERINGROUP:</nowiki>''groupname''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{NUMINGROUP:</nowiki>''groupname''<nowiki>}}</nowiki></tt>
+
-
| {{NUMBERINGROUP:bureaucrat}}<br />{{NUMINGROUP:bureaucrat}}<br /><small><nowiki>({{NUMBERINGROUP:bureaucrat}} used here)</nowiki></small>
+
-
| Number of users in a specific {{mediawiki|Manual:User rights|group}}.
+
-
| {{mediawiki|rev:40116|1.14+}}
+
-
|-
+
-
| <tt><nowiki>{{PAGESINNS:</nowiki>''index''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{PAGESINNAMESPACE:</nowiki>''index''<nowiki>}}</nowiki></tt>
+
-
| ''not enabled''
+
-
| Number of pages in the given [[Help:Namespaces|namespace]] (replace 2 with the relevant [[Manual:Namespace|namespace index]]). E.g. <tt><nowiki>{{PAGESINNAMESPACE:</nowiki>''14''<nowiki>}}</nowiki></tt> equals the number of categories. Disabled by default, enable with {{mediawiki|Manual:$wgAllowSlowParserFunctions|$wgAllowSlowParserFunctions}}.
+
-
| 1.7+
+
-
|}
+
-
 
+
-
====Page names====
+
-
{| {{prettytable}}
+
-
|-
+
-
!{{Hl2}}| Variable
+
-
!{{Hl2}}| Output
+
-
!{{Hl2}}| Description
+
-
!{{Hl2}}| Versions
+
-
|-
+
-
| <tt><nowiki>{{FULLPAGENAME}}</nowiki></tt>
+
-
| {{FULLPAGENAME}}
+
-
| Namespace and page title.
+
-
| 1.6+
+
-
|-
+
-
| <tt><nowiki>{{PAGENAME}}</nowiki></tt>
+
-
| {{PAGENAME}}
+
-
| Page title.
+
-
|
+
-
|-
+
-
| <tt><nowiki>{{BASEPAGENAME}}</nowiki></tt>
+
-
| {{BASEPAGENAME}}
+
-
| Page title excluding the current [[Help:Subpages|subpage]] and namespace ("Title" on "Title/foo").
+
-
| 1.7+
+
-
|-
+
-
| <tt><nowiki>{{SUBPAGENAME}}</nowiki></tt>
+
-
| {{SUBPAGENAME}}
+
-
| The [[Help:Subpages|subpage]] title ("foo" on "Title/foo").
+
-
| 1.6+
+
-
|-
+
-
| <tt><nowiki>{{SUBJECTPAGENAME}}</nowiki></tt>
+
-
| {{SUBJECTPAGENAME}}
+
-
| The namespace and title of the associated content page.
+
-
| 1.7+
+
-
|-
+
-
| <tt><nowiki>{{TALKPAGENAME}}</nowiki></tt>
+
-
| {{TALKPAGENAME}}
+
-
| The namespace and title of the associated talk page.
+
-
| 1.7+
+
-
|}
+
-
 
+
-
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 following are URL-encoded equivalents:
+
-
* <tt><nowiki>{{FULLPAGENAMEE}}</nowiki></tt>
+
-
* <tt><nowiki>{{PAGENAMEE}}</nowiki></tt>
+
-
* <tt><nowiki>{{BASEPAGENAMEE}}</nowiki></tt>
+
-
* <tt><nowiki>{{SUBPAGENAMEE}}</nowiki></tt>
+
-
* <tt><nowiki>{{SUBJECTPAGENAMEE}}</nowiki></tt>
+
-
* <tt><nowiki>{{TALKPAGENAMEE}}</nowiki></tt>
+
-
 
+
-
As of {{mediawiki|rev:46662|1.15+}}, these can all take a parameter, allowing specification of the page to be operated on, instead of just the current page:
+
-
* <tt><nowiki>{{PAGENAME:Template:Main Page}}</nowiki></tt> &rarr; '''{{PAGENAME:Template:Main Page}}'''
+
-
 
+
-
====Namespaces====
+
-
{| {{prettytable}}
+
-
|-
+
-
!{{Hl2}}| Variable
+
-
!{{Hl2}}| Output
+
-
!{{Hl2}}| Description
+
-
!{{Hl2}}| Versions
+
-
|-
+
-
| <tt><nowiki>{{NAMESPACE}}</nowiki></tt>
+
-
| {{NAMESPACE}}
+
-
| Namespace (name)
+
-
|
+
-
|-
+
-
| <tt><nowiki>{{SUBJECTSPACE}}</nowiki></tt><br /><tt><nowiki>{{ARTICLESPACE}}</nowiki></tt>
+
-
| {{SUBJECTSPACE}}<br />{{ARTICLESPACE}}
+
-
| Name of the associated content namespace
+
-
| 1.7+
+
-
|-
+
-
| <tt><nowiki>{{TALKSPACE}}</nowiki></tt>
+
-
| {{TALKSPACE}}
+
-
| Name of the associated talk namespace
+
-
| 1.7+
+
-
|}
+
-
 
+
-
The following are URL-encoded equivalents:
+
-
* <tt><nowiki>{{NAMESPACEE}}</nowiki></tt>
+
-
* <tt><nowiki>{{SUBJECTSPACEE}}</nowiki></tt>
+
-
* <tt><nowiki>{{TALKSPACEE}}</nowiki></tt>
+
-
 
+
-
As of {{mediawiki|rev:46630|1.15+}}, these can all take a parameter, specifying the property should be returned for a given title instead of the current page:
+
-
* <tt><nowiki>{{NAMESPACE:Template:Main Page}}</nowiki></tt> &rarr; '''{{NAMESPACE:Template:Main Page}}'''
+
==Parser functions==
==Parser functions==
 +
''These are documented at the [[Help:Magic words|main documentation page]] unless otherwise stated.''
 +
===Metadata===
 +
*<tt><nowiki>{{PAGESIZE:</nowiki>''page name''<nowiki>}}</nowiki></tt> (size of page in bytes)
 +
*<tt><nowiki>{{PROTECTIONLEVEL:</nowiki>''action''<nowiki>}}</nowiki></tt> (protection level for given action on the current page)
 +
*<tt><nowiki>{{PAGESINCATEGORY:</nowiki>''categoryname''<nowiki>}}</nowiki></tt> (number of pages in the given category)
 +
*<tt><nowiki>{{NUMBERINGROUP:</nowiki>''groupname''<nowiki>}}</nowiki></tt> (number of users in a specific group)
-
Parser functions are very similar to variables, but take one or more parameters (technically, any magic word that takes a parameter is a parser function), and the name is usually prefixed with a hash to distinguish them from possible templates)
+
Add <tt>|R</tt> to return numbers without commas.
-
 
+
-
This page only describes parser functions that are integral to the MediaWiki software. Other parser functions may be added by MediaWiki extensions such as the {{mediawiki|Extension:ParserFunctions|ParserFunctions extension}}. For those see [[Help:Extension:ParserFunctions]].
+
-
 
+
-
===URL data===
+
-
{| {{prettytable}}
+
-
|-
+
-
!{{Hl2}}| Parser function
+
-
!{{Hl2}}| Input → Output
+
-
!{{Hl2}}| Description
+
-
!{{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>
+
-
| <nowiki>{{localurl:MediaWiki}}</nowiki> → {{localurl:MediaWiki}}<br /><nowiki>{{localurl:MediaWiki|printable=yes}}</nowiki>  → {{localurl:MediaWiki|printable=yes}}
+
-
| 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>
+
-
| <nowiki>{{fullurl:Category:Top level}}</nowiki> → {{fullurl:Category:Top level}}<br />
+
-
<nowiki>{{fullurl:Category:Top level|action=edit}}</nowiki> → {{fullurl:Category:Top level|action=edit}}
+
-
| The absolute path to the title. This will also resolve [[Manual:Interwiki|Interwiki]] prefixes.
+
-
| 1.5+
+
-
|-
+
-
| <tt><nowiki>{{filepath:</nowiki>''file name''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{filepath:file name|nowiki}}</nowiki></tt>
+
-
| <nowiki>{{filepath:Wiki.png}}</nowiki> → {{filepath:Wiki.png}}<br /><nowiki>{{filepath:Wiki.png|nowiki}}</nowiki> → {{filepath:Wiki.png|nowiki}}
+
-
| The absolute URL to a media file.
+
-
| {{mediawiki|rev:25854|1.12+}}
+
-
|-
+
-
| <tt><nowiki>{{urlencode:</nowiki>''string''<nowiki>}}</nowiki></tt>
+
-
| <nowiki>{{urlencode:x y z}}</nowiki> → {{urlencode:x y z}}
+
-
| The input encoded for use in URLs.
+
-
| {{mediawiki|rev:14273|1.7+}}
+
-
|-
+
-
| <tt><nowiki>{{anchorencode:</nowiki>''string''<nowiki>}}</nowiki></tt>
+
-
| <nowiki>{{anchorencode:x y z}}</nowiki> → {{anchorencode:x y z}}
+
-
| The input encoded for use in URL section anchors (after the '#' symbol in a URL).
+
-
| {{mediawiki|rev:16279|1.8+}}
+
-
|}
+
-
 
+
-
===Namespaces===
+
-
<code><tt><nowiki>{{ns:}}</nowiki></tt></code> returns the localized name for the [[Help:Namespace|namespace]] with that index. <code><tt><nowiki>{{nse:}}</nowiki></tt></code> is the URL-encoded equivalent. It does the same, but it replaces spaces with underscores, making it usable in external links.<!-- {{nse:}} may be not yet live on your wiki. Added in r54220 -->
+
-
{| {{prettytable}}
+
-
|-
+
-
! {{hl3}} colspan="2" width="50%" | Content namespaces
+
-
! rowspan="11" |
+
-
! {{hl3}} colspan="2" width=%50%" | Talk namespaces
+
-
|-
+
-
!{{Hl2}}| Usage
+
-
!{{Hl2}}| Output
+
-
!{{Hl2}}| Usage
+
-
!{{Hl2}}| Output
+
-
|-
+
-
| <tt><nowiki>{{ns:-2}}</nowiki></tt> or <tt><nowiki>{{ns:Media}}</nowiki></tt>
+
-
| {{ns:-2}}
+
-
| <tt><nowiki>{{ns:-1}}</nowiki></tt> or <tt><nowiki>{{ns:Special}}</nowiki></tt>
+
-
| {{ns:-1}}
+
-
|-
+
-
| <tt><nowiki>{{ns:0}}</nowiki></tt>
+
-
| {{ns:0}}
+
-
| <tt><nowiki>{{ns:1}}</nowiki></tt> or <tt><nowiki>{{ns:Talk}}</nowiki></tt>
+
-
| {{ns:1}}
+
-
|-
+
-
| <tt><nowiki>{{ns:2}}</nowiki></tt> or <tt><nowiki>{{ns:User}}</nowiki></tt>
+
-
| {{ns:2}}
+
-
| <tt><nowiki>{{ns:3}}</nowiki></tt> or <tt><nowiki>{{ns:User talk}}</nowiki></tt>
+
-
| {{ns:3}}
+
-
|-
+
-
| <tt><nowiki>{{ns:4}}</nowiki></tt> or <tt><nowiki>{{ns:Project}}</nowiki></tt>
+
-
| {{ns:4}}
+
-
| <tt><nowiki>{{ns:5}}</nowiki></tt> or <tt><nowiki>{{ns:Project talk}}</nowiki></tt>
+
-
| {{ns:5}}
+
-
|-
+
-
| <tt><nowiki>{{ns:6}}</nowiki></tt> or <tt><nowiki>{{ns:File}}</nowiki></tt> or <tt><nowiki>{{ns:Image}}</nowiki></tt>
+
-
| {{ns:6}}
+
-
| <tt><nowiki>{{ns:7}}</nowiki></tt> or <tt><nowiki>{{ns:File talk}}</nowiki></tt> or <tt><nowiki>{{ns:Image talk}}</nowiki></tt>
+
-
| {{ns:7}}
+
-
|-
+
-
| <tt><nowiki>{{ns:8}}</nowiki></tt> or <tt><nowiki>{{ns:MediaWiki}}</nowiki></tt>
+
-
| {{ns:8}}
+
-
| <tt><nowiki>{{ns:9}}</nowiki></tt> or <tt><nowiki>{{ns:MediaWiki talk}}</nowiki></tt>
+
-
| {{ns:9}}
+
-
|-
+
-
| <tt><nowiki>{{ns:10}}</nowiki></tt> or <tt><nowiki>{{ns:Template}}</nowiki></tt>
+
-
| {{ns:10}}
+
-
| <tt><nowiki>{{ns:11}}</nowiki></tt> or <tt><nowiki>{{ns:Template talk}}</nowiki></tt>
+
-
| {{ns:11}}
+
-
|-
+
-
| <tt><nowiki>{{ns:12}}</nowiki></tt> or <tt><nowiki>{{ns:Help}}</nowiki></tt>
+
-
| {{ns:12}}
+
-
| <tt><nowiki>{{ns:13}}</nowiki></tt> or <tt><nowiki>{{ns:Help talk}}</nowiki></tt>
+
-
| {{ns:13}}
+
-
|-
+
-
| <tt><nowiki>{{ns:14}}</nowiki></tt> or <tt><nowiki>{{ns:Category}}</nowiki></tt>
+
-
| {{ns:14}}
+
-
| <tt><nowiki>{{ns:15}}</nowiki></tt> or <tt><nowiki>{{ns:Category talk}}</nowiki></tt>
+
-
| {{ns:15}}
+
-
|}
+
===Formatting===
===Formatting===
-
<!--Well gosh, with the source of the examples hidden, who can tell what you are inputting without looking here in the source?-->
+
*<tt><nowiki>{{lc:</nowiki>''string''<nowiki>}}</nowiki></tt> (convert to lower case)
-
{| {{prettytable}}
+
*<tt><nowiki>{{lcfirst:</nowiki>''string''<nowiki>}}</nowiki></tt> (convert first character to lower case)
-
!{{Hl2}}| Usage
+
*<tt><nowiki>{{uc:</nowiki>''string''<nowiki>}}</nowiki></tt> (convert to upper case)
-
!{{Hl2}}| Input → Output
+
*<tt><nowiki>{{ucfirst:</nowiki>''string''<nowiki>}}</nowiki></tt> (convert first character to upper case)
-
!{{Hl2}}| Description
+
*<tt><nowiki>{{formatnum:</nowiki>''unformatted&nbsp;num''<nowiki>}}</nowiki></tt> (format a number with comma separators; add <tt><nowiki>|</nowiki>R</tt> to unformat a number)
-
!{{Hl2}}| Version
+
*<tt><nowiki>{{#formatdate:</nowiki>''date''<nowiki>}}</nowiki></tt> (formats a date according to user preferences; a default can be given as a second parameter for users without date preference)
-
|-
+
*<tt><nowiki>{{padleft:xyz|</nowiki>''stringlength''<nowiki>}}</nowiki></tt>, <tt><nowiki>{{padright:xyz|</nowiki>''stringlength''<nowiki>}}</nowiki></tt> (pad with zeros to the right or left; an alternative padding string can be given as a third parameter)
-
|-
+
*<tt><nowiki>{{plural:</nowiki>''n''|''is''<nowiki>|</nowiki>''are''<nowiki>}}</nowiki></tt> (produces alternative text according to whether ''n'' is greater than 1)
-
| <tt><nowiki>{{lc:</nowiki>''string''<nowiki>}}</nowiki></tt>
+
*<tt><nowiki>{{#time: format string | date/time object }}</nowiki></tt> (for date/time formatting; also <tt>#timel</tt> for local time. Covered at the extension documentation page.)
-
| <tt><nowiki>{{lc:DATA CENTER}}</nowiki></tt> → {{lc:DATA CENTER}}
+
-
| The lowercase input.
+
-
| 1.5+
+
-
|-
+
-
| <tt><nowiki>{{lcfirst:</nowiki>''string''<nowiki>}}</nowiki></tt>
+
-
| <tt><nowiki>{{lcfirst:DATA CENTER}}</nowiki></tt> → {{lcfirst:DATA CENTER}}
+
-
| The input with the <u>very first</u> character lowercase.
+
-
| 1.5+
+
-
|-
+
-
| <tt><nowiki>{{uc:</nowiki>''string''<nowiki>}}</nowiki></tt>
+
-
| <tt><nowiki>{{uc:text transform}}</nowiki></tt> → {{uc:text transform}}
+
-
| The uppercase input.
+
-
| 1.5+
+
-
|-
+
-
| <tt><nowiki>{{ucfirst:</nowiki>''string''<nowiki>}}</nowiki></tt>
+
-
| <tt><nowiki>{{ucfirst:text transform}}</nowiki></tt> → {{ucfirst:text transform}}
+
-
| The input with the <u>very first</u> character uppercase.
+
-
| 1.5+
+
-
|-
+
-
| <tt><nowiki>{{formatnum:</nowiki>''unformatted&nbsp;num''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{formatnum:</nowiki>''formatted&nbsp;num''<nowiki>|R}}</nowiki></tt>
+
-
| <tt><nowiki>{{formatnum:-987654321.654321}}</nowiki></tt> → {{formatnum:-987654321.654321}} <br /> <tt><nowiki>{{formatnum:-987,654,321.654321|R}}</nowiki></tt> → {{formatnum:-987,654,321.654321|R}}
+
-
| The input with decimal and decimal group separators, and localized digit script, according to the wiki's default locale. the <tt><nowiki>|</nowiki>R</tt> parameter can be used to unformat a number, for use in mathematical situations.
+
-
| 1.7+<br />[[rev:32012|1.13+]]
+
-
|-
+
-
|
+
-
<code><nowiki>{{#dateformat:</nowiki>''date''<nowiki>}}
+
-
{{#formatdate:</nowiki>''date''<nowiki>}}
+
-
{{#dateformat:</nowiki>''date''{{!}}''format''<nowiki>}}
+
-
{{#formatdate:</nowiki>''date''{{!}}''format''<nowiki>}}</nowiki></code>
+
-
|
+
-
<tt><nowiki>{{#dateformat:11 seP 2001|ymd}}</nowiki></tt><br/>
+
-
→ {{#dateformat:11 seP 2001|ymd}} (your pref),  2001 SeP 11 (default)<br/>
+
-
<tt><nowiki>{{#formatdate:sep 11,2001|dmy}}</nowiki></tt><br/>
+
-
→ {{#formatdate:sep 11,2001|dmy}} (your pref), 11 Sep 2001 (default)<br/>
+
-
<tt><nowiki>{{#dateformat:1941-12-07|mdy}}</nowiki></tt><br/>
+
-
→ {{#formatdate:1941-12-07|mdy}} (your pref), December 7, 1941 (default)<br/>
+
-
<tt><nowiki>{{#formatdate:2001 sep 11|ISO 8601}}</nowiki></tt><br/>
+
-
→ {{#formatdate:2001 sep 11|ISO 8601}} (your pref), 2001-09-11 (default)<br/>
+
-
 
+
-
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. 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 8601</tt> (all case sensitive). 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, it is rendered unchanged.<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).</small>
+
-
| [[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>
+
-
| <tt><nowiki>{{padleft:xyz|5}}</nowiki></tt> → {{padleft:xyz|5}}<br /> <tt><nowiki>{{padleft:xyz|5|_}}</nowiki></tt> → {{padleft:xyz|5|_}}
+
-
| Inserts a string of padding characters (character chosen in third parameter; default '0') of a specified length (second parameter) next to a chosen base character or variable (first parameter). The final digits or characters in the base replace the final characters in the padding; i.e. <nowiki>{{padleft:44|3|0}}</nowiki> produces {{padleft:44|3}}.<br />'''[[bugzilla:16852|bug]] (fixed in [[rev:45734|r45734]]):''' multibyte characters are interpreted as two characters, which can skew width. These also cannot be used as padding characters.
+
-
| 1.8+
+
-
|-
+
-
| <tt><nowiki>{{padright:xyz|</nowiki>''stringlength''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{padright:xyz|</nowiki>''strlen''<nowiki>|</nowiki>''char''<nowiki>}}</nowiki></tt>
+
-
| <tt><nowiki>{{padright:xyz|5}}</nowiki></tt> → {{padright:xyz|5}}<br /> <tt><nowiki>{{padright:xyz|5|_}}</nowiki></tt> → {{padright:xyz|5|_}}
+
-
| Identical to padleft, but adds padding characters to the right side.
+
-
|-
+
-
| <tt><nowiki>{{plural:2|</nowiki>''is''<nowiki>|</nowiki>''are''<nowiki>}}</nowiki></tt>
+
-
| <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}}
+
-
| 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".
+
-
|-
+
-
| <tt><nowiki>{{grammar:N|</nowiki>''noun''<nowiki>}}</nowiki></tt>
+
-
|
+
-
| Outputs
+
-
the correct inflected form of the given word
+
-
described by the inflection code after the colon
+
-
(language-dependent). 
+
-
Grammar transformations
+
-
are used for inflected languages like Polish. 
+
-
See also {{mediawiki|Manual:$wgGrammarForms}}.
+
-
| 1.7+
+
-
|}
+
-
 
+
-
===Miscellaneous===
+
-
{| {{prettytable|class="plainlinks"}}
+
-
!{{Hl2}}| Usage
+
-
!{{Hl2}}| Output
+
-
!{{Hl2}}| Description
+
-
!{{Hl2}}| Version
+
-
|-
+
-
| <tt><nowiki>{{int:</nowiki>''message name''<nowiki>}}</nowiki>
+
-
| <tt><nowiki>{{int:</nowiki>edit<nowiki>}}</nowiki></tt> &rarr; '''{{int:edit}}''' <br /><small>''(depends on user language, try: [{{fullurl:{{FULLPAGENAME}}|uselang=fr}}#Miscellaneous fr] &bull;[{{fullurl:{{FULLPAGENAME}}|uselang=ja}}#Miscellaneous ja])''</small>
+
-
| Internationalizes (translates) the given '''int'''erface (MediaWiki namespace) message into the user language. ''Note that this can damage/confuse cache consistency, see [[bugzilla:14404|bug 14404]].''
+
-
|
+
-
|-
+
-
| <tt><nowiki>{{#language:</nowiki>''language code''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{#language:ar}}</nowiki></tt><br /><tt><nowiki>{{#language:th}}</nowiki></tt>
+
-
| {{#language:language code}}<br />{{#language:ar}}<br />{{#language:th}}
+
-
| The native name for the given language code, in accordance with [[w:ISO 639|ISO 639]].
+
-
| {{mediawiki|rev:14490|1.7+}}
+
-
|-
+
-
| <tt><nowiki>{{#special:</nowiki>''special page name''<nowiki>}}</nowiki><br /><nowiki>{{#special:userlogin}}</nowiki></tt>
+
-
| {{#special:special page name}}<br />{{#special:userlogin}}
+
-
| The localized name for the given canonical Special: page.
+
-
| {{mediawiki|rev:17321|1.9+}}
+
-
|-
+
-
| <tt><nowiki>{{#tag:</nowiki>''tagname''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{#tag:</nowiki>''tagname''<br><nowiki>|</nowiki>''tag content''<br><nowiki>|</nowiki>''parameter=value''<br /><nowiki>|</nowiki>''parameter2=value''<br /><nowiki>}}</nowiki></tt>
+
-
| ''(depends on parser tag)''
+
-
| Alias for XML-style parser or extension tags, but parsing wiki code. Attribute values can be passed as parameter values ('<code><nowiki><tagname attribute="value"></nowiki></code>' &rarr; '<code><tt><nowiki>{{#tag:tagname|attribute=value}}</nowiki></tt></code>'), and inner content as an unnamed parameter ('<code><nowiki><tagname>content</tagname></nowiki></code>' &rarr; '<code><tt><nowiki>{{#tag:tagname|content}}</nowiki></tt></code>').
+
-
| [[rev:29482|1.12+]]
+
-
|-
+
-
| <tt><nowiki>{{gender:</nowiki>''username''<br /><nowiki>|</nowiki>''return text if user is male''<br /><nowiki>|</nowiki>''return text if user is female''<br /><nowiki>|</nowiki>''return text if user hasn't defined their gender''<nowiki>}}</nowiki></tt>
+
-
| ''(depends on the named user's gender)''
+
-
| A switch for the gender set in [[Special:Preferences]]
+
-
| [[rev:46247|1.15+]]
+
-
|-
+
-
| <tt><nowiki>{{groupconvert:</nowiki>''groupname''<nowiki>}}</nowiki></tt>
+
-
| ''(only works on wikis with language variants)''
+
-
| Allow to enable group conversion rules which defined on '''<nowiki>[[</nowiki>MediaWiki:Groupconversiontable-''groupname''/''variantcode''<nowiki>]]</nowiki>'''.
+
-
| [[rev:48984|1.15+]]
+
-
|}
+
-
{{languages}}
+
===Paths===
 +
*<tt><nowiki>{{localurl:</nowiki>''page name''<nowiki>}}</nowiki></tt>, <tt><nowiki>{{localurl:</nowiki>''page name''<nowiki>|</nowiki>''query string''<nowiki>}}</nowiki></tt> (relative path to the title)
 +
*<tt><nowiki>{{fullurl:</nowiki>''page name''<nowiki>}}</nowiki></tt>, <tt><nowiki>{{fullurl:</nowiki>''page name''<nowiki>|</nowiki>''query_string''<nowiki>}}</nowiki></tt> (absolute path to the title)
 +
*<tt><nowiki>{{filepath:</nowiki>''file name''<nowiki>}}</nowiki></tt> (absolute URL to a media file)
 +
*<tt><nowiki>{{urlencode:</nowiki>''string''<nowiki>}}</nowiki></tt> (input encoded for use in URLs)
 +
*<tt><nowiki>{{anchorencode:</nowiki>''string''<nowiki>}}</nowiki></tt> (input encoded for use in URL section anchors)
 +
*<tt><nowiki>{{ns:</nowiki>''n''<nowiki>}}</nowiki></tt> (name for the namespace with index ''n''; use <tt><nowiki>{{nse:}}</nowiki></tt> for URL-encoded equivalent)
 +
*<tt><nowiki>{{#rel2abs:</nowiki> ''path'' <nowiki>}}</nowiki></tt> (converts a relative file path to absolute; see the extension documentation)
 +
*<tt><nowiki>{{#titleparts: pagename | number of segments to return | first segment to return }}</nowiki></tt> (splits title into parts; see the extension documentation)
-
[[Category:Help|{{PAGENAME}}]]
+
===Conditional expressions===
-
[[Category:Time|{{PAGENAME}}]]
+
These are covered at the extension documentation page. Some parameters are optional.
-
[[Category:Magic words|{{PAGENAME}}]]
+
*<tt><nowiki>{{#expr:</nowiki> ''expression'' <nowiki>}}</nowiki></tt> (evaluates the given expression)
 +
*<tt><nowiki>{{#if:</nowiki> ''test string'' | ''value if non-empty'' | ''value if empty'' <nowiki>}}</nowiki></tt> (selects one of two values based on whether the test string is empty)
 +
*<tt><nowiki>{{#ifeq:</nowiki> ''string 1'' <nowiki>|</nowiki> ''string 2'' <nowiki>|</nowiki> ''value if equal'' <nowiki>|</nowiki> ''value if unequal'' <nowiki>}}</nowiki></tt> (selects one of two values based on whether the test strings are equal – numerically if applicable)
 +
*<tt><nowiki>{{#iferror:</nowiki> ''test string'' <nowiki>|</nowiki> ''value if error'' <nowiki>|</nowiki> ''value if correct'' <nowiki>}}</nowiki></tt> (selects value based on whether the test string generates a parser error)
 +
*<tt><nowiki>{{#ifexpr:</nowiki> ''expression'' <nowiki>|</nowiki> ''value if true'' <nowiki>|</nowiki> ''value if false'' <nowiki>}}</nowiki></tt> (selects value based on evaluation of expression)
 +
*<tt><nowiki>{{#ifexist:</nowiki> ''page title'' | ''value if exists'' | ''value if doesn't exist'' <nowiki>}}</nowiki></tt> (selects value depending on whether a page title exists)
 +
*<tt><nowiki>{{#switch: test | case1 = value for case 1 | ... | default }}</nowiki></tt> (provides alternatives based on the value of the test string)

Current revision as of 08:46, 14 October 2009

Magic words (which include parser functions, variables and behavior switches) are features of wikitext that enable various instructions to be given to the Foresight Wiki software (for example, to suppress or position the table of contents), or else serve to produce variable output, as is often required in templates.

A quick reference for magic words can be found on this page. For more complete and updated documentation, refer to following pages on the Foresight Wiki site:

  • Help:Magic words for all standard magic words, including the "standard" parser functions
  • Help:Extension:ParserFunctions for some additional parser functions, including conditional expressions

Contents

General information

There are three types of magic words:

  • Behavior switches: uppercase words surrounded by double underscores, e.g. __NOTOC__, or keywords using parser function syntax
  • Variables: uppercase words surrounded by double braces, e.g. {{PAGENAME}} (thus resembling templates)
  • Parser functions: keywords (some beginning #) in double braces with parameters after a colon, e.g. {{#expr:2+2}}

Some magic words are case-insensitive, but not all. Whitespace is stripped from the start and end of keywords and parameters, as in template syntax.

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

It is possible to substitute parser functions and variables in the same way that templates are substituted (using the subst: keyword). This causes their current value (as evaluated at the time of substitution) to be written into the wikitext.

Behavior switches

For documentation, refer to the Behavior Switches section of the Foresight Wiki page.

  • __NOTOC__ (can appear anywhere in the wikitext; suppresses the table of contents)
  • __FORCETOC__ (can appear anywhere in the wikitext; makes a table of contents appear in its normal position above the first header)
  • __TOC__ (places a table of contents at the word's position)
  • __NOEDITSECTION__ (hides the section edit links beside headings)
  • __NEWSECTIONLINK__ (adds a "+" link for adding a new section on a non-"Talk" page)
  • __NONEWSECTIONLINK__ (removes the "+" link on "Talk" pages)
  • __NOGALLERY__ (on a category page, replaces thumbnails with normal links)
  • __HIDDENCAT__ (on a category page, makes it a hidden category)
  • __INDEX__ (tells search engines to index the page)
  • __NOINDEX__ (tells search engines not to index the page)
  • {{DISPLAYTITLE:title}} (changes the displayed form of the page title)
  • {{DEFAULTSORT:sortkey}} (sets a default category sort key)

Variables

For documentation, refer to the Variables section of the MediaWiki page.

  • {{FULLPAGENAME}} (page title including namespace)
  • {{PAGENAME}} (page title excluding namespace)
  • {{BASEPAGENAME}} (page title excluding subpage and namespace)
  • {{SUBPAGENAME}} (subpage part of title)
  • {{SUBJECTPAGENAME}} (associated non-talk page)
  • {{TALKPAGENAME}} (associated talk page)
  • {{NAMESPACE}} (namespace of current page)
  • {{SUBJECTSPACE}}, {{ARTICLESPACE}} (associated non-talk namespace)
  • {{TALKSPACE}} (associated talk namespace)
  • {{FULLPAGENAMEE}}, {{NAMESPACEE}} etc. (URL-encoded equivalents)

The above can all take a parameter, to operate on a page other than the current page.

  • {{SITENAME}} (FORwiki)
  • {{SERVER}} (http://forwiki.eu)
  • {{SERVERNAME}} (www.forwiki.ro)
  • {{SCRIPTPATH}} ()
  • {{CURRENTVERSION}} (current MediaWiki version)
  • {{REVISIONID}} (latest revision to current page)
  • {{REVISIONDAY}}, {{REVISIONDAY2}}, {{REVISIONMONTH}}, {{REVISIONYEAR}}, {{REVISIONTIMESTAMP}}, {{REVISIONUSER}} (date, time, editor at last edit)
  • {{CURRENTYEAR}}, {{CURRENTMONTH}}, {{CURRENTMONTHNAME}}, {{CURRENTMONTHABBREV}}, {{CURRENTDAY}}, {{CURRENTDAY2}}, {{CURRENTDOW}}, {{CURRENTDAYNAME}}, {{CURRENTTIME}}, {{CURRENTHOUR}}, {{CURRENTWEEK}}, {{CURRENTTIMESTAMP}} (current date/time variables)
  • {{LOCALYEAR}} etc. (as above, based on site's local time)
  • {{NUMBEROFPAGES}}, {{NUMBEROFARTICLES}}, {{NUMBEROFFILES}}, {{NUMBEROFEDITS}}, {{NUMBEROFVIEWS}}, {{NUMBEROFUSERS}}, {{NUMBEROFADMINS}}, {{NUMBEROFACTIVEUSERS}} (statistics on Foresight Wiki; add :R to return numbers without commas)

Parser functions

These are documented at the main documentation page unless otherwise stated.

Metadata

  • {{PAGESIZE:page name}} (size of page in bytes)
  • {{PROTECTIONLEVEL:action}} (protection level for given action on the current page)
  • {{PAGESINCATEGORY:categoryname}} (number of pages in the given category)
  • {{NUMBERINGROUP:groupname}} (number of users in a specific group)

Add |R to return numbers without commas.

Formatting

  • {{lc:string}} (convert to lower case)
  • {{lcfirst:string}} (convert first character to lower case)
  • {{uc:string}} (convert to upper case)
  • {{ucfirst:string}} (convert first character to upper case)
  • {{formatnum:unformatted num}} (format a number with comma separators; add |R to unformat a number)
  • {{#formatdate:date}} (formats a date according to user preferences; a default can be given as a second parameter for users without date preference)
  • {{padleft:xyz|stringlength}}, {{padright:xyz|stringlength}} (pad with zeros to the right or left; an alternative padding string can be given as a third parameter)
  • {{plural:n|is|are}} (produces alternative text according to whether n is greater than 1)
  • {{#time: format string | date/time object }} (for date/time formatting; also #timel for local time. Covered at the extension documentation page.)

Paths

  • {{localurl:page name}}, {{localurl:page name|query string}} (relative path to the title)
  • {{fullurl:page name}}, {{fullurl:page name|query_string}} (absolute path to the title)
  • {{filepath:file name}} (absolute URL to a media file)
  • {{urlencode:string}} (input encoded for use in URLs)
  • {{anchorencode:string}} (input encoded for use in URL section anchors)
  • {{ns:n}} (name for the namespace with index n; use {{nse:}} for URL-encoded equivalent)
  • {{#rel2abs: path }} (converts a relative file path to absolute; see the extension documentation)
  • {{#titleparts: pagename | number of segments to return | first segment to return }} (splits title into parts; see the extension documentation)

Conditional expressions

These are covered at the extension documentation page. Some parameters are optional.

  • {{#expr: expression }} (evaluates the given expression)
  • {{#if: test string | value if non-empty | value if empty }} (selects one of two values based on whether the test string is empty)
  • {{#ifeq: string 1 | string 2 | value if equal | value if unequal }} (selects one of two values based on whether the test strings are equal – numerically if applicable)
  • {{#iferror: test string | value if error | value if correct }} (selects value based on whether the test string generates a parser error)
  • {{#ifexpr: expression | value if true | value if false }} (selects value based on evaluation of expression)
  • {{#ifexist: page title | value if exists | value if doesn't exist }} (selects value depending on whether a page title exists)
  • {{#switch: test | case1 = value for case 1 | ... | default }} (provides alternatives based on the value of the test string)
Personal tools