Шаблон:Пример/doc: различия между версиями
[непроверенная версия] | [отпатрулированная версия] |
← Содержимое страницы заменено на «<dl><dd> {| class=wikitable ! Код !! Результат |- || {{пример|Год|1967|_style=wikitable|_nobr=1}} |- || {{...» Метка: замена |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
{{docpage}} | |||
{{onLua|Example}} | |||
{{rellink|{{днш|example}}}} | |||
Этот шаблон выводит вики-текст включения шаблона (в общем случае с параметрами) и само это включение. Он в основном предназначен для упрощения оформления примеров использования шаблонов в документациях. | |||
В данный момент шаблон не может использоваться для оформления примеров шаблонов с многострочным кодом и содержащих шаблоны внутри шаблона. (Хотя это технически реализуемо, см. [[Обсуждение шаблона:Пример#Напутствие шаблонописателям|обсуждение]].) | |||
Для вывода групп примеров пользуйтесь шаблонами {{t|стопка примеров}} (списком) и {{t|таблица примеров}} (таблицей). | |||
{{TOC right}} | |||
== Использование == | |||
* <code><nowiki>{{пример|t|t}}</nowiki></code> даст {{пример|t|t}} | |||
* <code><nowiki>{{пример|replace|something|some|any}}</nowiki></code> даст {{пример|replace|something|some|any}} | |||
* <code><nowiki>{{пример|tlc|шаблон|параметр 1|||параметр 4}}</nowiki></code> даст {{пример|tlc|шаблон|параметр 1|||параметр 4}} | |||
Первый параметр можно опускать — тогда его заменит название текущей страницы со строчной первой буквы. Например, в документации шаблона {{t|tr-en}} <code><nowiki>{{пример||слово}}</nowiki></code> даст: | |||
: {{пример|tr-en|слово}} | |||
Это может быть особенно удобно для групп шаблонов, для которых пишется общая документация, размещаемая на каждой странице. А {{tc|пример}} выведет пример включения шаблона, на странице которого этот код размещён, без параметров. | |||
Для наглядности можно также указывать имя шаблона через параметр '''_template''', при этом первый параметр больше не значит имя шаблона: | |||
* <code><nowiki>{{пример|_template=t|пример}}</nowiki></code> даст {{пример|_template=t|пример}} | |||
== Ограничения и пути их обхода == | |||
Модуль переносит все именованные параметры в конец, а также плохо сохраняет порядок следования именованных параметров, если их больше одного (из-за технического несовершенства ПО). Чтобы этого избежать, используйте {{tcl|=}} вместо <code>=</code>: | |||
{| | |||
| valign=top | [[Файл:Red x.svg|15px]] || <code><nowiki>{{пример|некий шаблон|parameter1=value|parameter2=value|parameter3=value}}</nowiki></code> | |||
|- | |||
| valign=top | [[Файл:Yes_check.svg|15px]] || <code><nowiki>{{пример|некий шаблон|parameter1{{=}}value|parameter2{{=}}value|parameter3{{=}}value}}</nowiki></code> | |||
|} | |||
Также нельзя записывать напрямую параметры, чьи имена начинаются со знака подчёркивания, — для предотвращения пересечения с параметрами, модифицирующими внешний вид результата. Поможет то же решение: | |||
* <code><nowiki>{{пример|tp|шаблон|_text{{=}}текст ссылки}}</nowiki></code> даст {{пример|tp|шаблон|_text{{=}}текст ссылки}} | |||
Чтобы вписать {{tago|nowiki}}, используйте HTML-сущности для замены угловых скобок, например: | |||
* <code><nowiki>{{пример|tp|шаблон|&lt;nowiki><nowiki>{{IPA|/tʃ/}}</nowiki>&lt;/nowiki>}}</nowiki></code> даст {{пример|tp|шаблон|<nowiki><nowiki>{{IPA|/tʃ/}}</nowiki></nowiki>}} | |||
Чтобы вписать {{tc|=}}, используйте <code><nowiki>{{((}}{{=}}{{))}}</nowiki></code> или HTML-сущности, например: | |||
* <code><nowiki>{{пример|pre|текст {{((}}{{=}}{{))}} текст|_sep={{sp↓|||-0.5em}}}}</nowiki></code> даст | |||
<dl><dd>{{пример|pre|текст {{((}}{{=}}{{))}} текст|_sep={{sp↓|||-0.5em}}}}</dd></dl> | |||
В данный момент не поддерживается раскрытие вложенных шаблонов и других конструкций с фигурными скобками (их можно указывать внутри {{tago|nowiki}}, но они не раскроются). Многострочные шаблоны также не поддерживаются. | |||
== Настройки == | |||
'''_sep''': поменять стрелочку на что угодно другое: | |||
: <code><nowiki>{{пример|t|t|_sep=отображается как}}</nowiki></code> | |||
'''_tag''': поменять обёртку <code> (а с помощью '''_container''' сделать так, чтобы код примера обрабатывался шаблоном-контейнером, например {{t|pre}}): | |||
: <code><nowiki>{{пример|_template=t|_tag=tt|пример}}</nowiki></code> | |||
'''_link''': включить отображение ссылки: | |||
: <code><nowiki>{{пример|_template=флаг|_link=1|Россия}}</nowiki></code> | |||
'''_pre-text''' ('''_prefix''') и '''_post-text''' ('''_postfix'''): указать текст до и после шаблона: | |||
: <code><nowiki>{{пример|tr-en|слово|_pre-text=word (|_post-text=)}}</nowiki></code> | |||
'''_nobr''': запретить перенос строки для кода примера. | |||
'''_nocat''': запретить добавлять страницу в проставляемые шаблоном категории, если у него предусмотрен соответствующий параметр <code>_nocat</code>. При этом в коде включения шаблона этот параметр отабражаться не будет. Так, например, в данном примере настоящая страница не добавляется в категорию Компании, имеющие листинг акций на NASDAQ: | |||
: <code><nowiki>{{пример|NASDAQ|123|_nocat=1}}</nowiki></code> | |||
'''_spaced''': отбить пробелом каждый параметр для лучшей читаемости: | |||
: <code><nowiki>{{пример|MathWorld|urlname=GammaFunction|title=Gamma Function|author=John Doe|_spaced=1}}</nowiki></code> | |||
=== Стили === | |||
С помощью параметра '''_style''' можно установить стиль, который будет устанавливать некоторые из вышеперечисленных параметров разом. Существующие на данный момент стили — <code>pre</code>, <code>*pre</code> и <code>wikitable</code> (а также <code>pre↓</code>): | |||
* <code><nowiki>{{пример|проверить нейтральность|дата{{=}}1 января 2010|_style=pre}}</nowiki></code> | |||
* <code><nowiki>{{пример|проверить нейтральность|дата{{=}}1 января 2010|_style=*pre}}</nowiki></code> | |||
{{*pre|<nowiki>{| class="wikitable" | |||
! Код !! Результат | |||
|- | |||
| {{пример|Год|1967|_style=wikitable|_nobr=1}} | |||
|- | |||
| {{пример|Год|1991|_style=wikitable|_nobr=1}} | |||
... | |||
|}</nowiki>}} | |||
: даст | |||
<dl><dd> | <dl><dd> | ||
{| class=wikitable | {| class=wikitable | ||
Строка 9: | Строка 87: | ||
| colspan=2 | … | | colspan=2 | … | ||
|}</dd></dl> | |}</dd></dl> | ||
: (Для создания таблицы с примерами удобнее воспользоваться шаблоном {{t|таблица примеров}}.) | |||
<includeonly> | |||
[[Категория:Шаблоны:Для документирования шаблонов]] | |||
</includeonly> |
Текущая версия от 14:38, 14 августа 2019
Этот шаблон реализован на основе Lua с использованием модуля Example. |
Этот шаблон выводит вики-текст включения шаблона (в общем случае с параметрами) и само это включение. Он в основном предназначен для упрощения оформления примеров использования шаблонов в документациях.
В данный момент шаблон не может использоваться для оформления примеров шаблонов с многострочным кодом и содержащих шаблоны внутри шаблона. (Хотя это технически реализуемо, см. обсуждение.)
Для вывода групп примеров пользуйтесь шаблонами {{стопка примеров}} (списком) и {{таблица примеров}} (таблицей).
Использование[править код]
{{пример|t|t}}
даст{{t|t}}
→ {{t}}{{пример|replace|something|some|any}}
даст{{replace|something|some|any}}
→ anything{{пример|tlc|шаблон|параметр 1|||параметр 4}}
даст{{tlc|шаблон|параметр 1|||параметр 4}}
→ {{шаблон|параметр 1|||параметр 4}}
Первый параметр можно опускать — тогда его заменит название текущей страницы со строчной первой буквы. Например, в документации шаблона {{tr-en}} {{пример||слово}}
даст:
{{tr-en|слово}}
→ с англ. — «слово»
Это может быть особенно удобно для групп шаблонов, для которых пишется общая документация, размещаемая на каждой странице. А {{пример}}
выведет пример включения шаблона, на странице которого этот код размещён, без параметров.
Для наглядности можно также указывать имя шаблона через параметр _template, при этом первый параметр больше не значит имя шаблона:
{{пример|_template=t|пример}}
даст{{t|пример}}
→ {{пример}}
Ограничения и пути их обхода[править код]
Модуль переносит все именованные параметры в конец, а также плохо сохраняет порядок следования именованных параметров, если их больше одного (из-за технического несовершенства ПО). Чтобы этого избежать, используйте {{=}}
вместо =
:
{{пример|некий шаблон|parameter1=value|parameter2=value|parameter3=value}}
| |
{{пример|некий шаблон|parameter1{{=}}value|parameter2{{=}}value|parameter3{{=}}value}}
|
Также нельзя записывать напрямую параметры, чьи имена начинаются со знака подчёркивания, — для предотвращения пересечения с параметрами, модифицирующими внешний вид результата. Поможет то же решение:
{{пример|tp|шаблон|_text{{=}}текст ссылки}}
даст{{tp|шаблон|_text=текст ссылки}}
→ {{текст ссылки}}
Чтобы вписать <nowiki>
, используйте HTML-сущности для замены угловых скобок, например:
{{пример|tp|шаблон|<nowiki><nowiki>{{IPA|/tʃ/}}</nowiki></nowiki>}}
даст{{tp|шаблон|<nowiki>{{IPA|/tʃ/}}</nowiki>}}
→ {{шаблон|{{IPA|/tʃ/}}}}
Чтобы вписать {{=}}
, используйте {{((}}{{=}}{{))}}
или HTML-сущности, например:
{{пример|pre|текст {{((}}{{=}}{{))}} текст|_sep={{sp↓|||-0.5em}}}}
даст
{{pre|текст {{=}} текст}}
↓текст = текст
В данный момент не поддерживается раскрытие вложенных шаблонов и других конструкций с фигурными скобками (их можно указывать внутри <nowiki>
, но они не раскроются). Многострочные шаблоны также не поддерживаются.
Настройки[править код]
_sep: поменять стрелочку на что угодно другое:
{{пример|t|t|_sep=отображается как}}
_tag: поменять обёртку <code> (а с помощью _container сделать так, чтобы код примера обрабатывался шаблоном-контейнером, например {{pre}}):
{{пример|_template=t|_tag=tt|пример}}
_link: включить отображение ссылки:
{{пример|_template=флаг|_link=1|Россия}}
_pre-text (_prefix) и _post-text (_postfix): указать текст до и после шаблона:
{{пример|tr-en|слово|_pre-text=word (|_post-text=)}}
_nobr: запретить перенос строки для кода примера.
_nocat: запретить добавлять страницу в проставляемые шаблоном категории, если у него предусмотрен соответствующий параметр _nocat
. При этом в коде включения шаблона этот параметр отабражаться не будет. Так, например, в данном примере настоящая страница не добавляется в категорию Компании, имеющие листинг акций на NASDAQ:
{{пример|NASDAQ|123|_nocat=1}}
_spaced: отбить пробелом каждый параметр для лучшей читаемости:
{{пример|MathWorld|urlname=GammaFunction|title=Gamma Function|author=John Doe|_spaced=1}}
Стили[править код]
С помощью параметра _style можно установить стиль, который будет устанавливать некоторые из вышеперечисленных параметров разом. Существующие на данный момент стили — pre
, *pre
и wikitable
(а также pre↓
):
{{пример|проверить нейтральность|дата{{=}}1 января 2010|_style=pre}}
{{пример|проверить нейтральность|дата{{=}}1 января 2010|_style=*pre}}
{| class="wikitable" ! Код !! Результат |- | {{пример|Год|1967|_style=wikitable|_nobr=1}} |- | {{пример|Год|1991|_style=wikitable|_nobr=1}} ... |}
- даст
- (Для создания таблицы с примерами удобнее воспользоваться шаблоном {{таблица примеров}}.)