MediaWiki Syntax: различия между версиями

Материал из Поле цифровой дидактики
 
(не показано 5 промежуточных версий этого же участника)
Строка 6: Строка 6:
== Шаблон ==
== Шаблон ==


Список доступных шаблонов: - [[Служебная:Шаблоны]]
'''Шаблонами''' называется класс особых страниц, содержимое которых можно вставить в другие страницы. Причём это содержимое считывается при каждой загрузке страницы: изменения в шаблоне проявятся на страницах, их применяющих. Страницы шаблонов — полноценные вики-документы, для которых отведено своё пространство имён «Шаблон:». Вызывается шаблон пометкой <code><nowiki>{{</nowiki>Имя_шаблона<nowiki>}}</nowiki></code>. При отображении страницы на место этого будет помещено '''содержимое''' страницы «Шаблон:Имя шаблона». Если её ещё нет, то пометка будет отображена как ссылка на несуществующую статью.
 
Как обычно, имя статьи или шаблона чувствительно к регистру, а пробел эквивалентен подчёркиванию. Возможно также включение шаблона в шаблон, то есть вызов одного шаблона из другого.<br>
Любую страницу можно использовать как шаблон: <code><nowiki>{{</nowiki>:Имя_страницы<nowiki>}}</nowiki></code><br>
Список ссылок на используемые в тексте страницы шаблоны показывается ниже окна редактирования статьи.<br>
 
 
Список доступных шаблонов: - [[Служебная:Шаблоны]] -
 
Шаблоны являются важной частью системы [[MediaWiki]]. По сути, это страницы, которые могут подставлять значения при их использовании, что открывает множество возможностей. Все шаблоны хранятся в пространстве имен «Template:». На базовом уровне шаблон может представлять собой просто текст. Например, можно создать шаблон с названием «Hello», который будет содержать текст «Hello, everybody!». После создания этого шаблона его можно вставить на любую страницу вики с помощью кода <nowiki>{{Hello}</nowiki>}, и он будет заменен на текст из шаблона.
 
Существуют и более сложные шаблоны, такие как «Needs work», который позволяет пользователям отмечать страницы с проблемами. В коде этого шаблона используются теги <nowiki><noinclude></nowiki> и <nowiki><includeonly></nowiki>.
Текст внутри <noinclude> отображается только на странице самого шаблона, а текст внутри <nowiki><includeonly></nowiki> — только на страницах, где шаблон используется. Например, если пользователь добавляет <nowiki>{{Needs work|Problem=Incorrect information}}</nowiki> на страницу, она будет отображаться как «This page needs work, for the following reasons(s): Incorrect information.»
 
Шаблоны могут также содержать параметры. Параметры обозначаются тройными фигурными скобками. Если значение для параметра не передано, MediaWiki по умолчанию отображает строку параметра. Чтобы избежать этого, можно использовать символ «|» для задания альтернативного значения. Например, если параметр записан как <nowiki>{{{Problem|Unknown}}}</nowiki>, то при отсутствии значения будет отображаться «Unknown».
 
Кроме того, существуют неименованные параметры, которые определяются по их индексу. Например, в шаблоне «Painting» можно использовать <nowiki>{{{1}}}</nowiki> для первого параметра и <nowiki>{{{2}}}</nowiki> для второго. Также можно комбинировать именованные и неименованные параметры.
 
Еще один полезный тег — <nowiki><onlyinclude></nowiki>, который позволяет контролировать, какой текст будет отображаться на других страницах. Текст внутри этого тега будет виден только на страницах, где используется данный шаблон.
 
[[Шаблон]]ы в MediaWiki обеспечивают гибкость и удобство при создании и редактировании контента.
 
 
=== Параметры ===
Параметры шаблона могут быть поименованными:<br>
<code><nowiki>{{Имя_шаблона|parname1=parvalue1|parname2=parvalue2}}</nowiki></code>, тогда в теле шаблона надо ссылаться на&nbsp;<code><nowiki>{{{parname1}}}</nowiki></code>, <code><nowiki>{{{parname2}}}</nowiki></code>;<br>
Или пронумерованными:<br>
<code><nowiki>{{Имя_шаблона|parvalue1|parvalue2}}</nowiki></code>, тогда в теле шаблона нужно использовать <code><nowiki>{{{1}}}</nowiki></code>, <code><nowiki>{{{2}}}</nowiki></code>.<br>
Лишние (не используемые в теле шаблона) параметры игнорируются. Переменные шаблона вычисляются после вставки шаблона в вызывающую его статью, то есть если в шаблоне содержится подстановка <code><nowiki>{{PAGENAME}}</nowiki></code>, то она будет развёрнута в имя вызывающей статьи, а не в имя этого шаблона.<br>
Имена параметров чувствительны к регистру символов. Желательно использовать в именах параметров только латинские буквы, цифры, дефис. Остальные символы не рекомендуются к использованию.<br>
Таким образом, механизм шаблонов выполняет два типа подстановок:
* вызов шаблона (двойные фигурные скобки) заменяется содержимым шаблона;
* параметры шаблона (тройные фигурные скобки) заменяются параметрами шаблона.<br>
Параметром шаблона может быть ссылка на другую статью. Пусть, например, у нас есть такой шаблон:
<nowiki>Эта страница: {{{1}}} моя самая любимая.</nowiki><br>
и он называется <code>Тест</code>. Тогда его вызов<br>
<nowiki>{{Тест|[http://www.letopisi.ru/index.php/Шаблоны]}}</nowiki><br>
будет развёрнут в:<br>
Эта страница: [http://www.letopisi.ru/index.php/Шаблоны] моя самая любимая.<br>
=== Неопределённые и пустые параметры ===
Если какой-либо параметр шаблона не задан, то он останется нераскрытым и на странице использующей шаблон Вы увидите примерно такой текст: <code><nowiki>...{{{1}}}...</nowiki></code>.<br>
Если Вы используете вызов переменных не по именам, а по номерам, то вызов <code><nowiki>{{Шаблон||что_то}}</nowiki></code> делает первый параметр определённым, но равным пустой строке. Если, напротив, нужно задать второй параметр, никак не определяя первый, то для этого следует использовать вызов <code><nowiki>{{Шаблон|2=что_то}}</nowiki></code>. Этот синтаксис следует использовать также и в том случае, когда значение параметра содержит знак равенства (например, «что_то=чему_то»): <code><nowiki>{{Шаблон|1=что_то=чему_то|2=еще_что_то}}</nowiki></code>.<br>
Если для некоторого параметра шаблона подразумевается определённое значение по умолчанию, то можно использовать '''условное включение''' параметра в текст шаблона. Параметр, записанный в теле шаблона в виде: <code><nowiki>{{{parameter|что_то}}}</nowiki></code> будет включён в текст шаблона либо как <code><nowiki>что_то</nowiki></code> (если параметр не был определен), либо будет фигурировать присвоенное ему значение.<br>
 
Самый простой пример: если некоторый параметр записан внутри шаблона в форме <code><nowiki>1={{{parameter|}}}</nowiki></code> (то есть если в качестве значения по умолчанию используется пустая строка), то в том случае, если этот параметр окажется не заданным, на его месте не будет ничего выводиться.<br>
 
=== Просмотр содержимого шаблона ===
Чтобы увидеть «сырое» содержимое шаблона (подстановки параметров и т. д.), нужно смотреть на шаблон в режиме редактирования, поскольку в противном случае некоторые подстановки вроде могут раскрыться.<br>
Для показа содержимого шаблона (без wiki-интерпретации) можно использовать кодовый «волшебный» префикс «msgnw:»: <nowiki>{{msgnw:Шаблон}}</nowiki>
 
Например, для шаблона '''Book'''
{{msgnw:Book}}
 
The primary function of '''"msgnw:"''' is to display the raw content of a template without any processing or interpretation by MediaWiki.
 
=== Код шаблона ===
Всё, что находится между тегами <code><nowiki><noinclude> ... </noinclude></nowiki></code> будет обрабатываться и показываться только в случае когда шаблон показывается непосредственно, не включенным в другую страницу. Возможные применения:
* категоризация шаблонов самих по себе (а не страниц которые их содержат). Т.к. если шаблон содержит код категории, то в указанную категорию помещается не только шаблон, но и все страницы, включающие его.
* текст, объясняющий как использовать шаблон<br>
 
Теги <code><nowiki><includeonly> ... </includeonly></nowiki></code> обладает противоположным действием. Текст будет обрабатываться и показываться только тогда когда шаблон включён в статью. Очевидное применение - включение всех статей, содержащих шаблон в категорию (при этом сам шаблон в категорию не попадёт).<br>
Следует отметить, что при этом есть проблема — если включить статью в категорию посредством шаблона, а потом изменить категорию в шаблоне, то статьи будут содержаться в старой категории до первого редактирования и сохранения статьи содержащей шаблон.<br>
=== Вставка шаблона в момент сохранения ===
Используя конструкцию <code><nowiki>{{subst:Шаблон}}</nowiki></code> Вы выполняете подстановку
текста шаблона в момент сохранения ссылающейся страницы.<br>
 
Например код:<br> <nowiki>{{subst:CURRENTDAY}} {{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}},{{subst:CURRENTTIME}} (UTC)</nowiki><br>
подставится при сохранении страницы:<br>
5 февраль 2025,07:04
 
в то время, как<br>
<nowiki>{{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}, {{CURRENTTIME}} (UTC)</nowiki><br>
каждый раз будет показывать текущее время:
{{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}, &nbsp;{{CURRENTTIME}} (UTC)

Текущая версия на 10:18, 5 февраля 2025

Syntax MediaWiki

Шаблон

Шаблонами называется класс особых страниц, содержимое которых можно вставить в другие страницы. Причём это содержимое считывается при каждой загрузке страницы: изменения в шаблоне проявятся на страницах, их применяющих. Страницы шаблонов — полноценные вики-документы, для которых отведено своё пространство имён «Шаблон:». Вызывается шаблон пометкой {{Имя_шаблона}}. При отображении страницы на место этого будет помещено содержимое страницы «Шаблон:Имя шаблона». Если её ещё нет, то пометка будет отображена как ссылка на несуществующую статью.

Как обычно, имя статьи или шаблона чувствительно к регистру, а пробел эквивалентен подчёркиванию. Возможно также включение шаблона в шаблон, то есть вызов одного шаблона из другого.
Любую страницу можно использовать как шаблон: {{:Имя_страницы}}
Список ссылок на используемые в тексте страницы шаблоны показывается ниже окна редактирования статьи.


Список доступных шаблонов: - Служебная:Шаблоны -

Шаблоны являются важной частью системы MediaWiki. По сути, это страницы, которые могут подставлять значения при их использовании, что открывает множество возможностей. Все шаблоны хранятся в пространстве имен «Template:». На базовом уровне шаблон может представлять собой просто текст. Например, можно создать шаблон с названием «Hello», который будет содержать текст «Hello, everybody!». После создания этого шаблона его можно вставить на любую страницу вики с помощью кода {{Hello}}, и он будет заменен на текст из шаблона.

Существуют и более сложные шаблоны, такие как «Needs work», который позволяет пользователям отмечать страницы с проблемами. В коде этого шаблона используются теги <noinclude> и <includeonly>. Текст внутри отображается только на странице самого шаблона, а текст внутри <includeonly> — только на страницах, где шаблон используется. Например, если пользователь добавляет {{Needs work|Problem=Incorrect information}} на страницу, она будет отображаться как «This page needs work, for the following reasons(s): Incorrect information.»

Шаблоны могут также содержать параметры. Параметры обозначаются тройными фигурными скобками. Если значение для параметра не передано, MediaWiki по умолчанию отображает строку параметра. Чтобы избежать этого, можно использовать символ «|» для задания альтернативного значения. Например, если параметр записан как {{{Problem|Unknown}}}, то при отсутствии значения будет отображаться «Unknown».

Кроме того, существуют неименованные параметры, которые определяются по их индексу. Например, в шаблоне «Painting» можно использовать {{{1}}} для первого параметра и {{{2}}} для второго. Также можно комбинировать именованные и неименованные параметры.

Еще один полезный тег — <onlyinclude>, который позволяет контролировать, какой текст будет отображаться на других страницах. Текст внутри этого тега будет виден только на страницах, где используется данный шаблон.

Шаблоны в MediaWiki обеспечивают гибкость и удобство при создании и редактировании контента.


Параметры

Параметры шаблона могут быть поименованными:
{{Имя_шаблона|parname1=parvalue1|parname2=parvalue2}}, тогда в теле шаблона надо ссылаться на {{{parname1}}}, {{{parname2}}};
Или пронумерованными:
{{Имя_шаблона|parvalue1|parvalue2}}, тогда в теле шаблона нужно использовать {{{1}}}, {{{2}}}.
Лишние (не используемые в теле шаблона) параметры игнорируются. Переменные шаблона вычисляются после вставки шаблона в вызывающую его статью, то есть если в шаблоне содержится подстановка {{PAGENAME}}, то она будет развёрнута в имя вызывающей статьи, а не в имя этого шаблона.
Имена параметров чувствительны к регистру символов. Желательно использовать в именах параметров только латинские буквы, цифры, дефис. Остальные символы не рекомендуются к использованию.
Таким образом, механизм шаблонов выполняет два типа подстановок:

  • вызов шаблона (двойные фигурные скобки) заменяется содержимым шаблона;
  • параметры шаблона (тройные фигурные скобки) заменяются параметрами шаблона.

Параметром шаблона может быть ссылка на другую статью. Пусть, например, у нас есть такой шаблон:

Эта страница: {{{1}}} моя самая любимая.

и он называется Тест. Тогда его вызов

{{Тест|[http://www.letopisi.ru/index.php/Шаблоны]}}

будет развёрнут в:

Эта страница: [1] моя самая любимая.

Неопределённые и пустые параметры

Если какой-либо параметр шаблона не задан, то он останется нераскрытым и на странице использующей шаблон Вы увидите примерно такой текст: ...{{{1}}}....
Если Вы используете вызов переменных не по именам, а по номерам, то вызов {{Шаблон||что_то}} делает первый параметр определённым, но равным пустой строке. Если, напротив, нужно задать второй параметр, никак не определяя первый, то для этого следует использовать вызов {{Шаблон|2=что_то}}. Этот синтаксис следует использовать также и в том случае, когда значение параметра содержит знак равенства (например, «что_то=чему_то»): {{Шаблон|1=что_то=чему_то|2=еще_что_то}}.
Если для некоторого параметра шаблона подразумевается определённое значение по умолчанию, то можно использовать условное включение параметра в текст шаблона. Параметр, записанный в теле шаблона в виде: {{{parameter|что_то}}} будет включён в текст шаблона либо как что_то (если параметр не был определен), либо будет фигурировать присвоенное ему значение.

Самый простой пример: если некоторый параметр записан внутри шаблона в форме 1={{{parameter|}}} (то есть если в качестве значения по умолчанию используется пустая строка), то в том случае, если этот параметр окажется не заданным, на его месте не будет ничего выводиться.

Просмотр содержимого шаблона

Чтобы увидеть «сырое» содержимое шаблона (подстановки параметров и т. д.), нужно смотреть на шаблон в режиме редактирования, поскольку в противном случае некоторые подстановки вроде могут раскрыться.
Для показа содержимого шаблона (без wiki-интерпретации) можно использовать кодовый «волшебный» префикс «msgnw:»: {{msgnw:Шаблон}}

Например, для шаблона Book

<noinclude>

Это шаблон «Book». Он должен вызываться следующим образом: <pre> {{ |Description= Описание |Field_of_knowledge=Область знаний |launch year= Год издания |Website= Веб-сайт, где можно прочитать книгу или статью |Clarifying_video= Видео запись |Inventor= Автор |Среды и средства, на которые повлияла книга }} </pre> Начните редактировать эту страницу, чтобы увидеть текст шаблона. </noinclude> <includeonly> {| class="wikitable" ! Описание книги | <span style="color:#333;font-size:120%;vertical-align: middle"; "background-color:#E6E6E6";> [[Description::{{{Description|}}}]]</span> |- ! Область знаний | {{#arraymap:{{{Field_of_knowledge|}}}|,|x|[[Field_of_knowledge::x]]}} |- ! Год издания | [[launch year::{{{launch year|}}}]] |- ! Веб-сайт где можно прочитать книгу или статью | [[Website::{{{Website|}}}]] |- ! Видео запись | [[Clarifying_video::{{{Clarifying_video|}}}]] |- ! Авторы | {{#arraymap:{{{Inventor|}}}|;|x|[[Inventor::x]]}} |- ! Среды и средства, на которые повлияла книга | {{#arraymap:{{{Environment|}}}|,|x|[[Environment::x]]}} |} [[Категория:Book]] </includeonly>

The primary function of "msgnw:" is to display the raw content of a template without any processing or interpretation by MediaWiki.

Код шаблона

Всё, что находится между тегами <noinclude> ... </noinclude> будет обрабатываться и показываться только в случае когда шаблон показывается непосредственно, не включенным в другую страницу. Возможные применения:

  • категоризация шаблонов самих по себе (а не страниц которые их содержат). Т.к. если шаблон содержит код категории, то в указанную категорию помещается не только шаблон, но и все страницы, включающие его.
  • текст, объясняющий как использовать шаблон

Теги <includeonly> ... </includeonly> обладает противоположным действием. Текст будет обрабатываться и показываться только тогда когда шаблон включён в статью. Очевидное применение - включение всех статей, содержащих шаблон в категорию (при этом сам шаблон в категорию не попадёт).
Следует отметить, что при этом есть проблема — если включить статью в категорию посредством шаблона, а потом изменить категорию в шаблоне, то статьи будут содержаться в старой категории до первого редактирования и сохранения статьи содержащей шаблон.

Вставка шаблона в момент сохранения

Используя конструкцию {{subst:Шаблон}} Вы выполняете подстановку текста шаблона в момент сохранения ссылающейся страницы.

Например код:
{{subst:CURRENTDAY}} {{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}},{{subst:CURRENTTIME}} (UTC)
подставится при сохранении страницы:
5 февраль 2025,07:04

в то время, как

{{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}, {{CURRENTTIME}} (UTC)

каждый раз будет показывать текущее время:

5 май 2025,  15:57 (UTC)