Шаблон:Пример
Этот шаблон реализован на основе Lua с использованием кода из модуля Example. |
Этот шаблон выводит вики-текст включения шаблона (в общем случае с параметрами) и само это включение. Он в основном предназначен для упрощения оформления примеров использования шаблонов в документациях.
В данный момент шаблон не может использоваться для оформления примеров шаблонов с многострочным кодом и содержащих шаблоны внутри шаблона. (Хотя это технически реализуемо, см. обсуждение.)
Для вывода групп примеров пользуйтесь шаблонами {{стопка примеров}} (списком) и {{таблица примеров}} (таблицей).
Использование
{{пример|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» не существует. вместо =
:
Также нельзя записывать напрямую параметры, чьи имена начинаются со знака подчёркивания, — для предотвращения пересечения с параметрами, модифицирующими внешний вид результата. Поможет то же решение:
{{пример|tp|шаблон|_text{{=}}текст ссылки}}
даст Ошибка скрипта: Модуля «Example» не существует.
Чтобы вписать <nowiki>
, используйте HTML-сущности для замены угловых скобок, например:
{{пример|tp|шаблон|<nowiki><nowiki>{{IPA|/tʃ/}}</nowiki></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» не существует.
- даст
-
Код Результат Ошибка скрипта: Модуля «Example» не существует. Ошибка скрипта: Модуля «Example» не существует. …
- (Для создания таблицы с примерами удобнее воспользоваться шаблоном {{таблица примеров}}.)
См. также
- {{стопка примеров}} •{{таблица примеров}}
- {{demo}} — может показывать результат обработки любого вики-текста, не только шаблона
- {{пример использования}}
- {{template example row}}
- {{TestCase}}
- {{markup}} •{{markup2}} •{{markupv}}
- {{tc}} •{{tpre}}
- {{sp↓}}