Шаблон:Пример

Этот шаблон выводит вики-текст включения шаблона (в общем случае с параметрами) и само это включение. Он в основном предназначен для упрощения оформления примеров использования шаблонов в документациях.

В данный момент шаблон не может использоваться для оформления примеров шаблонов с многострочным кодом и содержащих шаблоны внутри шаблона. (Хотя это технически реализуемо, см. обсуждение.)

Для вывода групп примеров пользуйтесь шаблонами {{стопка примеров}} (списком) и {{таблица примеров}} (таблицей).

Использование

  • {{пример|t|t}} даст Ошибка скрипта: Модуля «Example» не существует.
  • {{пример|replace|something|some|any}} даст Ошибка скрипта: Модуля «Example» не существует.
  • {{пример|tlc|шаблон|параметр 1|||параметр 4}} даст Ошибка скрипта: Модуля «Example» не существует.
  • {{пример|tlu|:en:Template:Example|alt=English Template:Example}} даст Ошибка скрипта: Модуля «Example» не существует.
  • {{пример|replace|something|some|any|_comment=Заменить все вхождения «some» на «any».}} даст Ошибка скрипта: Модуля «Example» не существует.

Первый параметр можно опускать — тогда его заменит название текущей страницы со строчной первой буквы. Например, в документации шаблона {{tr-en}} {{пример||слово}} даст:

Ошибка скрипта: Модуля «Example» не существует.

Это может быть особенно удобно для групп шаблонов, для которых пишется общая документация, размещаемая на каждой странице. А {{пример}} выведет пример включения шаблона, на странице которого этот код размещён, без параметров.

Для наглядности можно также указывать имя шаблона через параметр _template, при этом первый параметр больше не значит имя шаблона:

  • {{пример|_template=t|пример}} даст Ошибка скрипта: Модуля «Example» не существует.

Ограничения и пути их обхода

Модуль переносит все именованные параметры в конец, а также плохо сохраняет порядок следования именованных параметров, если их больше одного (из-за технического несовершенства ПО). Чтобы этого избежать, используйте Ошибка скрипта: Модуля «Template call code» не существует. вместо =:

Red x.svg {{пример|некий шаблон|parameter1=value|parameter2=value|parameter3=value}} даст:
Ошибка скрипта: Модуля «Example» не существует.
Yes check.svg {{пример|некий шаблон|parameter1{{=}}value|parameter2{{=}}value|parameter3{{=}}value}} даст:
Ошибка скрипта: Модуля «Example» не существует.

Также нельзя записывать напрямую параметры, чьи имена начинаются со знака подчёркивания, — для предотвращения пересечения с параметрами, модифицирующими внешний вид результата. Поможет то же решение:

  • {{пример|tp|шаблон|_text{{=}}текст ссылки}} даст Ошибка скрипта: Модуля «Example» не существует.

Чтобы вписать <nowiki>, используйте HTML-сущности для замены угловых скобок, например:

  • {{пример|tp|шаблон|&lt;nowiki><nowiki>{{IPA|/tʃ/}}</nowiki>&lt;/nowiki>}} даст Ошибка скрипта: Модуля «Example» не существует.

Чтобы вписать {{пример}}, используйте {{((}}{{=}}{{))}} или HTML-сущности, например:

  • {{пример|pre|текст {{((}}{{=}}{{))}} текст|_sep={{sp↓|||-0.5em}}}} даст
Ошибка скрипта: Модуля «Example» не существует.

В данный момент не поддерживается раскрытие вложенных шаблонов и других конструкций с фигурными скобками (их можно указывать внутри <nowiki>, но они не раскроются). Многострочные шаблоны также не поддерживаются.

Настройки

  • _sep: поменять стрелочку на что угодно другое:
    {{пример|t|t|_sep=отображается как}} даст Ошибка скрипта: Модуля «Example» не существует.
  • _tag: поменять обёртку <code> (а с помощью _container сделать так, чтобы код примера обрабатывался шаблоном-контейнером, например {{pre}}):
    {{пример|_template=t|_tag=tt|пример}} даст Ошибка скрипта: Модуля «Example» не существует.
  • _link: включить отображение ссылки:
    {{пример|_template=флаг|_link=1|Россия}} даст Ошибка скрипта: Модуля «Example» не существует.
  • _pre-text (_prefix) и _post-text (_postfix): указать текст до и после шаблона:
    {{пример|tr-en|слово|_pre-text=word (|_post-text=)}} даст Ошибка скрипта: Модуля «Example» не существует.
  • _nobr: запретить перенос строки для кода примера.
  • _nocat: запретить добавлять страницу в проставляемые шаблоном категории, если у него предусмотрен соответствующий параметр _nocat. При этом в коде включения шаблона этот параметр отабражаться не будет. Так, например, в данном примере настоящая страница не добавляется в категорию Компании, имеющие листинг акций на NASDAQ:
    {{пример|NASDAQ|123|_nocat=1}} даст Ошибка скрипта: Модуля «Example» не существует.
  • _spaced: отбить пробелом каждый параметр для лучшей читаемости:
    {{пример|MathWorld|urlname=GammaFunction|title=Gamma Function|author=John Doe|_spaced=1}} даст:
    Ошибка скрипта: Модуля «Example» не существует.
  • _comment: снабдить пример комментарием:
    {{пример|replace|something|some|any|_comment=Заменить все вхождения «some» на «any».}} даст Ошибка скрипта: Модуля «Example» не существует.

Стили

С помощью параметра _style можно установить стиль, который будет устанавливать некоторые из вышеперечисленных параметров разом. Существующие на данный момент стили — pre, *pre и wikitable (а также pre↓):

  • {{пример|проверить нейтральность|дата{{=}}1 января 2010|_style=pre}} даст:
Ошибка скрипта: Модуля «Example» не существует.
  • {{пример|проверить нейтральность|дата{{=}}1 января 2010|_style=*pre}} даст:
Ошибка скрипта: Модуля «Example» не существует.

Шаблон:*pre

даст
Код Результат
Ошибка скрипта: Модуля «Example» не существует.
Ошибка скрипта: Модуля «Example» не существует.
(Для создания таблицы с примерами удобнее воспользоваться шаблоном {{таблица примеров}}.)

См. также