#expr syntaxMediaWiki provides a standard text markup that can be easily customized.Extensions can customize wiki markup by:
<tag>),template ({{...}}), or link markup ([[...]]).The simplest way to extend wiki markup is by adding to a standard token type using one of these features.
A variable calls a PHP function that outputs a string ofWikitext that replaces the variable on the page.Variables are usually used to insert system information into wiki markup, such as the current time or the current page.
Syntax example:
{{VARIABLENAME}}
To define a variable, seeManual:Variables.For a list of extensions that define custom variables, seeCategory:Variable extensions.
Like variables, a parser function calls a PHP function and outputs a wikitext string that replaces the parser function on the page.Unlike variables, a parser function can pass parameters to the PHP function.Parser functions are used to handle wikitext generation that involves logic that is too complex or confusing to write using templates.
Syntax example:
{{#functionname: param1| param2}}
To define a parser function, seeManual:Parser functions.For a list of extensions that define custom parser functions, seeCategory:Parser function extensions.
Unlike variables and parser functions, which output wikitext, parser tags output HTML.A parser tag is anXML tag that calls a PHP function, parses the contents of the tag, and outputs HTML that replaces the tag and its contents on the page.Parser tags can also pass arguments to the PHP function.For example,<syntaxhighlight> is a parser tag defined byExtension:SyntaxHighlight.
Syntax example:
<tagnameparam1name="param1value"param2name="param2value">sometext</tagname>
To define a parser tag, seeManual:Tag extensions.For a list of extensions that define custom parser tags, seeCategory:Tag extensions.
A behavior switch calls a PHP function, but, unlike other methods of extending wiki markup, behavior switches usually do not output any content.Instead, they change the behavior of the page or set a page property.For example, adding__NOTOC__ to a page hides the table of contents.
Syntax example:
__SWITCHNAME__
To define a behavior switch, seeManual:Magic words.For a list of extensions that define custom behavior switches, seeHelp:Magic words.
Link markup customizations change the way MediaWiki interprets internal links.
Syntax example:
[[ ...]]
For a list of extensions that define custom link markup, seeCategory:Link markup extensions.
To add new token types or to change the entire markup strategy, implementers need to add functions to one or more of the various parser and page outputhooks:
See alsoCategory:Extensions by hook usage.