Шаблон:Пример/doc: различия между версиями

Материал из wikixw
Перейти к навигации Перейти к поиску
(Новая страница: «{{docpage}} {{onLua|Example}} {{rellink|{{днш|example}}}} Этот шаблон выводит вики-текст включения шаблона (в общем случае с параметрами) и само это включение. Он в основном предназначен для упрощения оформления примеров использования шаблонов в документациях. В данный момен...»)
 
Нет описания правки
Строка 6: Строка 6:
В данный момент шаблон не может использоваться для оформления примеров шаблонов с многострочным кодом и содержащих шаблоны внутри шаблона. (Хотя это технически реализуемо, см. [[Обсуждение шаблона:Пример#Напутствие шаблонописателям|обсуждение]].)
В данный момент шаблон не может использоваться для оформления примеров шаблонов с многострочным кодом и содержащих шаблоны внутри шаблона. (Хотя это технически реализуемо, см. [[Обсуждение шаблона:Пример#Напутствие шаблонописателям|обсуждение]].)


Для вывода групп примеров пользуйтесь шаблонами {{t|стопка примеров}} (списком) и {{t|таблица примеров}} (таблицей).
Для вывода групп примеров пользуйтесь шаблонами } (списком) и  
 
{{TOC right}}
{{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}}
* <code><nowiki>{{пример|tl|:en:Template:Example|text=English Template:Example}}</nowiki></code> даст {{пример|tl|:en:Template:Example|text=English Template:Example}}
* <code><nowiki>{{пример|replace|something|some|any|_comment=Заменить все вхождения «some» на «any».}}</nowiki></code> даст {{пример|replace|something|some|any|_comment=Заменить все вхождения «some» на «any».}}


Первый параметр можно опускать — тогда его заменит название базовой страницы со строчной первой буквы. Например, в документации шаблона {{t|tr-en}} <code><nowiki>{{пример||слово}}</nowiki></code> даст:
Первый параметр можно опускать — тогда его заменит название базовой страницы со строчной первой буквы. Например, в документации шаблона {{t|tr-en}} <code><nowiki></nowiki></code> даст:
: {{пример|tr-en|слово}}
:  
Это может быть особенно удобно для групп шаблонов, для которых пишется общая документация, размещаемая на каждой странице. А {{tc|пример}} выведет пример включения шаблона, на странице которого этот код размещён, без параметров.
Это может быть особенно удобно для групп шаблонов, для которых пишется общая документация, размещаемая на каждой странице. А {{tc|пример}} выведет пример включения шаблона, на странице которого этот код размещён, без параметров.


Для наглядности можно также указывать имя шаблона через параметр '''_template''', при этом первый параметр больше не значит имя шаблона:
Для наглядности можно также указывать имя шаблона через параметр '''_template''', при этом первый параметр больше не значит имя шаблона:
* <code><nowiki>{{пример|_template=t|пример}}</nowiki></code> даст {{пример|_template=t|пример}}
* <code><nowiki></nowiki></code> даст  
 
== Ограничения и пути их обхода ==
== Ограничения и пути их обхода ==
При опускании первого параметра используется именно имя корневой страницы — {{mwmw|ROOTPAGENAME}}, а не проверка на суффиксы {{code|/doc}} или иные, так что для шаблонов, которые являются подстраницами других шаблонов (например, [[Special:PrefixIndex/Template:Userbox/|юзербоксов]]), первый параметр опускать нельзя.  
При опускании первого параметра используется именно имя корневой страницы — {{mwmw|ROOTPAGENAME}}, а не проверка на суффиксы {{code|/doc}} или иные, так что для шаблонов, которые являются подстраницами других шаблонов (например, [[Special:PrefixIndex/Template:Userbox/|юзербоксов]]), первый параметр опускать нельзя.  
Строка 29: Строка 23:
Модуль переносит все именованные параметры в конец, а также плохо сохраняет порядок следования именованных параметров, если их больше одного (из-за технического несовершенства ПО). Чтобы этого избежать, используйте {{tcl|=}} вместо <code>=</code>:
Модуль переносит все именованные параметры в конец, а также плохо сохраняет порядок следования именованных параметров, если их больше одного (из-за технического несовершенства ПО). Чтобы этого избежать, используйте {{tcl|=}} вместо <code>=</code>:
{|
{|
| valign=top | [[Файл:Red x.svg|15px]] || <code><nowiki>{{пример|некий шаблон|parameter1=value|parameter2=value|parameter3=value}}</nowiki></code> даст:<br
| valign=top | [[Файл:Red x.svg|15px]] || <code><nowiki>></code> даст:<br
/>{{пример|некий шаблон|parameter1=value|parameter2=value|parameter3=value}}
|/>
|-
| valign=top | [[Файл:Yes_check.svg|15px]] || <code><nowiki>
| valign=top | [[Файл:Yes_check.svg|15px]] || <code><nowiki>{{пример|некий шаблон|parameter1{{=}}value|parameter2{{=}}value|parameter3{{=}}value}}</nowiki></code> даст:<br
/>
/>{{пример|некий шаблон|parameter1{{=}}value|parameter2{{=}}value|parameter3{{=}}value}}
|}
|}


Также нельзя записывать напрямую параметры, чьи имена начинаются со знака подчёркивания, — для предотвращения пересечения с параметрами, модифицирующими внешний вид результата. Поможет то же решение:
Также нельзя записывать напрямую параметры, чьи имена начинаются со знака подчёркивания, — для предотвращения пересечения с параметрами, модифицирующими внешний вид результата. Поможет то же решение:
* <code><nowiki>{{пример|tp|шаблон|_text{{=}}текст ссылки}}</nowiki></code> даст {{пример|tp|шаблон|_text{{=}}текст ссылки}}
* <code><nowiki></nowiki></code> даст  


Чтобы вписать {{tago|nowiki}}, используйте HTML-сущности для замены угловых скобок, например:
Чтобы вписать {{tago|nowiki}}, используйте HTML-сущности для замены угловых скобок, например:
* <code><nowiki>{{пример|tp|шаблон|&amp;lt;nowiki>&lt;nowiki>{{IPA|/tʃ/}}&lt;/nowiki>&amp;lt;/nowiki>}}</nowiki></code> даст {{пример|tp|шаблон|&lt;nowiki><nowiki>{{IPA|/tʃ/}}</nowiki>&lt;/nowiki>}}
* <code><nowiki>}</nowiki></code> даст </nowiki>&lt;/nowiki>}}


Чтобы вписать {{tc|=}}, используйте <code><nowiki>{{((}}{{=}}{{))}}</nowiki></code> или HTML-сущности, например:
Чтобы вписать {{tc|=}}, используйте <code><nowiki>{{((}}{{=}}{{))}}</nowiki></code> или HTML-сущности, например:
* <code><nowiki>{{пример|pre|текст {{((}}{{=}}{{))}} текст|_sep={{sp↓|||-0.5em}}}}</nowiki></code> даст
* <code><nowiki>></code> даст
<dl><dd>{{пример|pre|текст {{((}}{{=}}{{))}} текст|_sep={{sp↓|||-0.5em}}}}</dd></dl>
<dl><dd>}</dd></dl>


В данный момент не поддерживается раскрытие вложенных шаблонов и других конструкций с фигурными скобками (их можно указывать внутри {{tago|nowiki}}, но они не раскроются). Многострочные шаблоны также не поддерживаются.
В данный момент не поддерживается раскрытие вложенных шаблонов и других конструкций с фигурными скобками (их можно указывать внутри {{tago|nowiki}}, но они не раскроются). Многострочные шаблоны также не поддерживаются.
Строка 50: Строка 43:
== Настройки ==
== Настройки ==
* '''_sep''': поменять стрелочку на что угодно другое:
* '''_sep''': поменять стрелочку на что угодно другое:
*: <code><nowiki>{{пример|t|t|_sep=отображается как}}</nowiki></code> даст {{пример|t|t|_sep=отображается как}}
*: <code><nowiki>}</nowiki></code> даст  
* '''_tag''': поменять обёртку &lt;code>:
* '''_tag''': поменять обёртку &lt;code>:
*: <code><nowiki>{{пример|_template=t|_tag=tt|пример}}</nowiki></code> даст {{пример|_template=t|_tag=tt|пример}}
*: <code><nowiki>/code> даст  
* '''_link''': включить отображение ссылки:
* '''_link''': включить отображение ссылки:
*: <code><nowiki>{{пример|_template=флаг|_link=1|Россия}}</nowiki></code> даст {{пример|_template=флаг|_link=1|Россия}}
*: <code><nowiki></code> даст  
* '''_pre-text''' ('''_prefix''') и '''_post-text''' ('''_postfix'''): указать текст до и после шаблона:
* '''_pre-text''' ('''_prefix''') и '''_post-text''' ('''_postfix'''): указать текст до и после шаблона:
*: <code><nowiki>{{пример|tr-en|слово|_pre-text=word (|_post-text=)}}</nowiki></code> даст {{пример|tr-en|слово|_pre-text=word (|_post-text=)}}
*: <code><nowiki></code> даст
* '''_nobr''': запретить перенос строки для кода примера.
* '''_nobr''': запретить перенос строки для кода примера.
* '''_nocat''': запретить добавлять страницу в проставляемые шаблоном категории, если у него предусмотрен соответствующий параметр <code>_nocat</code>. При этом в коде включения шаблона этот параметр отображаться не будет. Так, например, в данном примере настоящая страница не добавляется в категорию {{cl|Компании, имеющие листинг акций на NASDAQ}}:
* '''_nocat''': запретить добавлять страницу в проставляемые шаблоном категории, если у него предусмотрен соответствующий параметр <code>_nocat</code>. При этом в коде включения шаблона этот параметр отображаться не будет. Так, например, в данном примере настоящая страница не добавляется в категорию {{cl|Компании, имеющие листинг акций на NASDAQ}}:
*: <code><nowiki>{{пример|NASDAQ|123|_nocat=1}}</nowiki></code> даст {{пример|NASDAQ|123|_nocat=1}}
*: <code><nowiki>
* '''_spaced''': отбить пробелом каждый параметр для лучшей читаемости:
* '''_spaced''': отбить пробелом каждый параметр для лучшей читаемости:
*: <code><nowiki>{{пример|MathWorld|urlname=GammaFunction|title=Gamma Function|author=John Doe|_spaced=1}}</nowiki></code> даст:
*: <code><nowiki>{</code> даст:
*: {{пример|MathWorld|urlname=GammaFunction|title=Gamma Function|author=John Doe|_spaced=1}}
*:  
* '''_comment''': снабдить пример комментарием:
* '''_comment''': снабдить пример комментарием:
*: <code><nowiki>{{пример|replace|something|some|any|_comment=Заменить все вхождения «some» на «any».}}</nowiki></code> даст {{пример|replace|something|some|any|_comment=Заменить все вхождения «some» на «any».}}
*: <code><nowiki>}</nowiki></code> даст  
 
=== Стили ===
=== Стили ===
С помощью параметра '''_style''' можно установить стиль, который будет устанавливать некоторые из вышеперечисленных параметров разом. Существующие на данный момент стили — <code>pre</code>, <code>*pre</code> и <code>wikitable</code> (а также <code>pre↓</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> даст:
: {{пример|проверить нейтральность|дата{{=}}1 января 2010|_style=pre}}{{^}}
: 1 января 2010|_style=pre}}{{^}}


* <code><nowiki>{{пример|проверить нейтральность|дата{{=}}1 января 2010|_style=*pre}}</nowiki></code> даст:
* <code><nowiki>}1 января 2010|_style=*pre}}</nowiki></code> даст:
: {{пример|проверить нейтральность|дата{{=}}1 января 2010|_style=*pre}}
: 1 января 2010|_style=*pre}}
{{*pre|<nowiki>{| class="wikitable"
{{*pre|<nowiki>{| class="wikitable"
! Код !! Результат
! Код !! Результат
|-
|-
| {{пример|Атлас мира|1967|_style=wikitable|_nobr=1}}
| {
|-
|-
| {{пример|Атлас мира|1991|_style=wikitable|_nobr=1}}
|  
...
...
|}</nowiki>}}
|}</nowiki>}}
Строка 86: Строка 78:
! Код !! Результат
! Код !! Результат
|-
|-
| {{пример|Атлас мира|1967|_style=wikitable|_nobr=1}}
|
|-
|-
| {{пример|Атлас мира|1991|_style=wikitable|_nobr=1}}
|  
|-
|-
| colspan=2 | …
| colspan=2 | …

Версия от 17:56, 5 декабря 2022

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

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

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

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

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

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

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

  • даст

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

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

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

></code> даст:<br |/> | valign=top | [[Файл:Yes_check.svg|15px]] || <code><nowiki> /> |} Также нельзя записывать напрямую параметры, чьи имена начинаются со знака подчёркивания, — для предотвращения пересечения с параметрами, модифицирующими внешний вид результата. Поможет то же решение: * <code><nowiki> даст

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

  • } даст </nowiki></nowiki>}}

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

  • ></code> даст <dl><dd>}</dd></dl> В данный момент не поддерживается раскрытие вложенных шаблонов и других конструкций с фигурными скобками (их можно указывать внутри {{tago|nowiki}}, но они не раскроются). Многострочные шаблоны также не поддерживаются. == Настройки == * '''_sep''': поменять стрелочку на что угодно другое: *: <code><nowiki>} даст
  • _tag: поменять обёртку <code>:
    /code> даст * '''_link''': включить отображение ссылки: *: <code><nowiki></code> даст * '''_pre-text''' ('''_prefix''') и '''_post-text''' ('''_postfix'''): указать текст до и после шаблона: *: <code><nowiki></code> даст * '''_nobr''': запретить перенос строки для кода примера. * '''_nocat''': запретить добавлять страницу в проставляемые шаблоном категории, если у него предусмотрен соответствующий параметр <code>_nocat</code>. При этом в коде включения шаблона этот параметр отображаться не будет. Так, например, в данном примере настоящая страница не добавляется в категорию {{cl|Компании, имеющие листинг акций на NASDAQ}}: *: <code><nowiki> * '''_spaced''': отбить пробелом каждый параметр для лучшей читаемости: *: <code><nowiki>{</code> даст: *: * '''_comment''': снабдить пример комментарием: *: <code><nowiki>} даст

Стили

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

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

См. также