{
	"behaviorSwitches": [
		{
			"aliases": [
				"notoc"
			],
			"description": "Hides the table of contents (TOC)."
		},
		{
			"aliases": [
				"forcetoc"
			],
			"description": "Forces the table of contents to appear at its normal position (before the first header, overriding `__NOTOC__`)."
		},
		{
			"aliases": [
				"toc"
			],
			"description": "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."
		},
		{
			"aliases": [
				"noeditsection"
			],
			"description": "Hides the section edit links beside headings. Use of this in a template will extend the effect to that template, the pages it's included on, and any other templates included on the same page."
		},
		{
			"aliases": [
				"newsectionlink"
			],
			"description": "Adds a link beside the \"Edit\" tab for adding a new section on a non-talk page."
		},
		{
			"aliases": [
				"nonewsectionlink"
			],
			"description": "Removes the link beside the \"Edit\" tab on pages in talk namespaces."
		},
		{
			"aliases": [
				"nogallery"
			],
			"description": "Used on a category page, replaces thumbnails in the category view with normal links."
		},
		{
			"aliases": [
				"hiddencat"
			],
			"description": "Used on a category page, hides the category from the lists of categories in its members and subcategories (there is an option in the user preferences to show them)."
		},
		{
			"aliases": [
				"expectunusedcategory"
			],
			"description": "Used on a category page, removes the category from Special:UnusedCategories."
		},
		{
			"aliases": [
				"nocontentconvert",
				"nocc"
			],
			"description": "On wikis with language variants, don't perform any content language conversion in article display."
		},
		{
			"aliases": [
				"notitleconvert",
				"notc"
			],
			"description": "On wikis with language variants, don't perform language conversion on the title (all other content is converted)."
		},
		{
			"aliases": [
				"index"
			],
			"description": "Tell search engines to index the page."
		},
		{
			"aliases": [
				"noindex"
			],
			"description": "Tell search engines not to index the page (i.e. do not list in search engines' results)."
		},
		{
			"aliases": [
				"staticredirect"
			],
			"description": "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\"."
		},
		{
			"aliases": [
				"expectunusedtemplate"
			],
			"description": "Used on a template page, removes the page from Special:UnusedTemplates."
		},
		{
			"aliases": [
				"noglobal"
			],
			"description": "Disables the global user page. If present on the central user page, will prevent it from being displayed on remote wikis, and it also determines whether a link to a user page on remote wiki should be red or blue."
		},
		{
			"aliases": [
				"disambig"
			],
			"description": "Identifies a disambiguation page."
		},
		{
			"aliases": [
				"archivedtalk"
			],
			"description": "Hides \"reply\" links from discussions on archived pages."
		},
		{
			"aliases": [
				"notalk"
			],
			"description": "Makes a page in a talk namespace not be treated like a talk page."
		}
	],
	"parserFunctions": [
		{
			"aliases": [
				"localurl"
			],
			"signatures": [
				[
					{
						"label": "page name"
					}
				],
				[
					{
						"label": "page name"
					},
					{
						"label": "query string"
					}
				]
			],
			"description": "The relative path to the title."
		},
		{
			"aliases": [
				"localurle"
			],
			"signatures": [
				[
					{
						"label": "page name"
					}
				],
				[
					{
						"label": "page name"
					},
					{
						"label": "query string"
					}
				]
			],
			"description": "The percent-encoded relative path to the title."
		},
		{
			"aliases": [
				"fullurl"
			],
			"signatures": [
				[
					{
						"label": "page name"
					}
				],
				[
					{
						"label": "page name"
					},
					{
						"label": "query string"
					}
				]
			],
			"description": "A protocol-relative path to the title, which depends on the configuration setting for the local wiki (and so may or may not start with `http(s)://`). This will also resolve [interwiki](https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Interwiki) prefixes. **Note:** Unbracketed (plain) protocol-relative links are not automagically linked."
		},
		{
			"aliases": [
				"fullurle"
			],
			"signatures": [
				[
					{
						"label": "page name"
					}
				],
				[
					{
						"label": "page name"
					},
					{
						"label": "query string"
					}
				]
			],
			"description": "A percent-encoded protocol-relative path to the title, which depends on the configuration setting for the local wiki (and so may or may not start with `http(s)://`). This will also resolve [interwiki](https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Interwiki) prefixes. **Note:** Unbracketed (plain) protocol-relative links are not automagically linked."
		},
		{
			"aliases": [
				"canonicalurl"
			],
			"signatures": [
				[
					{
						"label": "page name"
					}
				],
				[
					{
						"label": "page name"
					},
					{
						"label": "query string"
					}
				]
			],
			"description": "The absolute path to the title, using the canonical URL. This will also resolve [interwiki](https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Interwiki) prefixes."
		},
		{
			"aliases": [
				"canonicalurle"
			],
			"signatures": [
				[
					{
						"label": "page name"
					}
				],
				[
					{
						"label": "page name"
					},
					{
						"label": "query string"
					}
				]
			],
			"description": "The percent-encoded absolute path to the title, using the canonical URL. This will also resolve [interwiki](https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Interwiki) prefixes."
		},
		{
			"aliases": [
				"filepath"
			],
			"signatures": [
				[
					{
						"label": "file name"
					}
				],
				[
					{
						"label": "file name"
					},
					{
						"label": "nowiki",
						"const": true
					}
				],
				[
					{
						"label": "file name"
					},
					{
						"label": "thumbnail size"
					}
				]
			],
			"description": "A protocol-relative path to the full size or thumbnail of a media file."
		},
		{
			"aliases": [
				"urlencode"
			],
			"signatures": [
				[
					{
						"label": "string"
					}
				],
				[
					{
						"label": "string"
					},
					{
						"label": "QUERY",
						"const": true
					}
				],
				[
					{
						"label": "string"
					},
					{
						"label": "WIKI",
						"const": true
					}
				],
				[
					{
						"label": "string"
					},
					{
						"label": "PATH",
						"const": true
					}
				]
			],
			"description": "The input encoded for use in URLs.\n\nEncoding:\n|code|space|\n|:-:|:-:|\n|*none*|+|\n|QUERY|+|\n|WIKI|_|\n|PATH|%20|"
		},
		{
			"aliases": [
				"anchorencode"
			],
			"signatures": [
				[
					{
						"label": "string"
					}
				]
			],
			"description": "The input encoded for use in URL section anchors (after the “#” symbol in a URL)."
		},
		{
			"aliases": [
				"ns"
			],
			"signatures": [
				[
					{
						"label": "index"
					}
				],
				[
					{
						"label": "canonical name or local alias"
					}
				]
			],
			"description": "The current localized name for the [namespace](https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Namespace).\n\nThe main namespace has no name, i.e. `{{ns:0}}` returns an empty string."
		},
		{
			"aliases": [
				"nse"
			],
			"signatures": [
				[
					{
						"label": "index"
					}
				],
				[
					{
						"label": "canonical name or local alias"
					}
				]
			],
			"description": "It returns the current localized name for the [namespace](https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Namespace), but it replaces spaces with underscores, making it usable in external links."
		},
		{
			"aliases": [
				"formatnum"
			],
			"signatures": [
				[
					{
						"label": "unformatted number"
					}
				],
				[
					{
						"label": "formatnum-formatted number"
					},
					{
						"label": "R",
						"const": true
					}
				],
				[
					{
						"label": "unformatted number"
					},
					{
						"label": "NOSEP",
						"const": true
					}
				],
				[
					{
						"label": "unformatted number"
					},
					{
						"label": "LOSSLESS",
						"const": true
					}
				]
			],
			"description": "Takes an unformatted number (Arabic, no group separators and `.` as decimal separator) and outputs it in the localized digit script and formatted with decimal and decimal group separators, according to the page language.\n\nThe `|R` parameter can be used to reverse the behavior, for use in mathematical situations: it's reliable and should be used only to deformat numbers which are known to be formatted exactly as formatnum formats them with the wiki's locale.\n\nThe `NOSEP` (\"no separators\") parameter means that no group / decimal separators are changed; formatnum will only transform the digits themselves in languages which don't use the [Hindu–Arabic numeral system](https://en.wikipedia.org/wiki/Hindu%E2%80%93Arabic_numeral_system). `NOSEP` can also prevent non-standard digit groupings you wouldn't expect.\n\nBy default, the formatted number may be slightly imprecise. The `LOSSLESS` parameter can be added to instead use the unformatted (exact) number in this case."
		},
		{
			"aliases": [
				"#dateformat",
				"#formatdate"
			],
			"signatures": [
				[
					{
						"label": "date"
					}
				],
				[
					{
						"label": "date"
					},
					{
						"label": "format"
					}
				]
			],
			"description": "Formats an unlinked date based on user \"date format\" preference, and adds metadata tagging it as a formatted date. For logged-out users and those who have not set a date format in their preferences, dates can be given a default: `mdy`, `dmy`, `ymd`, `ISO 8601` (all case sensitive). If only the month and day are given, only `mdy` and `dmy` are valid. If a format is not specified or is invalid, the input format is used as a default. If the supplied date is not recognized as a valid date (specifically, if it contains any metadata such as from a nested use of these or similar templates), it is rendered unchanged, and no (additional) metadata is generated."
		},
		{
			"aliases": [
				"lc"
			],
			"signatures": [
				[
					{
						"label": "string"
					}
				]
			],
			"description": "The lowercase input."
		},
		{
			"aliases": [
				"lcfirst"
			],
			"signatures": [
				[
					{
						"label": "string"
					}
				]
			],
			"description": "The input with the very first character lowercase."
		},
		{
			"aliases": [
				"uc"
			],
			"signatures": [
				[
					{
						"label": "string"
					}
				]
			],
			"description": "The uppercase input."
		},
		{
			"aliases": [
				"ucfirst"
			],
			"signatures": [
				[
					{
						"label": "string"
					}
				]
			],
			"description": "The input with the very first character uppercase."
		},
		{
			"aliases": [
				"padleft"
			],
			"signatures": [
				[
					{
						"label": "string"
					},
					{
						"label": "string length"
					}
				],
				[
					{
						"label": "string"
					},
					{
						"label": "string length"
					},
					{
						"label": "padding string"
					}
				]
			],
			"description": "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. The padding string may be truncated if its length does not evenly divide the required number of characters."
		},
		{
			"aliases": [
				"padright"
			],
			"signatures": [
				[
					{
						"label": "string"
					},
					{
						"label": "string length"
					}
				],
				[
					{
						"label": "string"
					},
					{
						"label": "string length"
					},
					{
						"label": "padding string"
					}
				]
			],
			"description": "Inserts a string of padding characters (character chosen in third parameter; default \"0\") of a specified length (second parameter) to the right side of a chosen base character or variable (first parameter). The padding string may be truncated if its length does not evenly divide the required number of characters."
		},
		{
			"aliases": [
				"bidi"
			],
			"signatures": [
				[
					{
						"label": "string"
					}
				]
			],
			"description": "Wraps the text in a script-appropriate directionality marker (either left-to-right (U+202A) or right-to-left (U+202B)) and a pop directionality formatting character (U+202C), to ensure directionality safety when using a mix of scripts in running text."
		},
		{
			"aliases": [
				"#language"
			],
			"signatures": [
				[],
				[
					{
						"label": "language code"
					}
				],
				[
					{
						"label": "language code"
					},
					{
						"label": "target language code"
					}
				]
			],
			"description": "The full name of the language for the given [language code](https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Language#Language_code): native name (language autonym) by default, name translated in target language if a target language code is specified. [Extension:CLDR](https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:CLDR) must be installed for the translation to work. If no argument is given, returns the name of the *target language* (for articles, the content language; for messages, the user language)."
		},
		{
			"aliases": [
				"#bcp47"
			],
			"signatures": [
				[],
				[
					{
						"label": "language code"
					}
				]
			],
			"description": "The [IETF BCP-47](https://en.wikipedia.org/wiki/IETF_language_tag) language tag for the given [language code](https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Language#Language_code). If no argument is given, returns the tag of the *target language* (for articles, the content language; for messages, the user language)."
		},
		{
			"aliases": [
				"#dir"
			],
			"signatures": [
				[],
				[
					{
						"label": "language code"
					}
				],
				[
					{
						"label": "language code"
					},
					{
						"label": "bcp47",
						"const": true
					}
				]
			],
			"description": "The directionality for the given [language code](https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Language#Language_code), either `rtl` or `ltr`. If the optional second argument is `bcp47`, then the first argument is interpreted as a [BCP-47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag). If no argument is given, returns the directionality of the *target language* (for articles, the content language; for messages, the user language)."
		},
		{
			"aliases": [
				"plural"
			],
			"signatures": [
				[
					{
						"label": "number"
					},
					{
						"label": "singular form"
					},
					{
						"label": "plural form"
					}
				]
			],
			"description": "Outputs a plural form appropriate for the given language. For English, the singular form (second parameter) is used if the absolute value of the first parameter is an expression equalling one; and the plural form (third parameter) is used otherwise. See further documentation [on translatewiki.net](https://translatewiki.net/wiki/Plural#Plural_in_MediaWiki)."
		},
		{
			"aliases": [
				"grammar"
			],
			"signatures": [
				[
					{
						"label": "inflection code"
					},
					{
						"label": "noun"
					}
				]
			],
			"description": "Outputs the correct inflected form of the given word described by the inflection code after the colon. Grammar transformations are used for inflected languages like Polish. See also [grammar documentation on translatewiki.net](https://translatewiki.net/wiki/Grammar)."
		},
		{
			"aliases": [
				"gender"
			],
			"signatures": [
				[
					{
						"label": "username"
					},
					{
						"label": "gender-neutral text"
					}
				],
				[
					{
						"label": "username"
					},
					{
						"label": "male text"
					},
					{
						"label": "female text"
					},
					{
						"label": "text for unspecified gender"
					}
				],
				[
					{
						"label": "",
						"const": true
					},
					{
						"label": "male text"
					},
					{
						"label": "female text"
					},
					{
						"label": "text for unspecified gender"
					}
				],
				[
					{
						"label": ".",
						"const": true
					},
					{
						"label": "male text"
					},
					{
						"label": "female text"
					},
					{
						"label": "text for unspecified gender"
					}
				]
			],
			"description": "A switch for the gender set by the user in Special:Preferences.\n\nIf only two parameters are used (for male and female text) but the 3rd parameter is omitted, and user hasn't defined their gender, then the first parameter (`male text`) is returned as a default.\n\nA blank username field (`{{GENDER:|`) means the current user, but can be used only in interface messages (MediaWiki namespace).\n\nUsing a dot (`.`) in the username field produces the output corresponding to the default user gender on this wiki."
		},
		{
			"aliases": [
				"#formal"
			],
			"signatures": [
				[
					{
						"label": "informal text"
					},
					{
						"label": "formal text"
					}
				]
			],
			"description": "A switch for the formality index set by the configuration for certain languages. The default formality index is 0 (informal), but some language codes have the formality index 1 (formal). For these languages, what is displayed for the end user depends on whether their interface language is set to the formal or informal language code."
		},
		{
			"aliases": [
				"int"
			],
			"signatures": [
				[
					{
						"label": "message name"
					}
				],
				[
					{
						"label": "message name"
					},
					{
						"label": "...parameters",
						"rest": true
					}
				]
			],
			"description": "Internationalizes (translates) the given **int**erface (MediaWiki namespace) message into the user language.\n\nYou may also use parameters with translations.\n\nParameters are designated in messages with: $1, $2, $3, etc."
		},
		{
			"aliases": [
				"msgnw"
			],
			"signatures": [
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "The unexpanded wikitext is rendered (more or less, for details see [help](https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Templates#Usage))."
		},
		{
			"aliases": [
				"#interwikilink"
			],
			"signatures": [
				[
					{
						"label": "link prefix"
					},
					{
						"label": "page title"
					},
					{
						"label": "link text"
					}
				]
			],
			"description": "Creates an interwiki link."
		},
		{
			"aliases": [
				"#interlanguagelink"
			],
			"signatures": [
				[
					{
						"label": "link prefix"
					},
					{
						"label": "page title"
					}
				]
			],
			"description": "Creates an interlanguage link."
		},
		{
			"aliases": [
				"#isbn"
			],
			"signatures": [
				[
					{
						"label": "ISBN number"
					}
				]
			],
			"description": "Create a link to [Special:Booksources](https://www.mediawiki.org/wiki/Special:Booksources) with the given ISBN number. This provides the same functionality as the deprecated [ISBN magic link](https://en.wikipedia.org/wiki/Help:Magic_links)."
		},
		{
			"aliases": [
				"#special"
			],
			"signatures": [
				[
					{
						"label": "special page name"
					}
				]
			],
			"description": "The localized name for the given canonical Special: page."
		},
		{
			"aliases": [
				"#speciale"
			],
			"signatures": [
				[
					{
						"label": "special page name"
					}
				]
			],
			"description": "The localized and URL-encoded name for the given canonical Special: page."
		},
		{
			"aliases": [
				"#tag"
			],
			"signatures": [
				[
					{
						"label": "tag name"
					},
					{
						"label": "content"
					},
					{
						"label": "attribute=value",
						"rest": true
					}
				]
			],
			"description": "Alias for XML-style MediaWiki parser tags or extension tags. It allows a [pre-save transform of wiki code](https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Tag_extensions#How_do_I_render_wikitext_in_my_extension?) and parser functions within tags before the tag is processed. It also prevents parsing of tags in conditional paths that aren't executed (like in `#if` statements). Content between tags is passed as the first parameter, and any attributes for the tags can be passed as subsequent parameters."
		},
		{
			"aliases": [
				"#expr"
			],
			"signatures": [
				[
					{
						"label": "expression"
					}
				]
			],
			"description": "This function evaluates a mathematical expression and returns the calculated value.\n\nWhen evaluating using boolean algebra, zero evaluates to `false`, and any nonzero value, positive or negative, evaluates to `true`.\n\nAn empty input expression returns an empty string. Invalid expressions return one of several error messages, which can be caught using the `#iferror` function.\n\nThe available operators are listed below, in order of precedence:\n|Type|Operators|\n|-|-|\n|Grouping (parenthesis)|`( )`|\n|Numbers|`1234.5` `e` (2.718) `pi` (3.142)|\n| |binary operator `e`, unary `+`, `-`|\n|Unary|`not` `ceil` `trunc` `floor` `abs` `exp` `ln` `sin` `cos` `tan` `acos` `asin` `atan` `sqrt`|\n|Binary|`^`|\n|Binary|`*` `/` `div` `mod` `fmod`|\n|Binary|`+` `-`|\n|Round|`round`|\n|Logic|`=` `!=` `<>` `>` `<` `>=` `<=`|\n|Logic|`and`|\n|Logic|`or`|"
		},
		{
			"aliases": [
				"#if"
			],
			"signatures": [
				[
					{
						"label": "test string"
					},
					{
						"label": "value if test string is not empty"
					},
					{
						"label": "value if test string is empty or only white space"
					}
				]
			],
			"description": "This function evaluates a test string and determines whether or not it is empty. A test string containing only white space is considered to be empty."
		},
		{
			"aliases": [
				"#ifeq"
			],
			"signatures": [
				[
					{
						"label": "string 1"
					},
					{
						"label": "string 2"
					},
					{
						"label": "value if identical"
					},
					{
						"label": "value if different"
					}
				]
			],
			"description": "This parser function compares two input strings, determines whether they are identical, and returns one of two strings based on the result. If more comparisons and output strings are required, consider using `#switch`.\n\nIf both strings are valid numerical values, the strings are compared numerically.\n\nOtherwise, the comparison is made as text; this comparison is case-sensitive."
		},
		{
			"aliases": [
				"#iferror"
			],
			"signatures": [
				[
					{
						"label": "test string"
					},
					{
						"label": "value if error"
					},
					{
						"label": "value if correct"
					}
				]
			],
			"description": "This function takes an input string and returns one of two results; the function evaluates to `true` if the input string contains an HTML object with `class=\"error\"`, as generated by other parser functions such as `#expr`, `#time` and `#rel2abs`, template errors such as loops and recursions, and other \"failsoft\" parser errors.\n\nSome errors may cause a tracking category to be added, using `{{#iferror:}}` will not suppress the addition of the category."
		},
		{
			"aliases": [
				"#ifexpr"
			],
			"signatures": [
				[
					{
						"label": "expression"
					},
					{
						"label": "value if true"
					},
					{
						"label": "value if false"
					}
				]
			],
			"description": "This function evaluates a mathematical expression and returns one of two strings depending on the boolean value of the result.\n\nThe `expression` input is evaluated exactly as for `#expr`, with the same operators being available. The output is then evaluated as a boolean expression.\n\nAn empty input expression evaluates to `false`.\n\nAn empty or wrong input expression (an error message is treated as an empty string; it is not equal to zero, so we get `value if true`)."
		},
		{
			"aliases": [
				"#ifexist"
			],
			"signatures": [
				[
					{
						"label": "page title"
					},
					{
						"label": "value if exists"
					},
					{
						"label": "value if doesn't exist"
					}
				]
			],
			"description": "**[Expensive]** This function takes an input string, interprets it as a page title, and returns one of two values depending on whether or not the page exists on the local wiki.\n\nThe function evaluates to `true` for [system messages](https://www.mediawiki.org/wiki/Special:MyLanguage/Help:System_message) that have been customized, and for [special pages](https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Special_pages) that are defined by the software.\n\nIf a page checks a target using `#ifexist:`, then that page will appear in the Special:WhatLinksHere list for the target page.\n\n`#ifexist:` does not work with interwiki links.\n\nA page that does not exist and is tested for using #ifexist will end up on the [Wanted Pages](https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:WantedPages)."
		},
		{
			"aliases": [
				"#rel2abs"
			],
			"signatures": [
				[
					{
						"label": "path"
					}
				],
				[
					{
						"label": "path"
					},
					{
						"label": "base path"
					}
				]
			],
			"description": "This function converts a relative file path into an absolute filepath.\n\nIf the `base path` is not specified, the full page name of the page will be used instead."
		},
		{
			"aliases": [
				"#switch"
			],
			"signatures": [
				[
					{
						"label": "comparison string"
					},
					{
						"label": "case=result",
						"rest": true
					}
				]
			],
			"description": "This function compares one input value against several test cases, returning an associated string if a match is found.\n\nThe default result must be the last parameter and must not contain a raw equals sign (an equals sign without `{{}}`). The default result is returned if no `case` string matches the `comparison string`. If as case matches however, its associated string will be returned.\n\nAlternatively, the default result may be explicitly declared with a `case` string of \"`#default`\". Default results declared in this way may be placed anywhere within the function.\n\nIf the default parameter is omitted and no match is made, no `result` is returned.\n\nIt is possible to have 'fall through' values, where several `case` strings return the same `result` string. This minimizes duplication.\n\nAs with `#ifeq`, the comparison is made numerically if both the comparison string and the case string being tested are numeric; or as a case-sensitive string otherwise.\n\nA `case` string may be empty.\n\nOnce a match is found, subsequent `cases` are ignored."
		},
		{
			"aliases": [
				"#time"
			],
			"signatures": [
				[
					{
						"label": "format string"
					}
				],
				[
					{
						"label": "format string"
					},
					{
						"label": "date/time object"
					}
				],
				[
					{
						"label": "format string"
					},
					{
						"label": "date/time object"
					},
					{
						"label": "language code"
					}
				],
				[
					{
						"label": "format string"
					},
					{
						"label": "date/time object"
					},
					{
						"label": "language code"
					},
					{
						"label": "local"
					}
				]
			],
			"description": "This parser function takes a date and/or time (in the Gregorian calendar) and formats it according to the syntax given. A date/time object can be specified; the default is the value of the magic word `{{CURRENTTIMESTAMP}}` – that is, the time the page was last rendered into HTML.\n\nAny character in the formatting string that is not recognized is passed through unaltered. There are also two ways to escape characters within the formatting string:\n1. A backslash followed by a formatting character is interpreted as a single literal character.\n2. Characters enclosed in double quotes are considered literal characters, and the quotes are removed.\n\nIn addition, the digraph `xx` is interpreted as a single literal \"x\".\n\nThe `date/time object` can be in any format accepted by PHP's [strtotime()](https://php.net/function.strtotime) function.\n\nThe `language code` in [ISO 639-3](https://en.wikipedia.org/wiki/ISO_639-3) allows the string to be displayed in the chosen language.\n\nThe `local` parameter specifies if the `date/time object` refers to the local timezone or to UTC. This is a boolean parameters: its value is determined by casting the value of the argument (see the [official PHP documentation](https://php.net/language.types.boolean#language.types.boolean.casting) for details on how string are cast to boolean values)."
		},
		{
			"aliases": [
				"#timel"
			],
			"signatures": [
				[
					{
						"label": "format string"
					}
				],
				[
					{
						"label": "format string"
					},
					{
						"label": "date/time object"
					}
				],
				[
					{
						"label": "format string"
					},
					{
						"label": "date/time object"
					},
					{
						"label": "language code"
					}
				]
			],
			"description": "This function is a syntactic shortcut that operates identically to `{{#time: ... }}` with the `local` parameter set to `true`, so it always uses the preferred time zone of the user or the configured time zone of the wiki."
		},
		{
			"aliases": [
				"#timef"
			],
			"signatures": [
				[
					{
						"label": "data/time object"
					}
				],
				[
					{
						"label": "data/time object"
					},
					{
						"label": "format type"
					}
				],
				[
					{
						"label": "data/time object"
					},
					{
						"label": "format type"
					},
					{
						"label": "language code"
					}
				]
			],
			"description": "This function formats a date using a standard format for the selected language.\n\nThe format of the `date/time object` is the same as for `#time`. If it is empty, the time when the page was rendered is used.\n\nThe `format type` may be one of:\n\n- `time`: Only the time is shown.\n- `date`: Only the date is shown.\n- `both`: Both the time and date are shown.\n- `pretty`: Only the date is shown, using an abbreviated format which does not include the year. Not all languages support this; if it is not supported, the \"date\" format is used.\n\nIf the `format type` is not specified, both the time and date will be show, as if `both` were specified.\n\nIf the `language code` is not specified, the page's content language is used."
		},
		{
			"aliases": [
				"#timefl"
			],
			"signatures": [
				[
					{
						"label": "data/time object"
					}
				],
				[
					{
						"label": "data/time object"
					},
					{
						"label": "format type"
					}
				],
				[
					{
						"label": "data/time object"
					},
					{
						"label": "format type"
					},
					{
						"label": "language code"
					}
				]
			],
			"description": "This function is the same as `#timef` except that it uses the local timezone of the wiki."
		},
		{
			"aliases": [
				"#titleparts"
			],
			"signatures": [
				[
					{
						"label": "page name"
					},
					{
						"label": "number of segments to return"
					},
					{
						"label": "segment to start at"
					}
				]
			],
			"description": "This function separates a page title into segments based on slashes, then returns some of those segments as output.\n\nIf the `number of segments to return` parameter is not specified, it defaults to \"0\", which returns all the segments from the `segment to start at` to the end (included). If the `segment to start at` parameter is not specified or is \"0\", it defaults to \"1\".\n\nNegative values are accepted for both values. Negative values for the `number of segments to return` parameter effectively 'strips' segments from the end of the string. Negative values for the `first segment to return` translates to \"start with this segment counting from the right\"."
		},
		{
			"aliases": [
				"#len"
			],
			"signatures": [
				[
					{
						"label": "string"
					}
				]
			],
			"description": "The #len function returns the length of the given string."
		},
		{
			"aliases": [
				"#pos"
			],
			"signatures": [
				[
					{
						"label": "string"
					},
					{
						"label": "search term"
					},
					{
						"label": "offset"
					}
				]
			],
			"description": "The #pos function returns the position of a given search term within the string.\n\nThe `offset` parameter, if specified, tells a starting position where this function should begin searching.\n\nIf the `search term` is found, the return value is a zero-based integer of the first position within the `string`.\n\nIf the `search term` is not found, the function returns an empty string."
		},
		{
			"aliases": [
				"#rpos"
			],
			"signatures": [
				[
					{
						"label": "string"
					},
					{
						"label": "search term"
					}
				]
			],
			"description": "The #rpos function returns the last position of a given search term within the string.\n\nIf the `search term` is found, the return value is a zero-based integer of its last position within the `string`.\n\nIf the `search term` is not found, the function returns -1. "
		},
		{
			"aliases": [
				"#sub"
			],
			"signatures": [
				[
					{
						"label": "string"
					},
					{
						"label": "start"
					},
					{
						"label": "length"
					}
				]
			],
			"description": "The #sub function returns a substring from the given string.\n\nThe `start` parameter, if positive (or zero), specifies a zero-based index of the first character to be returned.\n\nIf the `start` parameter is negative, it specifies how many characters from the end should be returned.\n\nThe `length` parameter, if present and positive, specifies the maximum length of the returned string.\n\nIf the `length` parameter is negative, it specifies how many characters will be omitted from the end of the string."
		},
		{
			"aliases": [
				"#count"
			],
			"signatures": [
				[
					{
						"label": "string"
					},
					{
						"label": "substring"
					}
				]
			],
			"description": "The #count function returns the number of times a given substring appears within the provided text."
		},
		{
			"aliases": [
				"#replace"
			],
			"signatures": [
				[
					{
						"label": "string"
					},
					{
						"label": "search term"
					},
					{
						"label": "replacement term"
					}
				]
			],
			"description": "The #replace function returns the given string with all occurrences of a search term replaced with a replacement term.\n\nIf the `search term` is unspecified or empty, a single space will be searched for.\n\nIf the `replacement term` is unspecified or empty, all occurrences of the `search term` will be removed from the `string`."
		},
		{
			"aliases": [
				"#explode"
			],
			"signatures": [
				[
					{
						"label": "string"
					},
					{
						"label": "delimiter"
					},
					{
						"label": "position"
					},
					{
						"label": "limit"
					}
				]
			],
			"description": "The #explode function splits the given string into pieces and then returns one of the pieces. The pieces are **0-indexed**.\n\nThe `delimiter` parameter specifies a string to be used to divide the `string` into pieces. This `delimiter` string is then not part of any piece, and when two `delimiter` strings are next to each other, they create an empty piece between them. If this parameter is not specified, a single space is used. The `limit` parameter allows you to limit the number of parts that the value is split into, with all remaining text included in the final part.\n\nThe `position` parameter specifies which piece is to be returned. Pieces are counted from 0. If this parameter is not specified, the first piece is used (piece with number 0). When a negative value is used as `position`, the pieces are counted from the end. In this case, piece number -1 means the last piece.\n\nThe return value is the *position*-th piece. If there are fewer pieces than the `position` specifies, an empty string is returned. "
		},
		{
			"aliases": [
				"#urldecode"
			],
			"signatures": [
				[
					{
						"label": "value"
					}
				]
			],
			"description": "`#urldecode` converts the escape characters from an '[URL encoded](https://en.wikipedia.org/wiki/URL_encoding)' string back to readable text."
		},
		{
			"aliases": [
				"#invoke"
			],
			"signatures": [
				[
					{
						"label": "module name"
					},
					{
						"label": "function name"
					},
					{
						"label": "args",
						"rest": true
					}
				]
			],
			"description": "Call a function from a Lua module"
		},
		{
			"aliases": [
				"#while"
			],
			"signatures": [
				[
					{
						"label": "",
						"const": true
					},
					{
						"label": "condition"
					},
					{
						"label": "block statement"
					}
				]
			],
			"description": "`{{#while}}` performs a loop (i.e. it repeatedly parses a given wiki markup block statement) so long as the condition mark-up evaluates to non-whitespace."
		},
		{
			"aliases": [
				"#dowhile"
			],
			"signatures": [
				[
					{
						"label": "",
						"const": true
					},
					{
						"label": "condition"
					},
					{
						"label": "block statement"
					}
				]
			],
			"description": "`{{#dowhile}}` performs a loop (i.e. it repeatedly parses a given wiki markup block statement) so long as the condition mark-up evaluates to non-whitespace. The block statement is guaranteed to be parsed and displayed (if it results in displayable text) at least once."
		},
		{
			"aliases": [
				"#loop"
			],
			"signatures": [
				[
					{
						"label": "variable name"
					},
					{
						"label": "starting value"
					},
					{
						"label": "number of loops to be performed"
					},
					{
						"label": "block statement"
					}
				]
			],
			"description": "`{{#loop}}` repeatedly parses and displays `block statement` a number of times equal to the absolute value of `number of loops to be performed`. `Starting value` is placed in a variable (accessible by [Variables](https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:Variables) extension's `{{#var:}}` parser function) using the name `variable name`. After each loop, the variable is incremented by one if `number of loops to be performed` is positive, or decremented by one if `number of loops to be performed` is negative."
		},
		{
			"aliases": [
				"#forargs"
			],
			"signatures": [
				[
					{
						"label": "prefix"
					},
					{
						"label": "key"
					},
					{
						"label": "value"
					},
					{
						"label": "block statement"
					}
				]
			],
			"description": "`{{#forargs}}` is to be used in templates.\n\nIt takes arguments that are passed to the template and puts them in variables accessible by [Variables](https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:Variables) extension's `{{#var:}}` parser function.\n\nThis function iterates through each argument whose name begins with `prefix`.\n\nWith each iteration it puts the argument name minus `prefix` into `key` as if calling `{{#vardefine: <key> }}`.\n\nIt then takes the value of the argument and puts it into `value` in a similar method.\n\nThe block statement is then expanded.\n\nThe block statement may contain `{{#var: <key> }}` and `{{#var: <value> }}` to access the stored arguments."
		},
		{
			"aliases": [
				"#fornumargs"
			],
			"signatures": [
				[
					{
						"label": "key"
					},
					{
						"label": "value"
					},
					{
						"label": "block statement"
					}
				]
			],
			"description": "`{{#fornumargs}}` performs similarly to `{{#forargs}}` with two major differences: It doesn't take a prefix argument, and it only works on numbered arguments whether they're explicitly numbered or implicitly numbered."
		},
		{
			"aliases": [
				"#vardefine"
			],
			"signatures": [
				[
					{
						"label": "variable name"
					},
					{
						"label": "value"
					}
				]
			],
			"description": "Assigns the `value` to the (already existing or hereby introduced) variable `variable name`."
		},
		{
			"aliases": [
				"#vardefineecho"
			],
			"signatures": [
				[
					{
						"label": "variable name"
					},
					{
						"label": "value"
					}
				]
			],
			"description": "Assigns the `value` to the (already existing or hereby introduced) variable `variable name`, and `value` is printed."
		},
		{
			"aliases": [
				"#var"
			],
			"signatures": [
				[
					{
						"label": "variable name"
					}
				],
				[
					{
						"label": "variable name"
					},
					{
						"label": "default value"
					}
				]
			],
			"description": "The value of the variable `variable name`.\n\nIf undefined, this produces an empty string; it does not give an error message.\n\nIt is possible to get a default value for the case that the variable is undefined or void."
		},
		{
			"aliases": [
				"#varexists"
			],
			"signatures": [
				[
					{
						"label": "variable name"
					}
				],
				[
					{
						"label": "variable name"
					},
					{
						"label": "if-value"
					},
					{
						"label": "else-value"
					}
				]
			],
			"description": "Returns *1* if the variable is already defined. If the variable is not defined the return value is void.\n\nIt supports a second and a third parameter to replace these values."
		},
		{
			"aliases": [
				"#var_final"
			],
			"signatures": [
				[
					{
						"label": "variable name"
					}
				],
				[
					{
						"label": "variable name"
					},
					{
						"label": "default value"
					}
				]
			],
			"description": "This function will output the final, last value a variable has at the end of the page rendering. Naturally, the value will be inserted after the parser went over the entire wiki markup, so this function can't be used in other functions, expecting the right value is being used.\n\nThe `default value` will be used if the variable doesn't exist at the final page rendering stage or if its value is an empty string. The default will be expanded right where the function is used, so the parameter will be expanded, even if it won't be needed."
		},
		{
			"aliases": [
				"#lst",
				"#section"
			],
			"signatures": [
				[
					{
						"label": "article"
					},
					{
						"label": "chapter"
					}
				]
			],
			"description": "Transclude a section called *chapter* from a page called *article*. The target article defines the location of the section."
		},
		{
			"aliases": [
				"#lstx",
				"#section-x"
			],
			"signatures": [
				[
					{
						"label": "article"
					},
					{
						"label": "chapter"
					}
				],
				[
					{
						"label": "article"
					},
					{
						"label": "chapter"
					},
					{
						"label": "replacement text"
					}
				]
			],
			"description": "Transclude a page, but exclude a specified section. Optionally, you may add replacement text to the excluded section. The replacement text will appear in the area where the section is skipped (excluded)."
		},
		{
			"aliases": [
				"#lsth",
				"#section-h"
			],
			"signatures": [
				[
					{
						"label": "article"
					}
				],
				[
					{
						"label": "article"
					},
					{
						"label": "section X"
					}
				],
				[
					{
						"label": "article"
					},
					{
						"label": "section X"
					},
					{
						"label": "section Y"
					}
				]
			],
			"description": "Transclude the introduction of a page (i.e. the content before the first heading), or the whole content of the first occurrence of the *section X* (which includes all its sub-sections but excludes the heading of *section X* itself), or the content from the first occurrence of *section X* (excluding the heading of *section X* itself) until it reaches the next occurrence of *section Y*. Note that *section Y* acts as a stop point so the transclusion doesn't contain the content of *section Y*."
		},
		{
			"aliases": [
				"msg",
				"訊息",
				"raw",
				"原始"
			],
			"signatures": [
				[
					{
						"label": "xyz"
					}
				]
			],
			"description": "Even if there is a magic word named `xyz`, use template:xyz unless the template doesn't exist (equivalent to `{{template:xyz}}`). Normally, magic words have priority when there is a conflict."
		},
		{
			"aliases": [
				"subst",
				"替換",
				"替代"
			],
			"signatures": [
				[
					{
						"label": "xyz"
					}
				]
			],
			"description": "In the wikitext, the tag is substituted by the content (single-level evaluation only), see [Help:Templates](https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Templates#Usage)."
		},
		{
			"aliases": [
				"safesubst",
				"安全替換",
				"安全替代"
			],
			"signatures": [
				[
					{
						"label": "xyz"
					}
				]
			],
			"description": "See [Help:Templates](https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Templates#Usage)."
		},
		{
			"aliases": [
				"currentyear"
			],
			"description": "Year"
		},
		{
			"aliases": [
				"localyear"
			],
			"description": "Year, but using the site's server config"
		},
		{
			"aliases": [
				"currentmonth",
				"currentmonth2"
			],
			"description": "Month (zero-padded number)"
		},
		{
			"aliases": [
				"localmonth",
				"localmonth2"
			],
			"description": "Month (zero-padded number), but using the site's server config"
		},
		{
			"aliases": [
				"currentmonth1"
			],
			"description": "Month (unpadded number)"
		},
		{
			"aliases": [
				"localmonth1"
			],
			"description": "Month (unpadded number), but using the site's server config"
		},
		{
			"aliases": [
				"currentmonthname"
			],
			"description": "Month (name)"
		},
		{
			"aliases": [
				"localmonthname"
			],
			"description": "Month (name), but using the site's server config"
		},
		{
			"aliases": [
				"currentmonthnamegen"
			],
			"description": "Month ([genitive form](https://en.wikipedia.org/wiki/Genitive_case))"
		},
		{
			"aliases": [
				"localmonthnamegen"
			],
			"description": "Month ([genitive form](https://en.wikipedia.org/wiki/Genitive_case)), but using the site's server config"
		},
		{
			"aliases": [
				"currentmonthabbrev"
			],
			"description": "Month (abbreviation)"
		},
		{
			"aliases": [
				"localmonthabbrev"
			],
			"description": "Month (abbreviation), but using the site's server config"
		},
		{
			"aliases": [
				"currentday"
			],
			"description": "Day of the month (unpadded number)"
		},
		{
			"aliases": [
				"localday"
			],
			"description": "Day of the month (unpadded number), but using the site's server config"
		},
		{
			"aliases": [
				"currentday2"
			],
			"description": "Day of the month (zero-padded number)"
		},
		{
			"aliases": [
				"localday2"
			],
			"description": "Day of the month (zero-padded number), but using the site's server config"
		},
		{
			"aliases": [
				"currentdow"
			],
			"description": "Day of the week (unpadded number), 0 (for Sunday) through 6 (for Saturday)"
		},
		{
			"aliases": [
				"localdow"
			],
			"description": "Day of the week (unpadded number), 0 (for Sunday) through 6 (for Saturday), but using the site's server config"
		},
		{
			"aliases": [
				"currentdayname"
			],
			"description": "Day of the week (name)"
		},
		{
			"aliases": [
				"localdayname"
			],
			"description": "Day of the week (name), but using the site's server config"
		},
		{
			"aliases": [
				"currenttime"
			],
			"description": "Time (24-hour HH:mm format)"
		},
		{
			"aliases": [
				"localtime"
			],
			"description": "Time (24-hour HH:mm format), but using the site's server config"
		},
		{
			"aliases": [
				"currenthour"
			],
			"description": "Hour (24-hour zero-padded number)"
		},
		{
			"aliases": [
				"localhour"
			],
			"description": "Hour (24-hour zero-padded number), but using the site's server config"
		},
		{
			"aliases": [
				"currentweek"
			],
			"description": "Week (number)"
		},
		{
			"aliases": [
				"localweek"
			],
			"description": "Week (number), but using the site's server config"
		},
		{
			"aliases": [
				"currenttimestamp"
			],
			"description": "YYYYMMDDHHmmss timestamp"
		},
		{
			"aliases": [
				"localtimestamp"
			],
			"description": "YYYYMMDDHHmmss timestamp, but using the site's server config"
		},
		{
			"aliases": [
				"sitename"
			],
			"description": "The wiki's site name."
		},
		{
			"aliases": [
				"server"
			],
			"description": "Domain URL."
		},
		{
			"aliases": [
				"servername"
			],
			"description": "Subdomain and domain name."
		},
		{
			"aliases": [
				"dirmark",
				"directionmark"
			],
			"description": "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. Since 1.19, it depends on the [page content language](https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Language#page-content-lang)."
		},
		{
			"aliases": [
				"articlepath"
			],
			"description": "Relative article path."
		},
		{
			"aliases": [
				"scriptpath"
			],
			"description": "Relative script path."
		},
		{
			"aliases": [
				"stylepath"
			],
			"description": "Relative style path."
		},
		{
			"aliases": [
				"currentversion"
			],
			"description": "The wiki's MediaWiki version."
		},
		{
			"aliases": [
				"contentlanguage",
				"contentlang"
			],
			"description": "The wiki's default interface language."
		},
		{
			"aliases": [
				"pageid"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "Returns the [page identifier (page ID)](https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Page_ID).\n\n**[Expensive]** Returns the page identifier of the specified page."
		},
		{
			"aliases": [
				"pagelanguage"
			],
			"description": "Returns the language of the current page. The language code that this variable returns can be converted to a language name using `{{#language:...}}`."
		},
		{
			"aliases": [
				"protectionlevel"
			],
			"signatures": [
				[
					{
						"label": "action"
					}
				],
				[
					{
						"label": "action"
					},
					{
						"label": "page name"
					}
				]
			],
			"description": "Outputs the protection level (e.g. `autoconfirmed`, `sysop`) for a given action (e.g. `edit`, `move`) on the current page. Returns an empty string if not protected.\n\n**[Expensive]** Outputs the protection level on the specified page."
		},
		{
			"aliases": [
				"protectionexpiry"
			],
			"signatures": [
				[
					{
						"label": "action"
					}
				],
				[
					{
						"label": "action"
					},
					{
						"label": "page name"
					}
				]
			],
			"description": "Outputs the protection expiry (e.g. \"20160418155030\", \"infinity\") for a given action (e.g. \"edit\", \"move\") on the current page. Returns \"infinity\" if not protected.\n\n**[Expensive]** Outputs the protection expiry on the specified page."
		},
		{
			"aliases": [
				"cascadingsources"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "**[Expensive]** Returns the sources of any cascading protection acting on the current page or the specified page. Pages will not return their own title unless they transclude themselves."
		},
		{
			"aliases": [
				"#contentmodel"
			],
			"signatures": [
				[],
				[
					{
						"label": "canonical",
						"const": true
					},
					{
						"label": "page name"
					}
				],
				[
					{
						"label": "local",
						"const": true
					},
					{
						"label": "page name"
					}
				]
			],
			"description": "The canonical or localized name of the content model of the specified page."
		},
		{
			"aliases": [
				"revisionid"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "Unique revision ID.\n\nIt is always empty in preview, thus one can show an error message only in preview. May be disabled in [miser mode (all WMF wikis)](https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgMiserMode) returning `-` instead when not in preview.\n\n**Warning**: This variable **cannot** be [substituted](https://www.mediawiki.org/wiki/Help:Substitution).\n\n**[Expensive]** Unique revision ID of the last revision on the specified page."
		},
		{
			"aliases": [
				"revisionday"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "Day edit was made (unpadded number).\n\n**[Expensive]** Day of edit from the last revision of the specified page."
		},
		{
			"aliases": [
				"revisionday2"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "Day edit was made (zero-padded number).\n\n**[Expensive]** Day of edit from the last revision of the specified page."
		},
		{
			"aliases": [
				"revisionmonth"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "Month edit was made (zero-padded number as of 1.17+, unpadded number in prior versions).\n\n**[Expensive]** Month of edit from the last revision of the specified page."
		},
		{
			"aliases": [
				"revisionmonth1"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "Month edit was made (unpadded number).\n\n**[Expensive]** Month of edit from the last revision of the specified page."
		},
		{
			"aliases": [
				"revisionyear"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "Year edit was made.\n\n**[Expensive]** Year of edit from the last revision of the specified page."
		},
		{
			"aliases": [
				"revisiontimestamp"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "Timestamp as of time of edit.\n\n**[Expensive]** Timestamp as of time of edit on the specified page."
		},
		{
			"aliases": [
				"revisionuser"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "The username of the user who made the edit in question, or the user previewing an edit.\n\n**[Expensive]** The username from the last revision on the specified page."
		},
		{
			"aliases": [
				"revisionsize"
			],
			"description": "The size (bytes of wikitext) of the viewed revision of the page or preview."
		},
		{
			"aliases": [
				"displaytitle"
			],
			"signatures": [
				[
					{
						"label": "title"
					}
				],
				[
					{
						"label": "title"
					},
					{
						"label": "noerror",
						"const": true
					}
				],
				[
					{
						"label": "title"
					},
					{
						"label": "noreplace",
						"const": true
					}
				]
			],
			"description": "Format the [display title](https://www.mediawiki.org/wiki/Special:MyLanguage/Display_title) of the current page, which is what is typically shown in a page's title header. The value must be equivalent to the default title: only capitalization changes to certain parts of the title (not all) and replacing spaces with underscores are allowed.\n\nIt can take a second argument of *noerror* or *noreplace* to suppress error messages when multiple displaytitles are used on one page or to make this `displaytitle` do nothing if a `displaytitle` was already specified earlier in the page."
		},
		{
			"aliases": [
				"defaultsort",
				"defaultsortkey",
				"defaultcategorysort"
			],
			"signatures": [
				[
					{
						"label": "sortkey"
					}
				],
				[
					{
						"label": "sortkey"
					},
					{
						"label": "noerror",
						"const": true
					}
				],
				[
					{
						"label": "sortkey"
					},
					{
						"label": "noreplace",
						"const": true
					}
				]
			],
			"description": "Used for categorizing pages, sets a default [category sort key](https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Categories). It can take a second argument of *noerror* or *noreplace* to suppress error messages when multiple defaultsortkeys are used on one page or to make this `defaultsort` do nothing if a `defaultsort` was already specified earlier in the page."
		},
		{
			"aliases": [
				"numberofpages"
			],
			"signatures": [
				[],
				[
					{
						"label": "R",
						"const": true
					}
				]
			],
			"description": "Number of wiki pages."
		},
		{
			"aliases": [
				"numberofarticles"
			],
			"signatures": [
				[],
				[
					{
						"label": "R",
						"const": true
					}
				]
			],
			"description": "Number of pages in [content namespaces](https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Using_custom_namespaces#content-ns) that qualify as articles."
		},
		{
			"aliases": [
				"numberoffiles"
			],
			"signatures": [
				[],
				[
					{
						"label": "R",
						"const": true
					}
				]
			],
			"description": "Number of uploaded files."
		},
		{
			"aliases": [
				"numberofedits"
			],
			"signatures": [
				[],
				[
					{
						"label": "R",
						"const": true
					}
				]
			],
			"description": "Number of wiki edits."
		},
		{
			"aliases": [
				"numberofusers"
			],
			"signatures": [
				[],
				[
					{
						"label": "R",
						"const": true
					}
				]
			],
			"description": "Number of registered users."
		},
		{
			"aliases": [
				"numberofadmins"
			],
			"signatures": [
				[],
				[
					{
						"label": "R",
						"const": true
					}
				]
			],
			"description": "Number of users in the *sysop* [group](https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:User_rights)."
		},
		{
			"aliases": [
				"numberofactiveusers"
			],
			"signatures": [
				[],
				[
					{
						"label": "R",
						"const": true
					}
				]
			],
			"description": "Number of active users, based on the criteria used in Special:Statistics."
		},
		{
			"aliases": [
				"pagesincategory",
				"pagesincat"
			],
			"signatures": [
				[
					{
						"label": "category name"
					}
				],
				[
					{
						"label": "category name"
					},
					{
						"label": "all",
						"const": true
					}
				],
				[
					{
						"label": "category name"
					},
					{
						"label": "pages",
						"const": true
					}
				],
				[
					{
						"label": "category name"
					},
					{
						"label": "subcats",
						"const": true
					}
				],
				[
					{
						"label": "category name"
					},
					{
						"label": "files",
						"const": true
					}
				]
			],
			"description": "**[Expensive]** Number of pages (including subcategories and files if no second argument is provided) in the given [category](https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Categories)."
		},
		{
			"aliases": [
				"numberingroup",
				"numingroup"
			],
			"signatures": [
				[
					{
						"label": "group name"
					}
				],
				[
					{
						"label": "group name"
					},
					{
						"label": "R",
						"const": true
					}
				]
			],
			"description": "Number of users in a specific [group](https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:User_rights)."
		},
		{
			"aliases": [
				"fullpagename"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "Namespace and full page name (including all subpage levels)."
		},
		{
			"aliases": [
				"fullpagenamee"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "URL encoded namespace and full page name (including all subpage levels)."
		},
		{
			"aliases": [
				"pagename"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "The page name, including all subpage levels, but without the namespace."
		},
		{
			"aliases": [
				"pagenamee"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "URL encoded page name, including all subpage levels, but without the namespace."
		},
		{
			"aliases": [
				"basepagename"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "Page name of the page in the immediately superior [subpage](https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Subpages) level without the namespace."
		},
		{
			"aliases": [
				"basepagenamee"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "URL encoded page name of the page in the immediately superior [subpage](https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Subpages) level without the namespace."
		},
		{
			"aliases": [
				"rootpagename"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "Name of the root of the current page."
		},
		{
			"aliases": [
				"rootpagenamee"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "URL encoded name of the root of the current page."
		},
		{
			"aliases": [
				"subpagename"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "The [subpage](https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Subpages) title. If no subpage exists, the value of `{{PAGENAME}}` is returned."
		},
		{
			"aliases": [
				"subpagenamee"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "The URL encoded [subpage](https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Subpages) title. If no subpage exists, the value of `{{PAGENAME}}` is returned."
		},
		{
			"aliases": [
				"subjectpagename",
				"articlepagename"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "Full page name of the associated subject (e.g. article or file). Useful on talk pages."
		},
		{
			"aliases": [
				"subjectpagenamee",
				"articlepagenamee"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "URL encoded full page name of the associated subject (e.g. article or file). Useful on talk pages."
		},
		{
			"aliases": [
				"talkpagename"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "Full page name of the associated talk page."
		},
		{
			"aliases": [
				"talkpagenamee"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "URL encoded full page name of the associated talk page."
		},
		{
			"aliases": [
				"namespace"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "Name of the page's namespace (except for main space)"
		},
		{
			"aliases": [
				"namespacee"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "URL encoded name of the page's namespace (except for main space)"
		},
		{
			"aliases": [
				"namespacenumber"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "[ID](https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Namespace#Built-in_namespaces) of the page's namespace"
		},
		{
			"aliases": [
				"subjectspace",
				"articlespace"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "Name of the associated content namespace"
		},
		{
			"aliases": [
				"subjectspacee",
				"articlespacee"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "URL encoded name of the associated content namespace"
		},
		{
			"aliases": [
				"talkspace"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "Name of the associated talk namespace"
		},
		{
			"aliases": [
				"talkspacee"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				]
			],
			"description": "URL encoded name of the associated talk namespace"
		},
		{
			"aliases": [
				"!"
			],
			"description": "Used to include a vertical bar (pipe).\n\nSee [help](https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Extension:ParserFunctions#Escaping_pipe_characters_in_tables) for further explanation."
		},
		{
			"aliases": [
				"="
			],
			"description": "Used to include an equal sign.\n\nSee [help](https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Extension:ParserFunctions#Raw_equal_signs) for further explanation."
		},
		{
			"aliases": [
				"pagesize"
			],
			"signatures": [
				[],
				[
					{
						"label": "page name"
					}
				],
				[
					{
						"label": "page name"
					},
					{
						"label": "R",
						"const": true
					}
				]
			],
			"description": "**[Expensive]** Returns the byte size of the specified page."
		}
	]
}
