Руководство:Расширение вики-разметки
MediaWiki предоставляет стандартную текстовую разметку, которую можно легко настроить. Возможны как индивидуальные, так и множественные настройки: Extensions can customize wiki markup by:
- Добавление стандартных типов токенов: стандартный подход к пользовательской разметке MediaWiki — добавить новую разметку, которая выглядит как встроенные в MediaWiki теги XML (
<tag>
), шаблоны ({{...}}
) или разметка ссылок ([[...]]
); - добавление настраевыемых типов токенов: некоторые расширения определяют новые типы токенов;
- фундаментальные изменения в парсере: несколько расширений пытаются кардинально изменить стратегию синтаксического анализа, чтобы можно было использовать (нужно использовать?) разметку из других видов вики и управления контентом вместо стандартной разметки вики.
Добавление к стандартным типам токенов
The simplest way to extend wiki markup is by adding to a standard token type using one of these features.
Variables
A variable calls a PHP function that outputs a string of Викитекст 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, see Manual:Variables . For a list of extensions that define custom variables, see Category:Variable extensions .
Parser functions
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. Функции парсера используются для обработки генерации вики-текста, которая включает в себя логику, которая слишком сложна или сбивает с толку, чтобы писать, используя обычные методы написания шаблонов.
Syntax example:
{{#functionname: param1 | param2}}
To define a parser function, see Руководство:Функции парсера . For a list of extensions that define custom parser functions, see Категории:Расширения функций парсера .
Parser tags
Unlike variables and parser functions, which output wikitext, parser tags output HTML.
A parser tag is an XML 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 by Расширение:SyntaxHighlight .
Syntax example:
<tagname param1name="param1value" param2name="param2value"> some text </tagname>
To define a parser tag, see Руководство:Теги расширений . For a list of extensions that define custom parser tags, see Категория:Расширения для тэгов .
Behavior switches
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, see Руководство:Волшебные слова . For a list of extensions that define custom behavior switches, see Справка:Волшебные слова .
Link markup
Link markup customizations change the way MediaWiki interprets internal links.
Syntax example:
[[ ... ]]
For a list of extensions that define custom link markup, see Category:Link markup extensions/ru .
Adding new token types
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 output hooks:
- Category:ParserBeforeStrip extensions rely on the ParserBeforeStrip hook.
(удалено в 1.36)
- Category:ParserBeforeInternalParse extensions rely on the ParserBeforeInternalParse hook.
- Категория:Расширения OutputPageBeforeHTML rely on the OutputPageBeforeHTML hook.
- Категория:Расширения ParserAfterTidy rely on the ParserAfterTidy hook.
See also Категория:Расширения по использованию хуков .
См. также
- Руководство:Расширения - provides general instructions for finding, installing, and writing extensions.