Автомобильные номера Канзаса: различия между версиями
Admin (обсуждение | вклад) м (→Использование для создания альтернативной ссылки на раздел: уточнение) |
Admin (обсуждение | вклад) м (→Использование для создания альтернативной ссылки на раздел: уточнение) |
||
Строка 1: | Строка 1: | ||
{{ | {{docpage}} | ||
{{esoteric}} | |||
{{используйте песочницу}} | |||
{{TOC right}} | |||
'''{{t}}''' — шаблон-суперкомбайн для создания символической записи имён шаблонов или ссылок на них, улучшенная версия {{t|tl}}. С его помощью можно сослаться на шаблон (и не только) где угодно, с любым текстом ссылки или без неё. | |||
Среди всего прочего, если в тексте ссылки всего один символ, в ссылку автоматически заключаются соседние фигурные скобки — {{t|!}}. | |||
{{днш|ш|шаблон}} | |||
}} | |||
== Использование == | |||
{{tc|t|''имя шаблона или страницы''|''флаги''|lang{{=}}''код языкового раздела''|sister{{=}}''код родственного проекта''|text{{=}}''текст ссылки''|comment{{=}}''всплывающая подсказка''}} | |||
}} | |||
Все параметры являются необязательными. | |||
Если использовать шаблон без параметров (или без первого параметра), то в фигурных скобках он выведет название текущей страницы (после двоеточия) со строчной первой буквы (это бывает полезно при упоминании шаблона в его собственной документации, особенно когда используется одна документация на несколько шаблонов). | |||
Если использовать его с первым параметром, то он создаст ссылку на страницу, заданную в нём (то есть поведёт себя, как шаблон {{t|tl}}), за исключением случая, когда он уже находится на ней. | |||
| | Флаги записываются через вертикальную черту, например <code>nl|s|u</code>, их может быть не больше четырёх. Список флагов: | ||
* <code>nl</code> (<code>nolink</code>): подавить ссылку. | |||
* <code>s</code> и <code>п</code>: вывести ключевое слово [[ВП:Подстановка шаблонов|«subst:» и «подст:»]] соответственно перед именем шаблона. | |||
* <code>g</code> (от ''global''): ссылаться по умолчанию на основное [[ЭАНМ:Пространства имён|пространство имён]] вместо пространства шаблонов. Этот флаг включается автоматически, если первым символом в названии шаблона или страницы является двоеточие, например '':Страница'' или '':Участник:Некий участник/подстраница'' (вики-движок интерпретирует начальное двоеточие в названии страницы в фигурных скобках как ссылку на корневое пространство; так, {{tc|:Страница}} включит содержимое соответствующей страницы ЭАНМ в текущую страницу). | |||
* <code>nav</code>: при использовании шаблона в блоках навигации. Благодаря этому флагу, когда вы находитесь на той странице, на которую должна вести ссылка, название шаблона выделяется жирным. Например, так сделано в навигационном шаблоне {{t|Языковые шаблоны}}. Работает только при указанном первом параметре. Доступен шаблон-обёртка {{t|tnav}}. | |||
* <code>noredir</code>: если ссылка ведёт на перенаправление, не перенаправлять (параметр URL ''?redirect=no''; используется, например, в {{t|днш}}). | |||
* <code>u</code>: вывести имя шаблона с заглавной буквы. Работает только при опущенном первом параметре. | |||
* <code>b</code> (от ''black''): не использовать серый цвет текста для фигурных скобок (чтобы названия шаблонов смотрелись опрятно в коде). | |||
Список кодов родственных проектов, записываемых в параметре {{para|sister}}, см. на странице [[ЭАНМ:Интервики]]. | |||
Для ссылок на шаблоны в английском разделе доступен шаблон-обёртка {{t|ent}}. | |||
== Примеры == | |||
'''Базовые''' | |||
* {{tc|t}} → {{t}} (выводит название той страницы, на которой вы находитесь) | |||
* {{tc|t|t}} → {{t|t}} | |||
* {{tc|t|шаблон}} → {{t|шаблон}} | |||
* {{tc|t|:Страница}} → {{t|:Страница}} | |||
}} | |||
<small>(Внешний вид этих примеров [наличие ссылки] будет отличаться на основной странице шаблона и на странице документации, [[Шаблон:T/doc]].)</small> | |||
{{^}} | |||
'''Флаги''' | |||
* {{tc|t|шаблон|nolink}} → {{t|шаблон|nolink}} | |||
* {{tc|t|шаблон|п}} → {{t|шаблон|п}} | |||
* {{tc|t|Участник:Jack who built the house/t|g}} → {{t|Участник:Jack who built the house/t|g}} | |||
* {{tc|t|шаблон|noredir}} → {{t|шаблон|noredir}} | |||
* {{tc|t||u}} → {{t||u}} | |||
* {{tc|t|шаблон|b}} → {{t|шаблон|b}} | |||
{{^}} | |||
Флаг <code>nav</code> / шаблон {{t|tnav}}: | |||
<pre>{{tnav|t}}{{·}}{{tnav|tp}}{{·}}{{tnav|tc}}{{·}}{{tnav|tlc}}</pre> | |||
{{sp↓}} | |||
{{tnav|t}}{{·}}{{tnav|tp}}{{·}}{{tnav|tc}}{{·}}{{tnav|tlc}} | |||
</ | {{^}} | ||
Сразу несколько: | |||
* {{tc|t||nl|s|u|b}} → {{t||nl|s|u|b}} | |||
* {{tc|t|Участник:Jack who built the house/t|п|g|b}} → {{t|Участник:Jack who built the house/t|п|g|b}} | |||
{{^}} | |||
'''Остальные параметры''' | |||
* {{tc|t|lang|<nowiki>text=lang-''xx''</nowiki>}} → {{t|lang|text=lang-''xx''}} | |||
* {{пример|t|Удалялось|comment{{=}}Статья удалялась, но была восстановлена или была оставлена страница обсуждения удалённой статьи}} | |||
* {{tc|t|template|<nowiki>lang=en|sister=q</nowiki>}} → {{t|template|lang=en|sister=q}} | |||
{{^}} | |||
'''Суперкомбо''' | |||
Представим, что нам понадобилось сослаться на шаблон в китайском викисловаре, используемый с подстановкой, который некий участник хранит в своём личном пространстве, а текст ссылки заменить на свой: | |||
* {{tc|t|User:Shizhao/Template:ru-sy名阴|g|s|<nowiki>lang=zh|sister=wikt|text=ru-sy名阴</nowiki>}} → {{t|User:Shizhao/Template:ru-sy名阴|g|s|lang=zh|sister=wikt|text=ru-sy名阴}} | |||
<small>Он, кстати, реально существует.</small> | |||
=== В оформлении документаций === | |||
Чтобы документация к шаблону выглядела опрятно и составлять её было легко, можно писать так (на страницах [[Шаблон:Lang]], [[Шаблон:Lang-en]] и т. д.): | |||
<pre style="color: #009900;">Шаблон '''{{t}}''' входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов {{t|lang}} и {{t|langi}} ({{t|langi}} отличается от {{t|lang}} тем, что текст в нём отображается ''[[курсив]]ом'').</pre> | |||
что даст: | |||
: Шаблон '''{{t|lang|nl}}''' входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов {{t|lang|nl}} и {{t|langi}} ({{t|langi}} отличается от {{t|lang|nl}} тем, что текст в нём отображается ''[[курсив]]ом''). | |||
— а не так: | |||
<pre style="color: #CC0000;">Шаблон {{tl|{{lc: {{BASEPAGENAME}} }}}} входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов {{tl|lang}} и {{tl|langi}} ({{tl|langi}} отличается от {{tl|lang}} тем, что текст в нём отображается ''[[курсив]]ом'').</pre> | |||
что даст: | |||
: Шаблон <span style="color:#9098A0" class="wp-templatelink">{{'''lang'''}}</span> входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов <span style="color:#9098A0" class="wp-templatelink">{{'''lang'''}}</span> и {{tl|langi}} ({{tl|langi}} отличается от <span style="color:#9098A0" class="wp-templatelink">{{'''lang'''}}</span> тем, что текст в нём отображается ''[[курсив]]ом''). | |||
* N.B. для шаблонов заготовки для копирования лучше оформлять в plain-text через pre и code или хотя бы приводить их дополнительно, т.к. новые редакторы (визуальный и вики-текста) будут стараться копировать оформление вставляя вики-ссылки и nowiki и рядовому пользователю неизвестна "вставка как обычный текст". | |||
== Детали == | |||
* Если шаблон используется без первого параметра, а в названии страницы есть слэш, то, что идёт после него, опускается. | |||
* Шаблон понимает идентичность адресов ''Участник:Некий участник'' и ''Участник:Некий'''_'''участник'' и использует особые приёмы, чтобы обходить баги{{sp/}}особенности вики-движка, связанные с использованием символов «*», «:», «;» и т. п. на первом месте в названиях шаблонов или тексте ссылок. Не смутит его и замена символов их [[мнемоники в HTML|HTML-кодами]], типа <code>&#47;</code> для «/». | |||
* Если вы хотите поменять что-то в этом шаблоне, воспользуйтесь тестами на странице [[Шаблон:T/тесты]] для проверки его работоспособности после внесения изменений. | |||
== Можно сделать == | |||
* При ссылках на страницы в пространстве «Участник» и других (см. маску <code>Шаблон\:(Media|Служебная|Special|…<code> на [[MediaWiki:Titleblacklist]]) также можно автоматически включать флаг <code>g</code>, после чего нужда в ручном его указании останется только для других разделов. | |||
* Шаблон сейчас не работает с опущенным первым параметром вне пространства «Шаблон» (но не факт, что за его пределами нужны документации). | |||
* Переписать на Lua; модуль бы более эффективно работал с флагами. | |||
== См. также == | |||
* {{t|tp}} — почти то же самое с параметрами | |||
* {{t|tc}} — символическая запись в тегах {{tago|code}} и с параметрами (для создания примеров на страницах документации) | |||
* {{t|tlc}} — то же, что предыдущий, плюс ссылка | |||
* {{t|flt}} — короткий вариант для ссылок на шаблоны в других языковых разделах | |||
* {{t|ent}} — для ссылок на шаблоны в английском разделе | |||
<includeonly> | |||
[[Категория:Шаблоны/модули, нуждающиеся в усовершенствовании]] | |||
[[Категория:Шаблоны:Ссылки на шаблоны]] | |||
[[Категория:Шаблоны:Для документирования шаблонов]] | |||
</includeonly> |
Версия от 03:26, 5 апреля 2019
Этот шаблон использует некоторые чрезвычайно сложные и эзотерические свойства языка шаблонов. |
Прежде чем вносить какие-либо изменения в этот шаблон, просьба оттестировать их в /песочнице и проверить результат на странице с /контрольными примерами. Вносить тестированные изменения в этот шаблон следует ровно одной правкой. |
{{автомобильные номера Канзаса}} — шаблон-суперкомбайн для создания символической записи имён шаблонов или ссылок на них, улучшенная версия {{tl}}. С его помощью можно сослаться на шаблон (и не только) где угодно, с любым текстом ссылки или без неё.
Среди всего прочего, если в тексте ссылки всего один символ, в ссылку автоматически заключаются соседние фигурные скобки — {{!}}.
Другие названия этого шаблона: {{ш}}, {{шаблон}}.
Использование
{{t|имя шаблона или страницы|флаги|lang=код языкового раздела|sister=код родственного проекта|text=текст ссылки|comment=всплывающая подсказка}}
Все параметры являются необязательными.
Если использовать шаблон без параметров (или без первого параметра), то в фигурных скобках он выведет название текущей страницы (после двоеточия) со строчной первой буквы (это бывает полезно при упоминании шаблона в его собственной документации, особенно когда используется одна документация на несколько шаблонов).
Если использовать его с первым параметром, то он создаст ссылку на страницу, заданную в нём (то есть поведёт себя, как шаблон {{tl}}), за исключением случая, когда он уже находится на ней.
Флаги записываются через вертикальную черту, например nl|s|u
, их может быть не больше четырёх. Список флагов:
nl
(nolink
): подавить ссылку.s
ип
: вывести ключевое слово «subst:» и «подст:» соответственно перед именем шаблона.g
(от global): ссылаться по умолчанию на основное пространство имён вместо пространства шаблонов. Этот флаг включается автоматически, если первым символом в названии шаблона или страницы является двоеточие, например :Страница или :Участник:Некий участник/подстраница (вики-движок интерпретирует начальное двоеточие в названии страницы в фигурных скобках как ссылку на корневое пространство; так,{{:Страница}}
включит содержимое соответствующей страницы ЭАНМ в текущую страницу).nav
: при использовании шаблона в блоках навигации. Благодаря этому флагу, когда вы находитесь на той странице, на которую должна вести ссылка, название шаблона выделяется жирным. Например, так сделано в навигационном шаблоне {{Языковые шаблоны}}. Работает только при указанном первом параметре. Доступен шаблон-обёртка {{tnav}}.noredir
: если ссылка ведёт на перенаправление, не перенаправлять (параметр URL ?redirect=no; используется, например, в {{днш}}).u
: вывести имя шаблона с заглавной буквы. Работает только при опущенном первом параметре.b
(от black): не использовать серый цвет текста для фигурных скобок (чтобы названия шаблонов смотрелись опрятно в коде).
Список кодов родственных проектов, записываемых в параметре |sister =
, см. на странице ЭАНМ:Интервики.
Для ссылок на шаблоны в английском разделе доступен шаблон-обёртка {{ent}}.
Примеры
Базовые
{{t}}
→ {{автомобильные номера Канзаса}} (выводит название той страницы, на которой вы находитесь){{t|t}}
→ {{t}}{{t|шаблон}}
→ {{шаблон}}{{t|:Страница}}
→ {{:Страница}}
(Внешний вид этих примеров [наличие ссылки] будет отличаться на основной странице шаблона и на странице документации, Шаблон:T/doc.)
Флаги
{{t|шаблон|nolink}}
→ {{шаблон}}{{t|шаблон|п}}
→ {{подст:шаблон}}{{t|Участник:Jack who built the house/t|g}}
→ {{Участник:Jack who built the house/t}}{{t|шаблон|noredir}}
→ {{шаблон}}{{t||u}}
→ {{Автомобильные номера Канзаса}}{{t|шаблон|b}}
→ {{шаблон}}
Флаг nav
/ шаблон {{tnav}}:
{{tnav|t}}{{·}}{{tnav|tp}}{{·}}{{tnav|tc}}{{·}}{{tnav|tlc}}
{{t}} · {{tp}} · {{tc}} · {{tlc}}
Сразу несколько:
{{t||nl|s|u|b}}
→ {{subst:Автомобильные номера Канзаса}}{{t|Участник:Jack who built the house/t|п|g|b}}
→ {{подст:Участник:Jack who built the house/t}}
Остальные параметры
{{t|lang|text=lang-''xx''}}
→ {{lang-xx}}{{t|Удалялось|comment=Статья удалялась, но была восстановлена или была оставлена страница обсуждения удалённой статьи}}
→ {{Удалялось}}{{t|template|lang=en|sister=q}}
→ {{template}}
Суперкомбо
Представим, что нам понадобилось сослаться на шаблон в китайском викисловаре, используемый с подстановкой, который некий участник хранит в своём личном пространстве, а текст ссылки заменить на свой:
{{t|User:Shizhao/Template:ru-sy名阴|g|s|lang=zh|sister=wikt|text=ru-sy名阴}}
→ {{subst:ru-sy名阴}}
Он, кстати, реально существует.
В оформлении документаций
Чтобы документация к шаблону выглядела опрятно и составлять её было легко, можно писать так (на страницах Шаблон:Lang, Шаблон:Lang-en и т. д.):
Шаблон '''{{t}}''' входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов {{t|lang}} и {{t|langi}} ({{t|langi}} отличается от {{t|lang}} тем, что текст в нём отображается ''[[курсив]]ом'').
что даст:
- Шаблон {{lang}} входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов {{lang}} и {{langi}} ({{langi}} отличается от {{lang}} тем, что текст в нём отображается курсивом).
— а не так:
Шаблон {{tl|{{lc: {{BASEPAGENAME}} }}}} входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов {{tl|lang}} и {{tl|langi}} ({{tl|langi}} отличается от {{tl|lang}} тем, что текст в нём отображается ''[[курсив]]ом'').
что даст:
- Шаблон {{lang}} входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов {{lang}} и {{langi}} ({{langi}} отличается от {{lang}} тем, что текст в нём отображается курсивом).
- N.B. для шаблонов заготовки для копирования лучше оформлять в plain-text через pre и code или хотя бы приводить их дополнительно, т.к. новые редакторы (визуальный и вики-текста) будут стараться копировать оформление вставляя вики-ссылки и nowiki и рядовому пользователю неизвестна "вставка как обычный текст".
Детали
- Если шаблон используется без первого параметра, а в названии страницы есть слэш, то, что идёт после него, опускается.
- Шаблон понимает идентичность адресов Участник:Некий участник и Участник:Некий_участник и использует особые приёмы, чтобы обходить баги / особенности вики-движка, связанные с использованием символов «*», «:», «;» и т. п. на первом месте в названиях шаблонов или тексте ссылок. Не смутит его и замена символов их HTML-кодами, типа
/
для «/». - Если вы хотите поменять что-то в этом шаблоне, воспользуйтесь тестами на странице Шаблон:T/тесты для проверки его работоспособности после внесения изменений.
Можно сделать
- При ссылках на страницы в пространстве «Участник» и других (см. маску
Шаблон\:(Media|Служебная|Special|…
на MediaWiki:Titleblacklist) также можно автоматически включать флаг
g
, после чего нужда в ручном его указании останется только для других разделов. - Шаблон сейчас не работает с опущенным первым параметром вне пространства «Шаблон» (но не факт, что за его пределами нужны документации).
- Переписать на Lua; модуль бы более эффективно работал с флагами.
См. также
- {{tp}} — почти то же самое с параметрами
- {{tc}} — символическая запись в тегах
<code>
и с параметрами (для создания примеров на страницах документации)
- {{tlc}} — то же, что предыдущий, плюс ссылка
- {{flt}} — короткий вариант для ссылок на шаблоны в других языковых разделах
- {{ent}} — для ссылок на шаблоны в английском разделе