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

(перенаправлено с «Шаблон:Example»)
Это стабильная версия, проверенная 25 апреля 2021. Есть ожидающие проверки изменения в шаблонах.
Документация

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

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

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

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

  • {{пример|t|t}} даст {{t|t}}{{t}}
  • {{пример|replace|something|some|any}} даст {{replace|something|some|any}} → anything
  • {{пример|tlc|шаблон|параметр 1|||параметр 4}} даст {{tlc|шаблон|параметр 1|||параметр 4}}{{шаблон|параметр 1|||параметр 4}}
  • {{пример|tlu|:en:Template:Example|alt=English Template:Example}} даст {{tlu|:en:Template:Example|alt=English Template:Example}}{{:en:Template:Example|alt=English Template:Example}}

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

{{tr-en|слово}} → с англ. — «слово»

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

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

  • {{пример|_template=t|пример}} даст {{t|пример}}{{пример}}

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

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

{{пример|некий шаблон|parameter1=value|parameter2=value|parameter3=value}} даст:
{{некий шаблон|parameter1=value|parameter3=value|parameter2=value}}
{{пример|некий шаблон|parameter1{{=}}value|parameter2{{=}}value|parameter3{{=}}value}} даст:
{{некий шаблон|parameter1=value|parameter2=value|parameter3=value}}

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

  • {{пример|tp|шаблон|_text{{=}}текст ссылки}} даст {{tp|шаблон|_text=текст ссылки}}{{текст ссылки}}

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

  • {{пример|tp|шаблон|&lt;nowiki><nowiki>{{IPA|/tʃ/}}</nowiki>&lt;/nowiki>}} даст {{tp|шаблон|<nowiki>{{IPA|/tʃ/}}</nowiki>}}{{шаблон|{{IPA|/tʃ/}}}}

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

  • {{пример|pre|текст {{((}}{{=}}{{))}} текст|_sep={{sp↓|||-0.5em}}}} даст
{{pre|текст {{=}} текст}}
текст = текст

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

Настройки

_sep: поменять стрелочку на что угодно другое:

{{пример|t|t|_sep=отображается как}} даст {{t|t}} отображается как {{t}}

_tag: поменять обёртку <code> (а с помощью _container сделать так, чтобы код примера обрабатывался шаблоном-контейнером, например {{pre}}):

{{пример|_template=t|_tag=tt|пример}} даст {{t|пример}}{{пример}}

_link: включить отображение ссылки:

{{пример|_template=флаг|_link=1|Россия}} даст {{флаг|Россия}}Россия

_pre-text (_prefix) и _post-text (_postfix): указать текст до и после шаблона:

{{пример|tr-en|слово|_pre-text=word (|_post-text=)}} даст word ({{tr-en|слово}}) → word (с англ. — «слово»)

_nobr: запретить перенос строки для кода примера.

_nocat: запретить добавлять страницу в проставляемые шаблоном категории, если у него предусмотрен соответствующий параметр _nocat. При этом в коде вызова шаблона этот параметр отабражаться не будет. Так, например, в данном примере настоящая страница не добавляется в категорию Компании, имеющие листинг акций на NASDAQ:

{{пример|NASDAQ|123|_nocat=1}} даст {{NASDAQ|123}}NASDAQ: 123

_spaced: отбить пробелом каждый параметр для лучшей читаемости:

{{пример|MathWorld|urlname=GammaFunction|title=Gamma Function|author=John Doe|_spaced=1}} даст:
{{MathWorld |author=John Doe |urlname=GammaFunction |title=Gamma Function }}

Стили

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

  • {{пример|проверить нейтральность|_style=pre}} даст:
{{проверить нейтральность}}
  • {{пример|проверить нейтральность|_style=*pre}} даст:
  •  

    {{проверить нейтральность}}
  •  

    {| class=wikitable
    ! Код !! Результат
    |-
    | {{пример|Атлас мира|1967|_style=wikitable|_nobr=1}}
    |-
    | {{пример|Атлас мира|1991|_style=wikitable|_nobr=1}}
    ...
    |}
даст
Код Результат
{{Атлас мира|1967}}
{{Атлас мира|1991}}

См. также