Вики Сообщества

ПОДРОБНЕЕ

Вики Сообщества
Вики Сообщества
м (clean up, replaced: Викия → Фэндом (3))
Метка: apiedit
м (*be)
(не показано 10 промежуточных версий 5 участников)
Строка 1: Строка 1:
  +
::''Это расширение подключено на ФЭНДОМЕ '''по умолчанию'''.''
  +
 
{{tocright}}
 
{{tocright}}
 
'''Синтаксический анализатор''' — часть кода [[Справка:MediaWiki|MediaWiki]], позволяющая выполнять логические операции, во время выполнения которых анализатор использует параметры, заданные заранее, и выводит результат.
 
'''Синтаксический анализатор''' — часть кода [[Справка:MediaWiki|MediaWiki]], позволяющая выполнять логические операции, во время выполнения которых анализатор использует параметры, заданные заранее, и выводит результат.
   
Анализатор заполняется также, как и шаблоны, используя фигурные скобки. Их можно легко распознать по наличию двоеточия или решётки (#) в функции (или же всего сразу, как в случае с <code><nowiki>{{#if:}}</nowiki></code>).
+
Анализатор заполняется так же, как и [[Справка:Шаблоны|шаблоны]], используя фигурные скобки. Их можно легко распознать по наличию двоеточия или решётки (#) в функции (или же всего сразу, как в случае с <code><nowiki>{{#if:}}</nowiki></code>).
   
 
Список всех доступных анализаторов на вики можно найти на странице «[[Служебная:Version]]».
 
Список всех доступных анализаторов на вики можно найти на странице «[[Служебная:Version]]».
   
 
== Шаг за шагом ==
 
== Шаг за шагом ==
#Подберите нужную функцию анализатора, подходящую для вашей логической операции. Обратите внимание на то, что существует много других доступных функций, позволяющих намного быстрее и легче провести ту или иную операцию.<br>Ниже раздела с примером находится дополнительная информация с ссылками, позволяющими подробнее ознакомится с каждым видом функции анализатора.
+
# Подберите нужную функцию анализатора, подходящую для вашей логической операции. Обратите внимание на то, что существует много других доступных функций, позволяющих намного быстрее и легче провести ту или иную операцию.<br />Ниже раздела с примером находится дополнительная информация с ссылками, позволяющими подробнее ознакомится с каждым видом функции анализатора.
#Определите правильный синтаксис, который будете использоваться в функции.<br>В нашем случае, мы будем использовать функцию [[mediawikiwiki:Help:Extension:ParserFunctions#.23ifexpr|<code><nowiki>{{#ifexpr:}}</nowiki></code>]], которая доступна на всех вики по умолчанию. Её синтаксис:<br><tt><nowiki>{{#ifexpr:</nowiki> ''условие'' <nowiki>|</nowiki> ''значение, если условие истинно'' <nowiki>|</nowiki> ''значение, если условие ложно'' <nowiki>}}</nowiki></tt>
+
# Определите правильный синтаксис, который будете использоваться в функции.<br />В нашем случае мы будем использовать функцию [[mediawikiwiki:Help:Extension:ParserFunctions#.23ifexpr|<code><nowiki>{{#ifexpr:}}</nowiki></code>]], которая доступна на всех вики по умолчанию. Её синтаксис:<br /><tt><nowiki>{{#ifexpr:</nowiki> ''условие'' <nowiki>|</nowiki> ''значение, если условие истинно'' <nowiki>|</nowiki> ''значение, если условие ложно'' <nowiki>}}</nowiki></tt>.
#Заполним синтаксис функции.<br><tt><nowiki>{{#ifexpr: 1 > 0 | да | нет }}</nowiki></tt><br>В примере выше мы использовали математическое условие (1 > 0), при истинном значении которого анализатор выдаст нам ''да'', а при ложном значении ''нет''.
+
# Заполним синтаксис функции.<br /><tt><nowiki>{{#ifexpr: 1 > 0 | да | нет }}</nowiki></tt><br />В примере выше мы использовали математическое условие (1 > 0), при истинном значении которого анализатор выдаст нам ''да'', а при ложном значении ''нет''.
#Сохраните страницу с анализатором и убедитесь, что функция возвращает ожидаемое значение. В нашем примере анализатор должен вернуть значение ''да'', так как 1 больше, чем 0.<br><tt><nowiki>{{#ifexpr: 1 > 0 | да | нет }}</nowiki></tt> → '''{{#ifexpr: 1 > 0 | да | нет }}'''.<br>Посмотрим, что произойдёт, если мы изменим условие на 1 < 0. В данном случае анализатор вернёт нам значение ''нет''.<br><tt><nowiki>{{#ifexpr: 1 < 0 | да | нет }}</nowiki></tt> → '''{{#ifexpr: 1 < 0 | да | нет }}'''.
+
# Сохраните страницу с анализатором и убедитесь, что функция возвращает ожидаемое значение. В нашем примере анализатор должен вернуть значение ''да'', так как 1 больше, чем 0.<br /><tt><nowiki>{{#ifexpr: 1 > 0 | да | нет }}</nowiki></tt> → '''{{#ifexpr: 1 > 0 | да | нет }}'''.<br />Посмотрим, что произойдёт, если мы изменим условие на 1 < 0. В данном случае анализатор вернёт нам значение ''нет''.<br /><tt><nowiki>{{#ifexpr: 1 < 0 | да | нет }}</nowiki></tt> → '''{{#ifexpr: 1 < 0 | да | нет }}'''.
   
Пример выше может показаться глупым, ведь мы всегда знаем, что 1 больше 0. Но его возможности увеличиваются, когда мы используем переменную в условии. Давайте представим, что вы создаёте [[Справка:Инфобоксы|инфобокс]] для вики о TV шоу и хотите автоматически определять возрастную группу персонажа по его возрасту.
+
Пример выше может показаться глупым, ведь мы всегда знаем, что 1 больше 0. Но его возможности увеличиваются, когда мы используем переменную в условии. Давайте представим, что вы создаёте [[Справка:Инфобоксы|инфобокс]] для вики о телесериале и хотите автоматически определять возрастную группу персонажа по его возрасту.
   
Добавив в свой инфобокс анализатор <code><nowiki>{{#ifexpr: {{{Возраст}}} >= 18 | Этот персонаж взрослый | Этот персонаж подросток }}</nowiki></code>, вы получите значение ''Этот персонаж взрослый'', если заданная вами переменная "Возраст" будет больше или равна 18. Если же меньше, анализатор вернёт вам значение ''Этот персонаж подросток''.
+
Добавив в свой инфобокс анализатор <code><nowiki>{{#ifexpr: {{{Возраст}}} >= 18 | Этот персонаж взрослый | Этот персонаж подросток }}</nowiki></code>, вы получите значение ''Этот персонаж взрослый'', если заданная вами переменная «Возраст» будет больше или равна 18. Если же меньше, анализатор вернёт вам значение ''Этот персонаж подросток''.
   
 
== Встроенные в MediaWiki анализаторы ==
 
== Встроенные в MediaWiki анализаторы ==
Строка 21: Строка 23:
 
;<code><nowiki>{{fullurl:}}</nowiki></code>
 
;<code><nowiki>{{fullurl:}}</nowiki></code>
 
:Возвращает URL ссылку заданной страницы.
 
:Возвращает URL ссылку заданной страницы.
:<code><nowiki>{{fullurl:Фэндом}}</nowiki></code> → {{fullurl:Фэндом}}
+
:<code><nowiki>{{fullurl:Вики Сообщества}}</nowiki></code> → {{fullurl:Вики Сообщества}}
 
;<code><nowiki>{{#language:}}</nowiki></code>
 
;<code><nowiki>{{#language:}}</nowiki></code>
 
:Конвертирует языковой код в название языка.
 
:Конвертирует языковой код в название языка.
Строка 37: Строка 39:
   
 
== Расширение ParserFunctions ==
 
== Расширение ParserFunctions ==
Одним из самых популярных MediaWiki расширений является расширение [[mediawikiwiki:Extension:ParserFunctions|ParserFunctions]], добавляющее новые полезные функции. Оно по умолчанию включено на всём пространстве Фэндома и в нём присутствуют функции устаревшего расширения [[mediawikiwiki:Extension:StringFunctions|StringFunctions]], в частности значимая функция <tt><nowiki>{{#explode}}</nowiki></tt>.
+
Одним из самых популярных расширений MediaWiki является расширение [[mediawikiwiki:Extension:ParserFunctions|ParserFunctions]], добавляющее новые полезные функции. Оно по умолчанию включено на всём пространстве ФЭНДОМА и в нём присутствуют функции устаревшего расширения [[mediawikiwiki:Extension:StringFunctions|StringFunctions]], в частности, значимая функция <tt><nowiki>{{#explode}}</nowiki></tt>.
   
 
Расширении ParserFunctions включает в себя функции для математических операций, операций с условиями и операций с временем. Полный список и документацию по данному расширению можно найти [[mediawikiwiki:Help:Extension:ParserFunctions/ru|на официальной странице расширения]].
 
Расширении ParserFunctions включает в себя функции для математических операций, операций с условиями и операций с временем. Полный список и документацию по данному расширению можно найти [[mediawikiwiki:Help:Extension:ParserFunctions/ru|на официальной странице расширения]].
   
 
== Другие расширения ==
 
== Другие расширения ==
Существуют также несколько других популярных расширений, добавляющих новый функции анализатора.
+
Существуют также несколько других популярных расширений, добавляющих новые функции анализатора.
   
* [[mediawikiwiki:Extension:Arrays|Arrays]] - добавляет <tt><nowiki>{{#arraydefine}}, {{#arrayprint}}, {{#arraysearcharray}}</nowiki></tt>.
+
* [[mediawikiwiki:Extension:Arrays|Arrays]] добавляет <tt><nowiki>{{#arraydefine}}, {{#arrayprint}}, {{#arraysearcharray}}</nowiki></tt>.
* [[mediawikiwiki:Extension:Semantic MediaWiki|Semantic MediaWiki]] - добавляет <tt><nowiki>{{#ask}}, {{#set}}, {{#show}}</nowiki></tt>.
+
* [[mediawikiwiki:Extension:Semantic MediaWiki|Semantic MediaWiki]] добавляет <tt><nowiki>{{#ask}}, {{#set}}, {{#show}}</nowiki></tt>.
* [[mediawikiwiki:Extension:SemanticForms|Semantic Forms]] - добавляет <tt><nowiki>{{#formlink}}, {{#forminput}}, {{#arraymap}} </nowiki></tt>
+
* [[mediawikiwiki:Extension:SemanticForms|Semantic Forms]] добавляет <tt><nowiki>{{#formlink}}, {{#forminput}}, {{#arraymap}} </nowiki></tt>.
* [[mediawikiwiki:Extension:Simple Calendar|Simple Calendar]] - добавляет <tt><nowiki>{{#calendar}}</nowiki></tt>
+
* [[mediawikiwiki:Extension:Simple Calendar|Simple Calendar]] добавляет <tt><nowiki>{{#calendar}}</nowiki></tt>.
* [[mediawikiwiki:Extension:Variables|Variables]] - добавляет <tt><nowiki>{{#var}}, {{#vardefine}}, {{#vardefineecho}}</nowiki></tt>.
+
* [[mediawikiwiki:Extension:Variables|Variables]] добавляет <tt><nowiki>{{#var}}, {{#vardefine}}, {{#vardefineecho}}</nowiki></tt>.
   
 
== См. также ==
 
== См. также ==
*[[Справка:Инфобоксы|Инфобоксы]]
+
* [[Справка:Инфобоксы|Инфобоксы]]
  +
* [[Справка:Классические инфобоксы]]
*[[Справка:Совет-Как создать инфобокс|Совет-Как создать инфобокс]]
 
 
[[Категория:Справка]]
 
   
  +
[[be:Help:Сінтаксічны аналізатар]]
 
[[de:Hilfe:ParserFunctions]]
 
[[de:Hilfe:ParserFunctions]]
 
[[en:Help:Parser functions]]
 
[[en:Help:Parser functions]]
 
[[es:Ayuda:Funciones parser]]
 
[[es:Ayuda:Funciones parser]]
 
[[fr:Aide:Fonctions parseur]]
 
[[fr:Aide:Fonctions parseur]]
  +
[[it:Aiuto:Funzioni parser]]
 
[[ja:ヘルプ:パーサー関数]]
 
[[ja:ヘルプ:パーサー関数]]
 
[[ko:도움말:파서 함수]]
 
[[ko:도움말:파서 함수]]
 
[[pl:Pomoc:Funkcje parsera]]
 
[[pl:Pomoc:Funkcje parsera]]
  +
[[pt:Ajuda:Funções parser]]
  +
[[uk:Довідка:Синтаксичний аналізатор]]
 
[[vi:Trợ giúp:Hàm phân tích cú pháp]]
 
[[vi:Trợ giúp:Hàm phân tích cú pháp]]
 
[[zh:Help:解析器函數]]
 
[[zh:Help:解析器函數]]
 
[[Категория:Справка]]

Версия от 10:38, 31 мая 2021

Это расширение подключено на ФЭНДОМЕ по умолчанию.

Синтаксический анализатор — часть кода MediaWiki, позволяющая выполнять логические операции, во время выполнения которых анализатор использует параметры, заданные заранее, и выводит результат.

Анализатор заполняется так же, как и шаблоны, используя фигурные скобки. Их можно легко распознать по наличию двоеточия или решётки (#) в функции (или же всего сразу, как в случае с {{#if:}}).

Список всех доступных анализаторов на вики можно найти на странице «Служебная:Version».

Шаг за шагом

  1. Подберите нужную функцию анализатора, подходящую для вашей логической операции. Обратите внимание на то, что существует много других доступных функций, позволяющих намного быстрее и легче провести ту или иную операцию.
    Ниже раздела с примером находится дополнительная информация с ссылками, позволяющими подробнее ознакомится с каждым видом функции анализатора.
  2. Определите правильный синтаксис, который будете использоваться в функции.
    В нашем случае мы будем использовать функцию {{#ifexpr:}}, которая доступна на всех вики по умолчанию. Её синтаксис:
    {{#ifexpr: условие | значение, если условие истинно | значение, если условие ложно }}.
  3. Заполним синтаксис функции.
    {{#ifexpr: 1 > 0 | да | нет }}
    В примере выше мы использовали математическое условие (1 > 0), при истинном значении которого анализатор выдаст нам да, а при ложном значении — нет.
  4. Сохраните страницу с анализатором и убедитесь, что функция возвращает ожидаемое значение. В нашем примере анализатор должен вернуть значение да, так как 1 больше, чем 0.
    {{#ifexpr: 1 > 0 | да | нет }}да.
    Посмотрим, что произойдёт, если мы изменим условие на 1 < 0. В данном случае анализатор вернёт нам значение нет.
    {{#ifexpr: 1 < 0 | да | нет }}нет.

Пример выше может показаться глупым, ведь мы всегда знаем, что 1 больше 0. Но его возможности увеличиваются, когда мы используем переменную в условии. Давайте представим, что вы создаёте инфобокс для вики о телесериале и хотите автоматически определять возрастную группу персонажа по его возрасту.

Добавив в свой инфобокс анализатор {{#ifexpr: {{{Возраст}}} >= 18 | Этот персонаж взрослый | Этот персонаж подросток }}, вы получите значение Этот персонаж взрослый, если заданная вами переменная «Возраст» будет больше или равна 18. Если же меньше, анализатор вернёт вам значение Этот персонаж подросток.

Встроенные в MediaWiki анализаторы

Программное обеспечение MediaWiki по умолчанию имеет свои собственные анализаторы, весь список которых можно найти на MediaWiki.org. В нашем случае мы приведём самые полезные.

{{fullurl:}}
Возвращает URL ссылку заданной страницы.
{{fullurl:Вики Сообщества}}https://community.fandom.com/ru/wiki/%D0%92%D0%B8%D0%BA%D0%B8_%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0
{{#language:}}
Конвертирует языковой код в название языка.
{{#language:es}} → español
{{lc:}}
Переводит все буквы строки в строчные (противоположный эффект у {{uc:}}).
{{lc:ПРИВЕТ}} → привет
{{ns:}}
Определяет название пространства имён по его номеру.
{{ns:4}} → Вики Сообщества
{{plural:}}
Выводит форму множественного числа (исключая первый параметр) в зависимости от числа (первый параметр).
{{PLURAL:3|страница|страницы|страниц}} → страницы
{{PLURAL:5|страница|страницы|страниц}} → страниц

Расширение ParserFunctions

Одним из самых популярных расширений MediaWiki является расширение ParserFunctions, добавляющее новые полезные функции. Оно по умолчанию включено на всём пространстве ФЭНДОМА и в нём присутствуют функции устаревшего расширения StringFunctions, в частности, значимая функция {{#explode}}.

Расширении ParserFunctions включает в себя функции для математических операций, операций с условиями и операций с временем. Полный список и документацию по данному расширению можно найти на официальной странице расширения.

Другие расширения

Существуют также несколько других популярных расширений, добавляющих новые функции анализатора.

  • Arrays — добавляет {{#arraydefine}}, {{#arrayprint}}, {{#arraysearcharray}}.
  • Semantic MediaWiki — добавляет {{#ask}}, {{#set}}, {{#show}}.
  • Semantic Forms — добавляет {{#formlink}}, {{#forminput}}, {{#arraymap}} .
  • Simple Calendar — добавляет {{#calendar}}.
  • Variables — добавляет {{#var}}, {{#vardefine}}, {{#vardefineecho}}.

См. также