A "Magic word" is a string of text that is recognized by the MediaWiki software. It triggers the software to return the value of a function, such as dates, website statistics or page names.
Magic words are inserted directly in the source code.
Types of Magic words
There are basically four different types of Magic words:
- Behavior switch (or "Double underscore"):
__TOC__
- Variable:
{{FULLPAGENAME}}
- Tag:
<gallery>
- Parser function:
{{#ifeq:x|y|true|false}}
Behavior switch
Behaviour switchers allow you to control the appearance or behaviour of a page. It is also known as "double underscore".
It is used to specify desired omissions or insertions in the content. Behavioural switches can theoretically be entered anywhere in the wikicode, but this depends on the function. For example, the magic word that creates a table of contents is typically at the top of the article.
Most behavioural switches can be inserted via the Options () menu item in the visual editor.
Behaviour switch | Explanation |
---|---|
__FORCETOC__ | Forces a table of contents in the usual place at the top of the page (before the first heading) |
__HIDETITLE__ | Hides the title area of a page. This is often used on portal pages. |
__NEWSECTIONLINK__ | Inserts a link (usually "+") next to the "Edit" link, which can be used to create a new section (only on non-discussion pages) |
__NODISCUSSION__ | Hides the discussion section at the bottom of the page. |
__NOEDITSECTION__ | Hides the "Edit" link next to a heading. |
__NOTOC__ | Hides the table of contents (TOC) on this page |
__TOC__ | You can use this to move the table of contents to any position in the article. If a __NOTOC__ exists, this will be "overwritten". However, only one table of contents can be inserted. If several are inserted, only the first (topmost) one is displayed. |
__NOSTASH__ | Hides the section for file attachments at the bottom of the page |
Variable
Variables contain (simple) dynamic data. If a template name conflicts with a variable, the variable is used. For example, you have the variable {{PAGENAME}}
. In that case, you have to transclude the template with the same name as {{Template:PAGENAME}}
.
Variable | Output | Description |
---|---|---|
{{SITENAME}} | BlueSpice Helpdesk | Name of the wiki |
{{CURRENTTIME}} | 08:13 | Time (24-hour HH:mm format) |
{{CURRENTDAY}} | 23 | Current day (no preceding zero) |
{{CURRENTMONTH}} | 05 | Month (with preceding zero) |
{{NUMBEROFARTICLES}} | 595 | Shows the number of all existing articles in the wiki (in the main namespace) |
{{NAMESPACE}} | Manual | Shows the namespace of the article |
{{PAGENAME}} | MagicWords | Shows the page name as it was created (cf. changing article titles) |
Parser Function
Characteristics of a parser function
- Purpose: simple "programming language" for page content (mainly in templates)
- Syntax:
{{#if:{{{field|}}} | {{{field|}}} | N/A }}
Description
Parser functions are similar to variables, but take one or more parameters.Example:
{{#ifeq:{{{type}}}|warning
|This is a warning!
|
}}
They are used for simple logic only, since they are hard to read and to maintain on a larger scale. If complex logic is required, consider Lua scripts in the "Module" namespace (mediawiki.org/wiki/Extension:Scribunto) and invoke using {{#invoke:...}}
Parser functions can also be "tag-like", e.g. {{#ask:...}}
from SemanticMediaWiki. For more information, refer to the MediaWiki help pages mediawiki.org/wiki/Help:Extension:ParserFunctions and mediawiki.org/wiki/Help:Magic_words#Parser_functions.
Tag
Characteristics of a tag
- Purpose: often used for custom development to process dynamic content
- Syntax:
<smartlist />
Description
Tags are implemented in PHP as part of a MediaWiki extension. Tags with "bs:" prefix come from BlueSpice. All others come from MediaWiki or from third-party extensions, e.g. the extension SyntaxHighlight.