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

Материал из Народные Сказки
Версия от 21:31, 30 апреля 2024; Импортёр (обсуждение | вклад) (1 версия импортирована)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Документация

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

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

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

Использование[править код]

  • {{Пример|Tl|Tl}} даст {{Tl|Tl}}{{Tl}}
  • {{Пример|Replace|something|some|any}} даст {{Replace|something|some|any}} → anything
  • {{Пример|Tcl|шаблон|параметр 1|||параметр 4}} даст {{Tcl|Шаблон|параметр 1|||параметр 4}}{{Шаблон|параметр 1|||параметр 4}}
  • {{Пример|Tl|:en:Template:Example|text=English Template:Example}} даст {{Tl|:en:Template:Example|text=English Template:Example}}{{English Template:Example}}
  • {{Пример|Replace|something|some|any|_comment=Заменить все вхождения «some» на «any».}} даст {{Replace|something|some|any}} → anything  Заменить все вхождения «some» на «any».

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

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

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

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

  • {{Пример|_template=T|Пример}} даст {{T|Пример}}{{Пример}}

Ограничения и пути их обхода[править код]

При опускании первого параметра используется именно имя корневой страницы — {{ROOTPAGENAME}}, а не проверка на суффиксы /doc или иные, так что для шаблонов, которые являются подстраницами других шаблонов (например, юзербоксов), первый параметр опускать нельзя.

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

Файл:Red x.svg {{Пример|Некий шаблон|parameter1=value|parameter2=value|parameter3=value}} даст:
{{Некий шаблон|parameter1=value|parameter3=value|parameter2=value}}
Файл:Yes check.svg {{Пример|Некий шаблон|parameter1{{=}}value|parameter2{{=}}value|parameter3{{=}}value}} даст:
{{Некий шаблон|parameter1=value|parameter2=value|parameter3=value}}

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

  • {{Пример|Tlp|Шаблон|_text{{=}}текст ссылки}} даст {{Tlp|Шаблон|_text=Текст ссылки}}{{Текст ссылки}}

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

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

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

  • {{Пример|Pre|текст {{((}}{{=}}{{))}} текст|_sep={{Sp-down|||-0.5em}}}} даст
{{Pre|текст {{=}} текст}}
текст = текст

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

Настройки[править код]

  • _sep: поменять стрелочку на что угодно другое:
    {{Пример|T|T|_sep=отображается как}} даст {{T|T}} отображается как {{T}}
  • _tag: поменять обёртку <code>:
    {{Пример|_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}}
  • _spaced: отбить пробелом каждый параметр для лучшей читаемости:
    {{Пример|MathWorld|urlname=GammaFunction|title=Gamma Function|author=John Doe|_spaced=1}} даст:
    {{MathWorld |author=John Doe |urlname=GammaFunction |title=Gamma Function }}
  • _comment: снабдить пример комментарием:
    {{Пример|Replace|something|some|any|_comment=Заменить все вхождения «some» на «any».}} даст {{Replace|something|some|any}} → anything  Заменить все вхождения «some» на «any».

Стили[править код]

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

  • {{Пример|Проверить нейтральность|дата{{=}}1 января 2010|_style=Pre}} даст:
{{Проверить нейтральность|дата=1 января 2010}}
  • {{Пример|Проверить нейтральность|дата{{=}}1 января 2010|_style=*pre}} даст:
  • {{Проверить нейтральность|дата=1 января 2010}}
  •  
    {| class="wikitable"
    ! Код !! Результат
    |-
    | {{Пример|Атлас мира|1967|_style=Wikitable|_nobr=1}}
    |-
    | {{Пример|Атлас мира|1991|_style=Wikitable|_nobr=1}}
    ...
    |}
даст
Код Результат
{{Атлас мира|1967}}
{{Атлас мира|1991}}
(Для создания таблицы с примерами удобнее воспользоваться шаблоном {{Таблица примеров}}.)

См. также[править код]