Difference between revisions of "Help:Magic Words"

m (New page: Category:Help Pages)
 
(Miscellaneous)
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:Help Pages]]
+
'''Magic words''' are strings of codes which associates with a return value or function, such as time, site details, or page names. This page is about usage of standard magic words.
 +
 
 +
Basically there are three types of magic words:
 +
*'''[[Help:Magic Words#Behaviour_Switches|Behavior Switches]]'''. These are uppercase words surrounded by double underscores (eg __FOO__)
 +
*'''[[Help:Magic Words#Variables|Variables]]'''. These are uppercase words surrounded by double braces (eg <nowiki>{{FOO}}</nowiki>).
 +
*'''[[Help:Magic Words#Parser_Functions|Parametric or Parser Functions]]'''. These take parameters and are either of the form <nowiki>{{foo:...}}</nowiki> or <nowiki>{{#foo:...}}</nowiki>.
 +
 
 +
__TOC__
 +
 
 +
==Behaviour Switches==
 +
A behaviour switch controls the layout or behaviour of the page and can often be used to specify desired omissions and inclusions in the content.
 +
 
 +
{|class="wikitable" border="1"
 +
 
 +
|-
 +
! Word
 +
!Description
 +
 
 +
|-
 +
|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.
 +
 
 +
|-
 +
|colspan="3"| '''Editing'''
 +
|-
 +
| <nowiki>__NOEDITSECTION__</nowiki>
 +
| Hides the section edit links beside headings.
 +
 
 +
|-
 +
| <nowiki>__NEWSECTIONLINK__</nowiki>
 +
| Adds a link beside the "edit" tab for adding a new section on a non-talk page.
 +
 
 +
|-
 +
| <nowiki>__NONEWSECTIONLINK__</nowiki>
 +
| Removes the link beside the "edit" tab on pages in talk namespaces.
 +
 
 +
|-
 +
|colspan="3"| '''Categories'''
 +
|-
 +
| <nowiki>__NOGALLERY__</nowiki>
 +
| Used on a category page, replaces thumbnails in the category view with normal links.
 +
 
 +
|-
 +
| <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 user preferences to show them).
 +
 
 +
|-
 +
| 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).
 +
 
 +
|-
 +
|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.
 +
 
 +
|-
 +
|  <nowiki>__INDEX__</nowiki>
 +
| Tell search engines to index the page.
 +
 
 +
|-
 +
|  <nowiki>__NOINDEX__</nowiki>
 +
| Tell search engines not to index the page (ie, do not list in search engines' results).
 +
 
 +
|-
 +
|  <nowiki>__STATICREDIRECT__</nowiki>
 +
| On redirect pages, don't allow wiki to automatically update the link when someone moves a page and checks "Update any redirects that point to the original title".
 +
 
 +
|}
 +
 
 +
==Variables==
 +
 
 +
Variables return information about the current page, wiki, or date. Their syntax is similar to [[Help:Templates|templates]]. 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]].
 +
 
 +
===Date & time===
 +
The following variables return the current date and time according to the user's timezone , defaulting to the UTC timezone.
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
!Variable
 +
! Output
 +
!Description
 +
 
 +
|-
 +
|colspan="4"| '''Year'''
 +
|-
 +
| <tt><nowiki>{{CURRENTYEAR}}</nowiki></tt>
 +
| {{CURRENTYEAR}}
 +
| Year
 +
 
 +
|-
 +
|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
 +
 
 +
|-
 +
| <tt><nowiki>{{CURRENTMONTHABBREV}}</nowiki></tt>
 +
| {{CURRENTMONTHABBREV}}
 +
| Month (abbreviation)
 +
 
 +
|-
 +
|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)
 +
 
 +
|-
 +
| <tt><nowiki>{{CURRENTDOW}}</nowiki></tt>
 +
| {{CURRENTDOW}}
 +
| Day of the week (unpadded number)
 +
 
 +
|-
 +
| <tt><nowiki>{{CURRENTDAYNAME}}</nowiki></tt>
 +
| {{CURRENTDAYNAME}}
 +
| Day of the week (name)
 +
 
 +
|-
 +
| 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)
 +
 
 +
|-
 +
| colspan="4"| '''Other'''
 +
|-
 +
| <tt><nowiki>{{CURRENTWEEK}}</nowiki></tt>
 +
| {{CURRENTWEEK}}
 +
| Week (number)
 +
 
 +
|-
 +
| <tt><nowiki>{{CURRENTTIMESTAMP}}</nowiki></tt>
 +
| {{CURRENTTIMESTAMP}}
 +
| YYYYMMDDHHmmss timestamp
 +
 
 +
|}
 +
 
 +
The following variables do the same as the above, but using the site's local timezone instead of user preferences and UTC:
 +
* <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>
 +
 
 +
===Technical metadata===
 +
Revision variables return data about the '''latest edit to the current page''', even if viewing an older version of the page.
 +
{| class="wikitable" border="1"
 +
 
 +
|-
 +
! Variable
 +
! Output
 +
!Description
 +
 
 +
|-
 +
|colspan="4"| '''Site'''
 +
|-
 +
| <tt><nowiki>{{SITENAME}}</nowiki></tt>
 +
| {{SITENAME}}
 +
| The wiki's site name
 +
 
 +
|-
 +
| <tt><nowiki>{{SERVER}}</nowiki></tt>
 +
| {{SERVER}}
 +
| domain URL
 +
 
 +
|-
 +
| <tt><nowiki>{{SERVERNAME}}</nowiki></tt>
 +
| {{SERVERNAME}}
 +
| domain name
 +
 
 +
|-
 +
| <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.
 +
 
 +
|-
 +
| <tt><nowiki>{{SCRIPTPATH}}</nowiki></tt>
 +
| {{SCRIPTPATH}}
 +
| relative script path
 +
 
 +
|-
 +
| <tt><nowiki>{{CURRENTVERSION}}</nowiki></tt>
 +
| {{CURRENTVERSION}}
 +
| The wiki's MediaWiki version.
 +
 
 +
|-
 +
| <tt><nowiki>{{CONTENTLANGUAGE}}</nowiki></tt>
 +
| {{CONTENTLANGUAGE}}
 +
| The wiki's default interface language
 +
 
 +
|-
 +
| colspan="4"| '''Latest revision to current page'''
 +
|-
 +
| <tt><nowiki>{{REVISIONID}}</nowiki></tt>
 +
| {{REVISIONID}}
 +
| Unique ID
 +
 
 +
|-
 +
| <tt><nowiki>{{REVISIONDAY}}</nowiki></tt>
 +
| {{REVISIONDAY}}
 +
| Day edit was made (unpadded number)
 +
 
 +
|-
 +
| <tt><nowiki>{{REVISIONDAY2}}</nowiki></tt>
 +
| {{REVISIONDAY2}}
 +
| Day edit was made (zero-padded number)
 +
 
 +
|-
 +
| <tt><nowiki>{{REVISIONMONTH}}</nowiki></tt>
 +
| {{REVISIONMONTH}}
 +
| Month edit was made (unpadded number)
 +
 
 +
|-
 +
| <tt><nowiki>{{REVISIONYEAR}}</nowiki></tt>
 +
| {{REVISIONYEAR}}
 +
| Year edit was made
 +
 
 +
|-
 +
| <tt><nowiki>{{REVISIONTIMESTAMP}}</nowiki></tt>
 +
| {{REVISIONTIMESTAMP}}
 +
| Timestamp as of time of edit
 +
 
 +
|-
 +
| <tt><nowiki>{{PAGESIZE:</nowiki>''page name''<nowiki>}}</nowiki></tt>
 +
| {{PAGESIZE:Help:Magic_words}}
 +
| Returns the byte size of the specified page.
 +
 
 +
|-
 +
| <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.
 +
 
 +
|-
 +
| 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.
 +
|-
 +
| <tt><nowiki>{{DEFAULTSORT:</nowiki>''sortkey''<nowiki>}}</nowiki></tt>
 +
|
 +
| Used on a categorized page, sets a default.
 +
 
 +
|}
 +
 
 +
===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>).
 +
{| class="wikitable" border="1"
 +
 
 +
|-
 +
!Variable
 +
!Output
 +
!Description
 +
 
 +
|-
 +
|colspan="4"| '''Entire wiki'''
 +
|-
 +
| <tt><nowiki>{{NUMBEROFPAGES}}</nowiki></tt>
 +
| {{NUMBEROFPAGES}}
 +
| Number of wiki pages.
 +
 
 +
|-
 +
| <tt><nowiki>{{NUMBEROFARTICLES}}</nowiki></tt>
 +
| {{NUMBEROFARTICLES}}
 +
| Number of pages in main namespace.
 +
 
 +
|-
 +
| <tt><nowiki>{{NUMBEROFFILES}}</nowiki></tt>
 +
| {{NUMBEROFFILES}}
 +
| Number of uploaded files.
 +
 
 +
|-
 +
| <tt><nowiki>{{NUMBEROFEDITS}}</nowiki></tt>
 +
| {{NUMBEROFEDITS}}
 +
| Number of page edits.
 +
 
 +
|-
 +
| <tt><nowiki>{{NUMBEROFUSERS}}</nowiki></tt>
 +
| {{NUMBEROFUSERS}}
 +
| Number of registered users.
 +
 
 +
|-
 +
| <tt><nowiki>{{NUMBEROFADMINS}}</nowiki></tt>
 +
| {{NUMBEROFADMINS}}
 +
| Number of users in the ''sysop''.
 +
 
 +
 
 +
|-
 +
| <tt><nowiki>{{PAGESINCATEGORY:</nowiki>''categoryname''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{PAGESINCAT:Help}}</nowiki></tt>
 +
| {{PAGESINCATEGORY:Help}}<br />{{PAGESINCAT:Help}}
 +
| Number of pages in the given category (replace "Help" with the relevant category name).
 +
 
 +
|-
 +
| <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 namespace (replace 2 with the relevant namespace index). E.g. <tt><nowiki>{{PAGESINNAMESPACE:</nowiki>''14''<nowiki>}}</nowiki></tt> equals the number of categories..
 +
 
 +
|}
 +
 
 +
====Page names====
 +
{| class="wikitable" border="1"
 +
 
 +
 
 +
|-
 +
!Variable
 +
! Output
 +
!Description
 +
 
 +
|-
 +
| <tt><nowiki>{{FULLPAGENAME}}</nowiki></tt>
 +
| {{FULLPAGENAME}}
 +
| Namespace and page title.
 +
 
 +
|-
 +
| <tt><nowiki>{{PAGENAME}}</nowiki></tt>
 +
| {{PAGENAME}}
 +
| Page title.
 +
 
 +
|-
 +
| <tt><nowiki>{{BASEPAGENAME}}</nowiki></tt>
 +
| {{BASEPAGENAME}}
 +
| Page title excluding the current subpage and namespace ("Title" on "Title/foo").
 +
 
 +
|-
 +
| <tt><nowiki>{{SUBPAGENAME}}</nowiki></tt>
 +
| {{SUBPAGENAME}}
 +
| The subpage title ("foo" on "Title/foo").
 +
 
 +
|-
 +
| <tt><nowiki>{{SUBJECTPAGENAME}}</nowiki></tt>
 +
| {{SUBJECTPAGENAME}}
 +
| The namespace and title of the associated content page.
 +
 
 +
|-
 +
| <tt><nowiki>{{TALKPAGENAME}}</nowiki></tt>
 +
| {{TALKPAGENAME}}
 +
| The namespace and title of the associated talk page.
 +
 
 +
|}
 +
 
 +
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>
 +
 
 +
====Namespaces====
 +
{| class="wikitable" border="1"
 +
 
 +
 
 +
! Variable
 +
! Output
 +
!Description
 +
 
 +
|-
 +
| <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
 +
 
 +
|-
 +
| <tt><nowiki>{{TALKSPACE}}</nowiki></tt>
 +
| {{TALKSPACE}}
 +
| Name of the associated talk namespace
 +
 
 +
|}
 +
 
 +
The following are URL-encoded equivalents:
 +
* <tt><nowiki>{{NAMESPACEE}}</nowiki></tt>
 +
* <tt><nowiki>{{SUBJECTSPACEE}}</nowiki></tt>
 +
* <tt><nowiki>{{TALKSPACEE}}</nowiki></tt>
 +
 
 +
==Parser Functions==
 +
 
 +
Parser functions are very similar to variables, but take one or more parameters (technically, any magic word that takes a parameter is a parser function), and the name is usually prefixed with a hash to distingush them from possible templates)
 +
 
 +
===URL data===
 +
{| class="wikitable" border="1"
 +
|-
 +
 
 +
!Variable
 +
! Output
 +
!Description
 +
 
 +
|-
 +
| <tt><nowiki>{{localurl:</nowiki>''page name''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{localurl:</nowiki>''page name''<nowiki>|</nowiki>''query string''<nowiki>}}</nowiki></tt>
 +
| {{localurl:page name}}<br />{{localurl:page name|query string}}
 +
| 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>
 +
| {{fullurl:page name}}<br />{{fullurl:page name|query_string}}
 +
| The absolute path to the title. This will also resolve prefixes.
 +
 
 +
|-
 +
| <tt><nowiki>{{filepath:</nowiki>''file name''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{filepath:file name|nowiki}}</nowiki></tt>
 +
| {{filepath:Wiki.png}}<br />{{filepath:Wiki.png|nowiki}}
 +
| The absolute URL to a media file.
 +
 
 +
|-
 +
| <tt><nowiki>{{urlencode:</nowiki>''string''<nowiki>}}</nowiki></tt>
 +
| <code>{{urlencode:x y z}}</code>
 +
| The input encoded for use in URLs.
 +
 
 +
|-
 +
| <tt><nowiki>{{anchorencode:</nowiki>''string''<nowiki>}}</nowiki></tt>
 +
| <code>{{anchorencode:x y z}}</code>
 +
| The input encoded for use in URL section anchors (after the '#' symbol in a URL).
 +
 
 +
|}
 +
 
 +
===Namespaces===
 +
<code><tt><nowiki>{{ns:}}</nowiki></tt></code> returns the localized name for the namespace with that index.
 +
 
 +
{| class="wikitable" border="1"
 +
|
 +
 
 +
!Usage
 +
!Output
 +
!Usage
 +
!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===
 +
{| class="wikitable" border="1"
 +
|-
 +
 
 +
!Usage
 +
!Output
 +
!Description
 +
 
 +
|-
 +
|-
 +
| <tt><nowiki>{{lc:</nowiki>''string''<nowiki>}}</nowiki></tt>
 +
| {{lc:TeXt tRaNsFoRm}}
 +
| The lowercase input.
 +
 
 +
|-
 +
| <tt><nowiki>{{lcfirst:</nowiki>''string''<nowiki>}}</nowiki></tt>
 +
| {{lcfirst:TeXt tRaNsFoRm}}
 +
| The input with the first character lowercase.
 +
 
 +
|-
 +
| <tt><nowiki>{{uc:</nowiki>''string''<nowiki>}}</nowiki></tt>
 +
| {{uc:TeXt tRaNsFoRm}}
 +
| The uppercase input.
 +
 
 +
|-
 +
| <tt><nowiki>{{ucfirst:</nowiki>''string''<nowiki>}}</nowiki></tt>
 +
| {{ucfirst:TeXt tRaNsFoRm}}
 +
| The input with the first character uppercase.
 +
 
 +
|-
 +
| <tt><nowiki>{{formatnum:</nowiki>''unformatted number''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{formatnum:</nowiki>''formatted number''<nowiki>|R}}</nowiki></tt>
 +
| {{formatnum:-987654321.654321}}<br />{{formatnum:-987,654,321.654321|R}}
 +
| The input with decimal and decimal group separators, and localized digit script, according to the wiki's default locale. the <tt><nowiki>|</nowiki>R</tt> parameter can be used to unformat a number, for use in mathmatical situations.
 +
 
 +
|-
 +
| <tt><nowiki>{{padleft:xyz|</nowiki>''number''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{padleft:xyz|</nowiki>''number''<nowiki>|</nowiki>''separator''<nowiki>}}</nowiki></tt>
 +
| {{padleft:xyz|5}}<br />{{padleft:xyz|5|_}}
 +
| Inserts a string of padding characters (character chosen in third parameter; default '0') of a specified length (second paramater) next to a chosen base character or variable (first parameter). The final digits or characters in the base replace the final characters in the padding; ie. <nowiki>{{padleft:44|3|0}}</nowiki> produces {{padleft:44|3}}.
 +
|-
 +
| <tt><nowiki>{{padright:xyz|</nowiki>''number''<nowiki>}}</nowiki></tt><br /><tt><nowiki>{{padright:xyz|</nowiki>''number''<nowiki>|</nowiki>''separator''<nowiki>}}</nowiki></tt>
 +
| {{padright:xyz|5}}<br />{{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>
 +
| {{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>
 +
| {{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. 
 +
 
 +
|}
 +
 
 +
===Miscellaneous===
 +
{| class="wikitable" border="1"
 +
|-
 +
 
 +
! Usage
 +
! Output
 +
! Description
 +
! Version
 +
|-
 +
| <tt><nowiki>{{int:</nowiki>''message name''<nowiki>}}</nowiki><br /><tt><nowiki>{{int:</nowiki>edit<nowiki>}}</nowiki>
 +
| {{int:edit}} <br />(''depends on user language, try: <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|uselang=fr}}#Miscellaneous fr] &bull;[{{fullurl:{{FULLPAGENAME}}|uselang=ja}}#Miscellaneous ja]</span>'')
 +
| Internationalizes (translates) the given '''int'''erface (namespace) message into the user language.
 +
|
 +
|-
 +
| <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.
 +
 
 +
|-
 +
| <tt><nowiki>{{#special:</nowiki>''special page name''<nowiki>}}</nowiki><br /><br /><nowiki>{{#special:Special:UserLogin}}</nowiki></tt>
 +
| {{#special:special page name}}<br />{{#special:userlogin}}
 +
| The localized name for the given canonical Special: page.
 +
 
 +
|-
 +
| <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>').
 +
 
 +
|-
 +
| <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]]
 +
 
 +
|}
 +
 
 +
 
 +
 
 +
[[Category:Help Pages|{{PAGENAME}}]]

Latest revision as of 05:32, 4 March 2009

Magic words are strings of codes which associates with a return value or function, such as time, site details, or page names. This page is about usage of standard magic words.

Basically there are three types of magic words:

Behaviour Switches

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

Word Description
Table of contents
__NOTOC__ Hides the table of contents (TOC).
__FORCETOC__ Forces the table of content to appear at its normal position (above the first header).
__TOC__ Places a table of contents at the word's current position (overriding __NOTOC__). If this is used multiple times, the table of contents will appear at the first word's position.
Editing
__NOEDITSECTION__ Hides the section edit links beside headings.
__NEWSECTIONLINK__ Adds a link beside the "edit" tab for adding a new section on a non-talk page.
__NONEWSECTIONLINK__ Removes the link beside the "edit" tab on pages in talk namespaces.
Categories
__NOGALLERY__ Used on a category page, replaces thumbnails in the category view with normal links.
__HIDDENCAT__ Used on a category page, hides the category from the lists of categories in its members and parent categories (there is an option in the user preferences to show them).
Language conversion
__NOCONTENTCONVERT__
__NOCC__
On wikis with language variants, don't perform any content language conversion (character and phase) in article display; for example, only show Chinese (zh) instead of variants like zh_cn, zh_tw, zh_sg, or zh_hk.
__NOTITLECONVERT__
__NOTC__
On wikis with language variants, don't perform language conversion on the title (all other content is converted).
Other
__START__ No effect.
__END__ Explicitly marks the end of the article, to prevent MediaWiki from removing trailing whitespace.
__INDEX__ Tell search engines to index the page.
__NOINDEX__ Tell search engines not to index the page (ie, do not list in search engines' results).
__STATICREDIRECT__ On redirect pages, don't allow wiki to automatically update the link when someone moves a page and checks "Update any redirects that point to the original title".

Variables

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

Date & time

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

Variable Output Description
Year
{{CURRENTYEAR}} 2020 Year
Month
{{CURRENTMONTH}} 08 Month (zero-padded number)
{{CURRENTMONTHNAME}} August Month (name)
{{CURRENTMONTHNAMEGEN}} August Month
{{CURRENTMONTHABBREV}} Aug Month (abbreviation)
Day
{{CURRENTDAY}} 13 Day of the month (unpadded number)
{{CURRENTDAY2}} 13 Day of the month (zero-padded number)
{{CURRENTDOW}} 4 Day of the week (unpadded number)
{{CURRENTDAYNAME}} Thursday Day of the week (name)
Time
{{CURRENTTIME}} 20:58 Time (24-hour HH:mm format)
{{CURRENTHOUR}} 20 Hour (24-hour zero-padded number)
Other
{{CURRENTWEEK}} 33 Week (number)
{{CURRENTTIMESTAMP}} 20200813205833 YYYYMMDDHHmmss timestamp

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

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

Technical metadata

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

Variable Output Description
Site
{{SITENAME}} iskomunidad The wiki's site name
{{SERVER}} https://iskomunidad.upd.edu.ph domain URL
{{SERVERNAME}} iskomunidad.upd.edu.ph domain name
{{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.
{{SCRIPTPATH}} relative script path
{{CURRENTVERSION}} 1.31.3 The wiki's MediaWiki version.
{{CONTENTLANGUAGE}} en The wiki's default interface language
Latest revision to current page
{{REVISIONID}} 2759 Unique ID
{{REVISIONDAY}} 4 Day edit was made (unpadded number)
{{REVISIONDAY2}} 04 Day edit was made (zero-padded number)
{{REVISIONMONTH}} 03 Month edit was made (unpadded number)
{{REVISIONYEAR}} 2009 Year edit was made
{{REVISIONTIMESTAMP}} 20090304053209 Timestamp as of time of edit
{{PAGESIZE:page name}} 0 Returns the byte size of the specified page.
{{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.
Affects page content
{{DISPLAYTITLE:title}} Format the current page's title header. The value must be equivalent to the default title: only capitalization changes and replacing spaces with underscores.
{{DEFAULTSORT:sortkey}} Used on a categorized page, sets a default.

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

Variable Output Description
Entire wiki
{{NUMBEROFPAGES}} 21,278 Number of wiki pages.
{{NUMBEROFARTICLES}} 3,710 Number of pages in main namespace.
{{NUMBEROFFILES}} 13,892 Number of uploaded files.
{{NUMBEROFEDITS}} 65,061 Number of page edits.
{{NUMBEROFUSERS}} 4,590 Number of registered users.
{{NUMBEROFADMINS}} 7 Number of users in the sysop.


{{PAGESINCATEGORY:categoryname}}
{{PAGESINCAT:Help}}
1
1
Number of pages in the given category (replace "Help" with the relevant category name).
{{PAGESINNS:index}}
{{PAGESINNAMESPACE:index}}
not enabled Number of pages in the given namespace (replace 2 with the relevant namespace index). E.g. {{PAGESINNAMESPACE:14}} equals the number of categories..

Page names

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

The following are URL-encoded equivalents:

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

Namespaces

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

The following are URL-encoded equivalents:

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

Parser Functions

Parser functions are very similar to variables, but take one or more parameters (technically, any magic word that takes a parameter is a parser function), and the name is usually prefixed with a hash to distingush them from possible templates)

URL data

Variable Output Description
{{localurl:page name}}
{{localurl:page name|query string}}
/index.php/Page_name
/index.php?title=Page_name&query string
The relative path to the title.
{{fullurl:page name}}
{{fullurl:page name|query_string}}
{{fullurl:interwiki:remote page name|query_string}}
https://iskomunidad.upd.edu.ph/index.php/Page_name
https://iskomunidad.upd.edu.ph/index.php?title=Page_name&query_string
The absolute path to the title. This will also resolve prefixes.
{{filepath:file name}}
{{filepath:file name|nowiki}}

The absolute URL to a media file.
{{urlencode:string}} x+y+z The input encoded for use in URLs.
{{anchorencode:string}} x_y_z The input encoded for use in URL section anchors (after the '#' symbol in a URL).

Namespaces

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

Usage Output Usage Output
{{ns:-2}} or {{ns:Media}} Media {{ns:-1}} or {{ns:Special}} Special
{{ns:0}} {{ns:1}} or {{ns:Talk}} Talk
{{ns:2}} or {{ns:User}} User {{ns:3}} or {{ns:User_talk}} User talk
{{ns:4}} or {{ns:Project}} Iskomunidad {{ns:5}} or {{ns:Project_talk}} Iskomunidad talk
{{ns:6}} or {{ns:File}} or {{ns:Image}} File {{ns:7}} or {{ns:File_talk}} or {{ns:Image_talk}} File talk
{{ns:8}} or {{ns:MediaWiki}} MediaWiki {{ns:9}} or {{ns:MediaWiki_talk}} MediaWiki talk
{{ns:10}} or {{ns:Template}} Template {{ns:11}} or {{ns:Template_talk}} Template talk
{{ns:12}} or {{ns:Help}} Help {{ns:13}} or {{ns:Help_talk}} Help talk
{{ns:14}} or {{ns:Category}} Category {{ns:15}} or {{ns:Category_talk}} Category talk

Formatting

Usage Output Description
{{lc:string}} text transform The lowercase input.
{{lcfirst:string}} teXt tRaNsFoRm The input with the first character lowercase.
{{uc:string}} TEXT TRANSFORM The uppercase input.
{{ucfirst:string}} TeXt tRaNsFoRm The input with the first character uppercase.
{{formatnum:unformatted number}}
{{formatnum:formatted number|R}}
-987,654,321.654321
-987654321.654321
The input with decimal and decimal group separators, and localized digit script, according to the wiki's default locale. the |R parameter can be used to unformat a number, for use in mathmatical situations.
{{padleft:xyz|number}}
{{padleft:xyz|number|separator}}
00xyz
__xyz
Inserts a string of padding characters (character chosen in third parameter; default '0') of a specified length (second paramater) next to a chosen base character or variable (first parameter). The final digits or characters in the base replace the final characters in the padding; ie. {{padleft:44|3|0}} produces 044.
{{padright:xyz|number}}
{{padright:xyz|number|separator}}
xyz00
xyz__
Identical to padleft, but adds padding characters to the right side.
{{plural:2|is|are}} are Outputs the correct given pluralization form (parameters except first) depending on the count (first parameter). Plural transformations are used for languages like Russian based on "count mod 10".
{{grammar:N|noun}} noun

Outputs the correct inflected form of the given word described by the inflection code after the colon (language-dependent). Grammar transformations are used for inflected languages like Polish.

Miscellaneous

Usage Output Description Version
{{int:message name}}
{{int:edit}}
Edit
(depends on user language, try: frja)
Internationalizes (translates) the given interface (namespace) message into the user language.
{{#language:language code}}
{{#language:ar}}
{{#language:th}}
language code
العربية
ไทย
The native name for the given language code.
{{#special:special page name}}

{{#special:Special:UserLogin}}
Special:Special page name
Special:UserLogin
The localized name for the given canonical Special: page.
{{#tag:tagname}}
{{#tag:tagname
|tag content
|parameter=value
|parameter2=value
}}
(depends on parser tag) Alias for XML-style parser or extension tags, but parsing wiki code. Attribute values can be passed as parameter values ('<tagname attribute="value">' → '{{#tag:tagname|attribute=value}}'), and inner content as an unnamed parameter ('<tagname>content</tagname>' → '{{#tag:tagname|content}}').
{{GENDER:username
|return text if user is male
|return text if user is female
|return text if user hasn't defined their gender}}
(depends on the named user's gender) A switch for the gender set in Special:Preferences