Пространство имен Template в Википедии используется для хранения шаблонов , которые содержат разметку Wiki , предназначенную для включения на нескольких страницах, обычно через включение . Хотя пространство имен Template используется для хранения большинства шаблонов, возможно включение и замена из других пространств имен, [1] и поэтому некоторые страницы шаблонов размещаются в других пространствах имен, таких как пространство имен User .
Шаблоны помогают поддерживать единообразное форматирование и облегчают навигацию между статьями. Они часто включают необязательные и/или переменные элементы, контролируемые параметрами , чтобы обеспечить специализированное использование. Шаблоны также используются для помощи в самых разных задачах обслуживания Википедии . Каждый шаблон имеет соответствующую Template talk:
страницу, где редакторы могут обсудить дизайн и реализацию соответствующего шаблона (см. Help:Using talk pages , чтобы узнать, как участвовать в обсуждениях на странице обсуждения).
Шаблон транспонируется на другую страницу путем включения тега шаблона в содержимое этой страницы. Тег шаблона содержит имя страницы шаблона , заключенное в двойные фигурные скобки, например {{Disambiguation}}
. Если имя страницы шаблона не начинается с пространства имен и двоеточия, предполагается, что оно находится в пространстве имен Template.
Внутренние ссылки на страницы шаблонов можно создавать с помощью Template:
префикса, например [[Template:Disambiguation]]
. Другие способы ссылки на шаблон см. в разделе Ссылки на шаблоны.
Внутренние ссылки на страницы шаблонов можно создавать с помощью Template:
префикса, например [[Template:Disambiguation]]
. Эти ссылки ведут на страницу, которая непосредственно содержит базовый шаблон, но подстраницы, такие как документация шаблона, также могут быть связаны напрямую, например [[Template:Disambiguation/doc]]
.
Чтобы связать шаблон с помощью формата отображения, подходящего для шаблонов, используйте Template:Tl (сокращение от «template link»). Например, чтобы сослаться на шаблон Cleanup, введите {{tl|Cleanup}}
{ { Cleanup }} . Это не вызовет шаблон, но отображение четко укажет, что связанный объект является шаблоном. Вы также можете добавить параметры с помощью Template:Tlp ; например, {{tlp|Convert|1|m}}
отображается как {{ Convert |1|m}} . Проверьте документацию шаблона на Template:Tl для других параметров, таких как {{ tlb }} (жирный), (код), (курсивные параметры) и многое другое.{{tlx}}
{{tlxi|param1|param2}}
Имена шаблонов должны состоять из одного или нескольких слов, например {{Train topics}}
. Первый символ не чувствителен к регистру, поэтому {{cleanup}}
и {{Cleanup}}
являются одним и тем же шаблоном. Все остальные символы чувствительны к регистру, поэтому {{cfd}}
и {{cfD}}
не являются одинаковыми. Имена шаблонов легче всего запомнить, если они соответствуют стандартному английскому правописанию, пробелам и заглавным буквам (см. также соглашения об именах для статей). Избегайте шаблонов, имена которых отличаются только регистром, пробелами или пунктуацией.
Для шаблонов с длинными именами можно создать перенаправления шаблонов (часто называемые шорткатами) для удобства ввода. Например, вместо ввода {{Template link with subst}}
шортката {{tls}}
доступен.
Если вы хотите поэкспериментировать с шаблонами (и не хотите, чтобы ваши эксперименты были удалены до того, как вы закончите с ними), вы можете сделать это в Template sandbox . Вы также можете использовать шаблоны X1 , X2 , X3 , X4 , X5 , X6 , X7 , X8 , X9 , X10 , X11 и X12 для экспериментальных целей. Чтобы включить тестовый шаблон, используйте форму {{X1}}
для шаблона X1, {{X2}}
для шаблона X2 и т. д.
Существующие шаблоны часто имеют свои собственные страницы песочницы и тестовых случаев (особенно те, которые используют {{ Documentation }} ). Изменения должны быть тщательно протестированы там, прежде чем применяться к основному шаблону, чтобы предотвратить непреднамеренное повреждение многих страниц.
Для шаблонов с большим количеством параметров может быть полезно разместить каждый параметр на отдельной строке и выровнять знаки равенства. Это поможет будущим редакторам легче читать викикод. Например, если вы хотите создать новый инфобокс , который может содержать десятки параметров, ваш код может выглядеть так:
{{Информационное поле| header1 = Текст заголовка1| label2 = Текст label2| data2 = Текст data2| и т.д. = и т.д.}}
Шаблоны, использующие много условных выражений , часто выигрывают от межстрочного интервала, как, например, в следующем коде, используемом в {{ If either }}
{{ #если :{{{ 1 |}}} |{{{ тогда |{{{ 3 |}}}}}} |{{ #если :{{{ 2 |}}} |{{{ тогда |{{{ 3 |}}}}}} |{{{ иначе |{{{ 4 |}}}}}} } } } }
Хотя это и не обязательно, продемонстрированные переносы строк позволяют упростить синтаксический анализ того, какие условные операторы относятся к какому оператору #if.
Хотя переносы строк в тексте кода шаблона полезны для удобства чтения, переносы строк в начале или конце кода шаблона могут вызвать проблемы с отображением в статьях. При кодировании шаблонов следует соблюдать осторожность, чтобы не было ненужных пробелов. Одиночный перенос строки в информационном поле может объединиться с переносом строки в статье, что приведет к разрыву абзаца или может привести к появлению нежелательного шаблона во встроенном шаблоне. В качестве общего правила избегайте двух переносов строк вместе в шаблоне. Они могут «складываться» с другими переносами строк в статье и отображаться как нежелательные пробелы. Для получения дополнительной информации о переносах строк и их влиянии на викитекст см. Wikipedia:Line-break processing .
Чтобы избежать ненужных пробелов, убедитесь, что все <noinclude>
теги размещены сразу после кода шаблона. Следующий код взят из {{ questions }} и имеет хорошее управление переносами строк.
{{ уведомление | small = да | Если вы хотите задать вопрос, см. страницу [[ Wikipedia : Вопросы ]] для получения инструкций. }}< noinclude > [[ Категория : Шаблоны справки Wikipedia ]] </ noinclude >
Вызов шаблона с помощью формы
{{subst:name of template (|parameters |...)}}
(то есть вставка subst:
сразу после открывающей пары фигурных скобок) создаст копию текста шаблона и поместит ее на страницу, где она будет видна в источнике. Шаблон больше не транслируется , и будущие изменения шаблона не изменят текст. В качестве руководства этот метод следует использовать для любых коротких временных сообщений, которые быстро удаляются, например, на страницах User_talk:. Стандартное новое сообщение пользователя является хорошим примером.{{Welcome}}
Используйте subst: также, если вам нужно отредактировать сообщение после включения его на страницу. Если вам не нужно его редактировать, и вы предпочитаете, чтобы сообщение автоматически обновлялось вместе с изменениями, внесенными в шаблон, не используйте subst:.
Поскольку шаблоны представляют собой шаг вверх по сложности для начинающего редактора, должна быть предоставлена документация, описывающая их использование (необязательные параметры) и область применения (где их следует использовать). Есть два разных способа сделать это:
Один из вариантов — использовать шаблон {{ documentation }} для добавления небольшого описания непосредственно на страницу шаблона. Как упоминалось в § Разрывы строк, первый <noinclude>
тег должен быть размещен на той же строке, что и последний символ фактического шаблона. Например:
'''Это статья {{{ 1 }}} . ''' < noinclude > {{ documentation | content =Поместите этот шаблон в любую статью, требующую описания. Онпринимает один параметр — прилагательное, используемое для описания статьи.Например, {{ article-describe | bad }} выводит текст: '''Это плохая статья.''' }} </ noinclude >
Другой альтернативой является создание формальной подстраницы /doc для документации (предпочтительно для шаблонов с несколькими параметрами и т. д.). Шаблон {{ documentation }} по-прежнему вызывается, но весь отображаемый текст будет включен из подстраницы /doc шаблона.
'''Это статья {{{ 1 }}} . ''' < noinclude > {{ documentation }} </ noinclude >
Иногда модули Lua используются вместо шаблонов для хранения повторно используемого материала. Причины этого включают использование специфичных для модуля функций, таких как циклы или сохраненные значения, а сложный код часто проще читать и поддерживать в модуле. Если модуль легко реализуется в шаблоне, то, как правило, так и должно быть, поскольку существует больше пользователей с опытом редактирования шаблонов.
Если модуль предназначен для использования в статьях или на страницах обсуждений, обычно следует создать шаблон-оболочку для упрощения использования без прямого требования #invoke
функции парсера. Документация в таком случае в основном располагается на странице /doc шаблона, а документация модуля указывает на шаблон и/или объясняет дополнительные технические детали, которые не нужны в первичной документации шаблона.
Шаблон-обертка использует большую часть ограничения на размер включаемого файла после расширения, чем вызов модуля напрямую, поэтому может возникнуть необходимость избегать его использования в статьях, которые близки к ограничению.
Исторически, при использовании на странице перед именем шаблона нужно было добавлять префикс "msg:". Например, вместо {{stub}} набиралось {{msg:stub}}. Теперь это не нужно.
В первые 35 месяцев существования Википедии не существовало ни одного шаблона или механизма включения. Страница Wikipedia:Boilerplate text была создана в сентябре 2002 года для сбора часто используемого текста в различных процессах Википедии. Пространство имен MediaWiki было введено в MediaWiki 1.2.6 6 декабря 2003 года и использовалось не только для пользовательского интерфейса, но и для создания шаблонных текстовых сообщений, которые вставлялись в статьи с использованием синтаксиса {{msg: ...}}. Эта функция была заменена пространством имен Template во время обновления программного обеспечения до MediaWiki 1.3 30 мая 2004 года. В качестве функции « Скрипта инициализации пространства имен Template » все несистемные сообщения были перемещены в новое пространство имен. Скрипт инициализации также заменил ссылки MediaWiki: в статьях на Template:, чтобы обойти перенаправления, созданные перемещениями.
В течение короткого времени Wikipedia:Articles for deletion (тогда известные как votes for deletion или VfD ) использовали сообщения MediaWiki:, названные в формате "MediaWiki:VfD -articlename ". Они были перемещены в пространство Template: в июне 2004 года и получили название "Template:VfD- articlename ". Такое использование сейчас устарело в пользу подстраниц.
Около 2005 года растущая сложность функций шаблонов и желание объединить похожие шаблоны привели к созданию чрезвычайно сложных условных хаков, таких как вложенные шаблоны и трюки CSS . Эти нежелательные методы привели к разработке m:Extension:ParserFunctions, добавленного в 2006 году с MediaWiki 1.7. К 2009 году многие проблемы с читаемостью и сложностью шаблонов все еще оставались ( О шаблонах и языках программирования ). В 2013 году для решения проблемы времени загрузки страниц, в основном из-за медленного рендеринга шаблонов, был включен Lua , создав пространство имен Module: для использования программистами ( Новые шаблоны Lua приносят более быстрые и гибкие страницы в вашу вики ).
Используйте эту форму для поиска в пространствах имен Template: или Template_talk:. См. Help:Searching для получения дополнительной информации.
Страницы, содержащие информацию о часто используемых шаблонах:
Если вы не можете найти существующий шаблон для своей ситуации, но не готовы создать его самостоятельно, вы можете обратиться за помощью на страницу Википедии:Запрошенные шаблоны .