Шаблон:T/doc
Этот шаблон использует некоторые чрезвычайно сложные и эзотерические свойства языка определения шаблонов. Пожалуйста, не пытайтесь изменять его до тех пор, пока (а) вы до конца не поймёте, как он устроен, и (б) вы не будете готовы к устранению любых последствий в случае неожиданного результата. Эксперименты следует проводить в вашем личном пространстве.
|
Прежде, чем вносить какие-либо изменения в данный шаблон, просьба оттестировать их в /песочнице и проверить результат на странице с /контрольными примерами. Изменения могут быть внесены после этого в данный шаблон всего одной правкой. |
{{t}} — шаблон-суперкомбайн для создания символической записи имён шаблонов или ссылок на них, во стократ улучшенная версия {{tl}}. С помощью него можно сослаться на шаблон (и не только) где угодно, с любым текстом ссылки или без неё.
Шаблон не производит жирного серого текста, когда он ссылается на ту же страницу, на которой находится. Кроме того, с {{t}} вы никогда не замучаетесь пытаться попасть по восклицательному знаку в {{!}}: если в тексте ссылки всего один символ, в ссылку автоматически заключаются соседние фигурные скобки: {{!}}.
Другие названия этого шаблона: {{ш}}, {{шаблон}}.
Использование
править{{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|:Страница}}
→ {{:Страница}}
(Внешний вид этих примеров [наличие ссылки] будет отличаться на основной странице шаблона и на странице документации, Шаблон:T/doc.)
Флаги
{{t|шаблон|nolink}}
→ {{шаблон}}{{t|шаблон|п}}
→ {{подст:шаблон}}{{t|Участник:Jack who built the house/t|g}}
→ {{Участник:Jack who built the house/t}}{{t|шаблон|noredir}}
→ {{шаблон}}{{t||u}}
→ {{T}}{{t|шаблон|b}}
→ {{шаблон}}
Флаг nav
/ шаблон {{tnav}}:
{{tnav|t}}{{·}}{{tnav|tp}}{{·}}{{tnav|tc}}{{·}}{{tnav|tlc}}
{{t}} · {{tp}} · {{tc}} · {{tlc}}
Сразу несколько:
{{t||nl|s|u|b}}
→ {{subst:T}}{{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}} тем, что текст в нём отображается курсивом).
Детали
править- Если шаблон используется без первого параметра, а в названии страницы есть слэш, то, что идёт после него, опускается.
- Шаблон понимает идентичность адресов Участник:Некий участник и Участник:Некий_участник и использует особые приёмы, чтобы обходить баги / особенности вики-движка, связанные с использованием символов «*», «:», «;» и т. п. на первом месте в названиях шаблонов или тексте ссылок. Не смутит его и замена символов их HTML-мнемониками, типа
/
для «/». - Если вы хотите поменять что-то в этом шаблоне, воспользуйтесь тестами на странице Шаблон:T/тесты для проверки его работоспособности после внесения изменений.
Можно сделать
править- При ссылках на страницы в пространстве «Участник» и других (см. маску
Шаблон\:(Media|Служебная|Special|…
на MediaWiki:Titleblacklist) также можно автоматически включать флагg
, после чего нужда в ручном его указании останется только для других разделов. - Шаблон сейчас не работает с опущенным первым параметром вне пространства «Шаблон» (но не факт, что за его пределами нужны документации).
- Переписать на Lua; модуль бы более эффективно работал с флагами.
См. также
править- {{tp}} — почти то же самое с параметрами
- {{tc}} — символическая запись в тегах
<code>
и с параметрами (для создания примеров на страницах документации) - {{tlc}} — то же, что предыдущий, плюс ссылка
- {{flt}} — короткий вариант для ссылок на шаблоны в других языковых разделах
- {{ent}} — для ссылок на шаблоны в английском разделе