|
|
Строка 1: |
Строка 1: |
− | {{#if: {{#if: {{{3|}}}{{{4|}}}{{{5|}}}{{{lang|}}}{{{sister|}}}{{{text|}}} | | {{#ifeq: {{{2|nav}}} | nav | {{#if: {{{1|}}} | {{#ifexpr: {{str len|{{{1}}}}} = 1 | | {{#ifeq: {{str left|{{{1}}}|1}} | : | | x }} }} | {{#ifexpr: {{str len|{{ROOTPAGENAME}}}} = 1 | {{#if: {{#titleparts: {{PAGENAME}} | 1 | 2 }} | | x }} | x }} }} | }} }}
| + | #REDIRECT [[Шаблон:T]] |
− | <!-- Оптимизируем выполнение, не вынуждая парсер проходить через катакомбы сложной обработки параметров,
| |
− | если шаблон вызван без дополнительных параметров и то, что дано, не требует особой обработки -->
| |
− | | {{#if: {{{1|}}} |
| |
− | {{#ifeq:
| |
− | {{FULLPAGENAME: Шаблон:{{{1}}} }} <!-- {{FULLPAGENAME:}} для преобразования «_» в « » и т. п., -->
| |
− | | {{FULLPAGENAME}} <!-- а также решения проблемы с именами на «*», «;» и т. п. при вызове ucfirst -->
| |
− | | {{#ifeq: {{{2|}}} | nav | ''' }}<span class="wp-templatelink">{{</span>{{#if: {{{comment|}}} | <span title="{{{comment}}}" style="border-bottom: 1px dotted; cursor: help;"> }}{{{1}}}{{#if: {{{comment|}}} | </span> }}<span class="wp-templatelink">}}</span>{{#ifeq: {{{2|}}} | nav | ''' }}
| |
− | | <span class="wp-templatelink">{{</span>[[Шаблон:{{{1}}}|{{#if: {{{comment|}}} | <span title="{{{comment}}}" style="border-bottom: 1px dotted; cursor: help;"> }}{{{1}}}{{#if: {{{comment|}}} | </span> }}]]<span class="wp-templatelink">}}</span>
| |
− | }}
| |
− | | <span class="wp-templatelink">{{</span>{{#if: {{#titleparts: {{PAGENAME}} | 1 | 2 }}
| |
− | | [[Шаблон:{{ROOTPAGENAME}}|{{lcfirst: {{ROOTPAGENAME}} }}]]
| |
− | | {{lcfirst: {{ROOTPAGENAME}} }}
| |
− | }}<span class="wp-templatelink">}}</span>
| |
− | }}
| |
− | | {{#if: {{{1|}}} <!-- С первым параметром -->
| |
− | | {{#if: <!-- Показывать ли ссылку -->
| |
− | {{#if: {{#switch:{{{2|}}}|nl=x|nolink=x|{{#switch:{{{3|}}}|nl=x|nolink=x|{{#switch:{{{4|}}}|nl=x|nolink=x|{{#switch:{{{5|}}}|nl=x|nolink=x|}}}}}}}}
| |
− | | x
| |
− | | {{#if: {{{lang|}}}
| |
− | |
| |
− | | {{#if: {{{sister|}}}
| |
− | |
| |
− | | {{#ifeq:
| |
− | {{#if: {{#ifeq:{{{2|}}}|g|x|{{#ifeq:{{{3|}}}|g|x|{{#ifeq:{{{4|}}}|g|x|{{#ifeq:{{{5|}}}|g|x|{{#ifeq: {{str left|{{{1}}}|1}} | : | x | }}}}}}}}}}
| |
− | | {{FULLPAGENAME: {{{1}}} }} <!-- ←↙ Что сравниваем -->
| |
− | | {{FULLPAGENAME: Шаблон:{{{1}}} }} <!-- {{FULLPAGENAME:}} для преобразования «_» в « » и т. п., -->
| |
− | }} <!-- а также решения проблемы с именами на «*», «;» и т. п. при вызове ucfirst -->
| |
− | | {{FULLPAGENAME}} <!-- С чем сравниваем -->
| |
− | | x
| |
− | |
| |
− | }}
| |
− | }}
| |
− | }}
| |
− | }}
| |
− | | {{#if: {{#ifeq:{{{2|}}}|nav|x|{{#ifeq:{{{3|}}}|nav|x|{{#ifeq:{{{4|}}}|nav|x|{{#ifeq:{{{5|}}}|nav|x|}}}}}}}} | ''' }}<span {{#if: {{#ifeq:{{{2|}}}|b|x|{{#ifeq:{{{3|}}}|b|x|{{#ifeq:{{{4|}}}|b|x|{{#ifeq:{{{5|}}}|b|x|}}}}}}}} | | class="wp-templatelink" }}>{{{{#if: {{#ifeq:{{{2|}}}|s|x|{{#ifeq:{{{3|}}}|s|x|{{#ifeq:{{{4|}}}|s|x|{{#ifeq:{{{5|}}}|s|x|}}}}}}}} | subst: | {{#if: {{#ifeq:{{{2|}}}|п|x|{{#ifeq:{{{3|}}}|п|x|{{#ifeq:{{{4|}}}|п|x|{{#ifeq:{{{5|}}}|п|x|}}}}}}}} | подст: | }} }}</span>{{#if: {{{comment|}}} | <span title="{{{comment}}}" style="border-bottom: 1px dotted; cursor: help;"> }}{{{text|{{{1}}}}}}{{#if: {{{comment|}}} | </span> }}<span {{#if: {{#ifeq:{{{2|}}}|b|x|{{#ifeq:{{{3|}}}|b|x|{{#ifeq:{{{4|}}}|b|x|{{#ifeq:{{{5|}}}|b|x|}}}}}}}} | | class="wp-templatelink" }}>}}</span>{{#if: {{#ifeq:{{{2|}}}|nav|x|{{#ifeq:{{{3|}}}|nav|x|{{#ifeq:{{{4|}}}|nav|x|{{#ifeq:{{{5|}}}|nav|x|}}}}}}}} | ''' }}
| |
− | | {{#if: <!-- Забирать ли в ссылку соседние фигурные скобки -->
| |
− | {{#ifexpr: {{str len|{{{text|{{{1}}}}}}}} != 1
| |
− | | x
| |
− | | {{#switch:{{{2|}}}|s=x|п=x|b=x|{{#switch:{{{3|}}}|s=x|п=x|b=x|{{#switch:{{{4|}}}|s=x|п=x|b=x|{{#switch:{{{5|}}}|s=x|п=x|b=x|{{{s|{{{п|}}}}}}}}}}}}}}
| |
− | }}
| |
− | | <span {{#if: {{#ifeq:{{{2|}}}|b|x|{{#ifeq:{{{3|}}}|b|x|{{#ifeq:{{{4|}}}|b|x|{{#ifeq:{{{5|}}}|b|x|}}}}}}}} | | class="wp-templatelink" }}>{{{{#if: {{#ifeq:{{{2|}}}|s|x|{{#ifeq:{{{3|}}}|s|x|{{#ifeq:{{{4|}}}|s|x|{{#ifeq:{{{5|}}}|s|x|}}}}}}}} | subst: | {{#if: {{#ifeq:{{{2|}}}|п|x|{{#ifeq:{{{3|}}}|п|x|{{#ifeq:{{{4|}}}|п|x|{{#ifeq:{{{5|}}}|п|x|}}}}}}}} | подст: | }} }}</span>{{#if: {{#if: {{#ifeq:{{{2|}}}|noredir|x|{{#ifeq:{{{3|}}}|noredir|x|{{#ifeq:{{{4|}}}|noredir|x|{{#ifeq:{{{5|}}}|noredir|x|}}}}}}}} | {{#if: {{{lang|}}} | x | {{#if: {{{sister|}}} | x | {{#ifexist: {{#if: {{#ifeq:{{{2|}}}|g|x|{{#ifeq:{{{3|}}}|g|x|{{#ifeq:{{{4|}}}|g|x|{{#ifeq:{{{5|}}}|g|x|{{#ifeq: {{str left|{{{1}}}|1}} | : | x | }}}}}}}}}} | {{FULLPAGENAME: {{{1}}} }} | Template:{{{1}}} }} | x | }} }} }} }}
| |
− | <!-- {{{lang}}} и {{{sister}}} появляются не в начале, а с FULLPAGENAME,
| |
− | чтобы FULLPAGENAME не менял название пространств имён для других разделов/проектов -->
| |
− | | <span class="plainlinks">[{{fullurl: {{#if: {{#ifeq:{{{2|}}}|g|x|{{#ifeq:{{{3|}}}|g|x|{{#ifeq:{{{4|}}}|g|x|{{#ifeq:{{{5|}}}|g|x|{{#ifeq: {{str left|{{{1}}}|1}} | : | x | }}}}}}}}}} | {{FULLPAGENAME: {{#if: {{{lang|}}} | {{{lang}}}: | }}{{#if: {{{sister|}}} | {{{sister}}}: | }}{{{1}}} }} | {{#if: {{{lang|}}} | {{{lang}}}: | }}{{#if: {{{sister|}}} | {{{sister}}}: | }}Template:{{{1}}} }} | redirect=no }} {{#if: {{{comment|}}} | <span title="{{{comment}}}" style="border-bottom: 1px dotted; cursor: help;"> }}{{{text|{{{1}}}}}}{{#if: {{{comment|}}} | </span> }}]</span>
| |
− | | [[:{{#if: {{#ifeq:{{{2|}}}|g|x|{{#ifeq:{{{3|}}}|g|x|{{#ifeq:{{{4|}}}|g|x|{{#ifeq:{{{5|}}}|g|x|{{#ifeq: {{str left|{{{1}}}|1}} | : | x | }}}}}}}}}} | {{FULLPAGENAME: {{#if: {{{lang|}}} | {{{lang}}}: | }}{{#if: {{{sister|}}} | {{{sister}}}: | }}{{{1}}} }} | {{#if: {{{lang|}}} | {{{lang}}}: | }}{{#if: {{{sister|}}} | {{{sister}}}: | }}Template:{{{1}}} }}|{{#if: {{{comment|}}} | <span title="{{{comment}}}" style="border-bottom: 1px dotted; cursor: help;"> }}{{{text|{{{1}}}}}}{{#if: {{{comment|}}} | </span> }}]]
| |
− | }}<span {{#if: {{#ifeq:{{{2|}}}|b|x|{{#ifeq:{{{3|}}}|b|x|{{#ifeq:{{{4|}}}|b|x|{{#ifeq:{{{5|}}}|b|x|}}}}}}}} | | class="wp-templatelink" }}>}}</span>
| |
− | | <span {{#if: {{#ifeq:{{{2|}}}|b|x|{{#ifeq:{{{3|}}}|b|x|{{#ifeq:{{{4|}}}|b|x|{{#ifeq:{{{5|}}}|b|x|}}}}}}}} | | class="wp-templatelink" }}>{</span>{{#if: {{#if: {{#ifeq:{{{2|}}}|noredir|x|{{#ifeq:{{{3|}}}|noredir|x|{{#ifeq:{{{4|}}}|noredir|x|{{#ifeq:{{{5|}}}|noredir|x|}}}}}}}} | {{#if: {{{lang|}}} | x | {{#if: {{{sister|}}} | x | {{#ifexist: {{#if: {{#ifeq:{{{2|}}}|g|x|{{#ifeq:{{{3|}}}|g|x|{{#ifeq:{{{4|}}}|g|x|{{#ifeq:{{{5|}}}|g|x|{{#ifeq: {{str left|{{{1}}}|1}} | : | x | }}}}}}}}}} | {{FULLPAGENAME: {{{1}}} }} | Template:{{{1}}} }} | x | }} }} }} }}
| |
− | | <span class="plainlinks">[{{fullurl: {{#ifeq: {{{1}}} | : | <!-- «:» как ссылка на другие разделы работает, а не должно (в случае шаблонов) --> | {{#if: {{{lang|}}} | {{{lang}}}: | }}{{#if: {{{sister|}}} | {{{sister}}}: | }} }}{{#if: {{#ifeq:{{{2|}}}|g|x|{{#ifeq:{{{3|}}}|g|x|{{#ifeq:{{{4|}}}|g|x|{{#ifeq:{{{5|}}}|g|x|{{#ifeq: {{str left|{{{1}}}|1}} | : | x | }}}}}}}}}} | {{FULLPAGENAME: {{{1}}} }} | Template:{{{1}}} }} | redirect=no }} <span class="wp-templatelink">{</span>{{#if: {{{comment|}}} | <span title="{{{comment}}}" style="border-bottom: 1px dotted; cursor: help;"> }}{{{text|{{{1}}}}}}{{#if: {{{comment|}}} | </span> }}<span class="wp-templatelink">}</span>]</span>
| |
− | | [[:{{#ifeq: {{{1}}} | : | <!-- «:» как ссылка на другие разделы работает, а не должно (в случае шаблонов) --> | {{#if: {{{lang|}}} | {{{lang}}}: | }}{{#if: {{{sister|}}} | {{{sister}}}: | }} }}{{#if: {{#ifeq:{{{2|}}}|g|x|{{#ifeq:{{{3|}}}|g|x|{{#ifeq:{{{4|}}}|g|x|{{#ifeq:{{{5|}}}|g|x|{{#ifeq: {{str left|{{{1}}}|1}} | : | x | }}}}}}}}}} | {{FULLPAGENAME: {{{1}}} }} | Template:{{{1}}} }}|<span class="wp-templatelink">{</span>{{#if: {{{comment|}}} | <span title="{{{comment}}}" style="border-bottom: 1px dotted; cursor: help;"> }}{{{text|{{{1}}}}}}{{#if: {{{comment|}}} | </span> }}<span class="wp-templatelink">}</span>]]
| |
− | }}<span class="wp-templatelink">}</span>
| |
− | }}
| |
− | }}
| |
− | | {{#if: <!-- Без первого параметра. Показывать ли ссылку -->
| |
− | {{#if: {{#switch:{{{2|}}}|nl=x|nolink=x|{{#switch:{{{3|}}}|nl=x|nolink=x|{{#switch:{{{4|}}}|nl=x|nolink=x|{{#switch:{{{5|}}}|nl=x|nolink=x|}}}}}}}}
| |
− | | x
| |
− | | {{#if: {{#titleparts: {{PAGENAME}} | 1 | 2 }}
| |
− | |
| |
− | | x
| |
− | }}
| |
− | }}
| |
− | | <span {{#if: {{#ifeq:{{{2|}}}|b|x|{{#ifeq:{{{3|}}}|b|x|{{#ifeq:{{{4|}}}|b|x|{{#ifeq:{{{5|}}}|b|x|}}}}}}}} | | class="wp-templatelink" }}>{{{{#if: {{#ifeq:{{{2|}}}|s|x|{{#ifeq:{{{3|}}}|s|x|{{#ifeq:{{{4|}}}|s|x|{{#ifeq:{{{5|}}}|s|x|}}}}}}}} | subst: | {{#if: {{#ifeq:{{{2|}}}|п|x|{{#ifeq:{{{3|}}}|п|x|{{#ifeq:{{{4|}}}|п|x|{{#ifeq:{{{5|}}}|п|x|}}}}}}}} | подст: | }} }}</span>{{{text|{{#if: {{#ifeq:{{{2|}}}|u|x|{{#ifeq:{{{3|}}}|u|x|{{#ifeq:{{{4|}}}|u|x|{{#ifeq:{{{5|}}}|u|x|}}}}}}}} | {{ROOTPAGENAME}} | {{lcfirst: {{ROOTPAGENAME}} }} }}}}}<span {{#if: {{#ifeq:{{{2|}}}|b|x|{{#ifeq:{{{3|}}}|b|x|{{#ifeq:{{{4|}}}|b|x|{{#ifeq:{{{5|}}}|b|x|}}}}}}}} | | class="wp-templatelink" }}>}}</span>
| |
− | | {{#if: <!-- Забирать ли в ссылку соседние фигурные скобки -->
| |
− | {{#ifexpr: {{str len|{{{text|{{ROOTPAGENAME}}}}}}} != 1
| |
− | | x
| |
− | | {{#switch:{{{2|}}}|s=x|п=x|b=x|{{#switch:{{{3|}}}|s=x|п=x|b=x|{{#switch:{{{4|}}}|s=x|п=x|b=x|{{#switch:{{{5|}}}|s=x|п=x|b=x|{{{s|{{{п|}}}}}}}}}}}}}}
| |
− | }}
| |
− | | <span {{#if: {{#ifeq:{{{2|}}}|b|x|{{#ifeq:{{{3|}}}|b|x|{{#ifeq:{{{4|}}}|b|x|{{#ifeq:{{{5|}}}|b|x|}}}}}}}} | | class="wp-templatelink" }}>{{{{#if: {{#ifeq:{{{2|}}}|s|x|{{#ifeq:{{{3|}}}|s|x|{{#ifeq:{{{4|}}}|s|x|{{#ifeq:{{{5|}}}|s|x|}}}}}}}} | subst: | {{#if: {{#ifeq:{{{2|}}}|п|x|{{#ifeq:{{{3|}}}|п|x|{{#ifeq:{{{4|}}}|п|x|{{#ifeq:{{{5|}}}|п|x|}}}}}}}} | подст: | }} }}</span>[[Шаблон:{{ROOTPAGENAME}}|{{{text|{{#if: {{#ifeq:{{{2|}}}|u|x|{{#ifeq:{{{3|}}}|u|x|{{#ifeq:{{{4|}}}|u|x|{{#ifeq:{{{5|}}}|u|x|}}}}}}}} | {{ROOTPAGENAME}} | {{lcfirst: {{ROOTPAGENAME}} }} }}}}}]]<span {{#if: {{#ifeq:{{{2|}}}|b|x|{{#ifeq:{{{3|}}}|b|x|{{#ifeq:{{{4|}}}|b|x|{{#ifeq:{{{5|}}}|b|x|}}}}}}}} | | class="wp-templatelink" }}>}}</span>
| |
− | | <span {{#if: {{#ifeq:{{{2|}}}|b|x|{{#ifeq:{{{3|}}}|b|x|{{#ifeq:{{{4|}}}|b|x|{{#ifeq:{{{5|}}}|b|x|}}}}}}}} | | class="wp-templatelink" }}>{</span>[[Шаблон:{{ROOTPAGENAME}}|<span class="wp-templatelink">{</span>{{{text|{{#if: {{#ifeq:{{{2|}}}|u|x|{{#ifeq:{{{3|}}}|u|x|{{#ifeq:{{{4|}}}|u|x|{{#ifeq:{{{5|}}}|u|x|}}}}}}}} | {{ROOTPAGENAME}} | {{lcfirst: {{ROOTPAGENAME}} }} }}}}}<span class="wp-templatelink">}</span>]]<span class="wp-templatelink">}</span>
| |
− | }}
| |
− | }}
| |
− | }}
| |
− | }}<!--
| |
− | | |
− | Некоторые детали:
| |
− | • больше всего места занимает «прочесывание» параметров в поисках допустимых значений;
| |
− | • когда мы находимся в документации (Шаблон:Имя шаблона/doc), ссылка тоже показывается;
| |
− | • x — подобие true или крестика в чекбоксе (со значением 1 получается путаница, ведь противоположность 1 — 0, но 0 тоже обрабатывается как true).
| |
− | | |
− | --><noinclude>{{doc}}</noinclude>
| |