Template:Template usage: Difference between revisions
Appearance
minor fix |
version 2 looks like search link, but can also act with a "Testing regexp" phase |
||
| Line 1: | Line 1: | ||
<onlyinclude>{{# | <!-- for curly brackets code-matching ignore [^{], \{{!}}, and insource:/{} | ||
--><onlyinclude>{{#if: | |||
{{{pattern|}}} | |||
| <!-- PATTERN true --> | |||
{{#if: | |||
{{{prefix|}}} | |||
| <!-- PREFIX AND PATTERN true, Plainlinks #1 | |||
|{{ | -->{{plain link | url = {{fullurl:Special:Search|search={{urlencode: | ||
hastemplate:"{{{template|Val}}}" <!-- hastemplate, an all-important filter. | |||
A filter is always recommended for what this template is built for, | |||
an insource:/regexp pattern/. But there's always the hastemplate part, | |||
even if no insource:/regexp/ part. | |||
--> insource:/{<!-- 1st a space. Start /{regexp/ with curly bracket. | |||
You saw the starting / of the /regexp/. | |||
-->[{{#invoke:String|sub<!-- first [ of "[Xx]" | |||
Now save from an expensive, /regexp/i, case-insensitive search | |||
by outputing [Xx] where x is first letter of template name. --> | |||
|{{uc:{{{template|val}}}}}|1|1}}{{#invoke:String|sub | |||
|{{lc:{{{template|val}}}}}|1|1}}]{{#invoke:String|sub | |||
|{{{template|val}}}|2}}\{{!}}<!-- Template name and its pipe: \|, i.e. {{!}} | |||
Trickiest part: [character class] inverted with ^: [^any char NOT }] | |||
-->[^}]*<!-- Zero or more (*) All this shows in bold in the search results | |||
-->{{{pattern}}}/<!--User part: last part of regexp, shows in bold too. | |||
You saw the ending / of the /regexp/. | |||
You see the the space before prefix next: | |||
--> | |||
--> | |||
--> prefix:{{#switch:{{{prefix}}} | |||
|#default = {{{prefix}}} | |||
|n = {{NAMESPACE}}: | |||
|0|: = {{ns:0}}: | |||
|1 = {{ns:1}}: | |||
|2 = {{ns:2}}: | |||
|3 = {{ns:3}}: | |||
|4 = {{ns:4}}: | |||
|5 = {{ns:5}}: | |||
|6 = {{ns:6}}: | |||
|7 = {{ns:7}}: | |||
|8 = {{ns:8}}: | |||
|9 = {{ns:9}}: | |||
|10 = {{ns:10}}: | |||
|11 = {{ns:11}}: | |||
|12 = {{ns:12}}: | |||
|13 = {{ns:13}}: | |||
|14 = {{ns:14}}: | |||
|15 = {{ns:15}}: | |||
|100 = {{ns:100}}: | |||
|101 = {{ns:101}}: | |||
|108 = {{ns:108}}: | |||
|109 = {{ns:109}}: | |||
|118 = {{ns:118}}: | |||
|119 = {{ns:119}}: | |||
}} | |||
}}<!-- saw end urlencode --> | |||
}}<!-- end fullurl | |||
For show, appearance of link looks just like the query: --> | |||
| name = {{{name|hastemplate:"{{{template|Val}}}"<!-- | |||
--> insource:/{<!-- | |||
-->{{#invoke:String|sub | |||
|{{uc:{{{template|val}}}}}|1|1}}{{#invoke:String|sub | |||
|{{lc:{{{template|val}}}}}|1|1}}]{{#invoke:String|sub | |||
|{{{template|val}}}|2}}\{{!}}<!-- | |||
-->[^}]*<!-- | |||
-->{{{pattern}}}/<!-- Namespace numbers need upkeep | |||
--> prefix:{{#switch:{{{prefix}}} | |||
|#default = {{{prefix}}} | |||
|n = {{NAMESPACE}}: | |||
|0|: = {{ns:0}}: | |||
|1 = {{ns:1}}: | |||
|2 = {{ns:2}}: | |||
|3 = {{ns:3}}: | |||
|4 = {{ns:4}}: | |||
|5 = {{ns:5}}: | |||
|6 = {{ns:6}}: | |||
|7 = {{ns:7}}: | |||
|8 = {{ns:8}}: | |||
|9 = {{ns:9}}: | |||
|10 = {{ns:10}}: | |||
|11 = {{ns:11}}: | |||
|12 = {{ns:12}}: | |||
|13 = {{ns:13}}: | |||
|14 = {{ns:14}}: | |||
|15 = {{ns:15}}: | |||
|100 = {{ns:100}}: | |||
|101 = {{ns:101}}: | |||
|108 = {{ns:108}}: | |||
|109 = {{ns:109}}: | |||
|118 = {{ns:118}}: | |||
|119 = {{ns:119}}: | |||
}}}}}<!-- three extra brackets due to {{{name}}} --> | |||
}}<!-- End of plainlinks #1, true true | |||
--> {{# | -->| <!-- PREFIX now false, PATTERN still true --> | ||
|{{FULLPAGENAME}} = | {{plain link <!-- plainlinks #2 --> | ||
|:|0 = | | url = | ||
|n = | {{fullurl: | ||
|1 = | Special:Search | ||
|2 = | |search={{urlencode: | ||
|3 = | hastemplate:"{{{template|Val}}}" insource:/{<!-- | ||
|4 = | -->{{#invoke:String|sub | ||
|5 = | |{{uc:{{{template|val}}}}}|1|1}}{{#invoke:String|sub | ||
|6 = | |{{lc:{{{template|val}}}}}|1|1}}]{{#invoke:String|sub | ||
|7 = | |{{{template|val}}}|2}}\{{!}}<!-- | ||
|8 = | -->[^}]*<!-- | ||
|9 = | -->{{{pattern}}}/<!-- | ||
|10 = | --> prefix:{{FULLPAGENAME}} | ||
|11 = | }} | ||
|12 = | }} | ||
|13 = | | name = {{{name|Test regexp. Locate {{{template|Val}}}}}} | ||
|14 = | }}<!-- end plainlinks #2 --> | ||
|15 = | }}<!-- end first nested #if:prefix --> | ||
|100 = | | <!-- PATTERN false --> | ||
|101 = | {{#if: <!-- start second nested #if:prefix --> | ||
|108 = | {{{prefix|}}} | ||
|109 = | | <!-- PATTERN false PREFIX true --> | ||
|118 = | {{plain link <!-- plainlinks #3 --> | ||
|119 = | | url = | ||
|# | {{fullurl: | ||
}}</onlyinclude> | Special:Search | ||
|search={{urlencode: | |||
hastemplate:"{{{template|Val}}}" prefix:{{{prefix}}}<!-- | |||
--> prefix:{{#switch:{{{prefix}}} | |||
|#default = {{{prefix}}} | |||
|n = {{NAMESPACE}}: | |||
|0|: = {{ns:0}}: | |||
|1 = {{ns:1}}: | |||
|2 = {{ns:2}}: | |||
|3 = {{ns:3}}: | |||
|4 = {{ns:4}}: | |||
|5 = {{ns:5}}: | |||
|6 = {{ns:6}}: | |||
|7 = {{ns:7}}: | |||
|8 = {{ns:8}}: | |||
|9 = {{ns:9}}: | |||
|10 = {{ns:10}}: | |||
|11 = {{ns:11}}: | |||
|12 = {{ns:12}}: | |||
|13 = {{ns:13}}: | |||
|14 = {{ns:14}}: | |||
|15 = {{ns:15}}: | |||
|100 = {{ns:100}}: | |||
|101 = {{ns:101}}: | |||
|108 = {{ns:108}}: | |||
|109 = {{ns:109}}: | |||
|118 = {{ns:118}}: | |||
|119 = {{ns:119}}: | |||
}} | |||
}} | |||
}} | |||
| name = | |||
{{{name|hastemplate:"{{{template|Val}}}"<!-- | |||
--> prefix:{{#switch:{{{prefix}}} | |||
|#default = {{{prefix}}} | |||
|n = {{NAMESPACE}}: | |||
|0|: = {{ns:0}}: | |||
|1 = {{ns:1}}: | |||
|2 = {{ns:2}}: | |||
|3 = {{ns:3}}: | |||
|4 = {{ns:4}}: | |||
|5 = {{ns:5}}: | |||
|6 = {{ns:6}}: | |||
|7 = {{ns:7}}: | |||
|8 = {{ns:8}}: | |||
|9 = {{ns:9}}: | |||
|10 = {{ns:10}}: | |||
|11 = {{ns:11}}: | |||
|12 = {{ns:12}}: | |||
|13 = {{ns:13}}: | |||
|14 = {{ns:14}}: | |||
|15 = {{ns:15}}: | |||
|100 = {{ns:100}}: | |||
|101 = {{ns:101}}: | |||
|108 = {{ns:108}}: | |||
|109 = {{ns:109}}: | |||
|118 = {{ns:118}}: | |||
|119 = {{ns:119}}: | |||
}}}}}<!-- three extra brackets due to {{{name}}} --> | |||
}} <!-- end plainlinks #3 | |||
-->| <!-- PREFIX now false, PATTERN still false --> | |||
{{plain link <!-- plainlinks #4 --> | |||
| url = | |||
{{fullurl: | |||
Special:Search | |||
|search={{urlencode: | |||
hastemplate:"{{{template|Val}}}" | |||
}} | |||
}} | |||
| name = {{{name|hastemplate:"{{{template|Val}}}"}}} | |||
}} <!-- end plainlinks #4 --> | |||
}} <!-- end of second nested #if:prefix --> | |||
}}</onlyinclude><!-- end of first, opening #if:pattern --> | |||
<noinclude>{{Documentation}}</noinclude> | <noinclude>{{Documentation}}</noinclude> | ||
Revision as of 20:15, 29 June 2015
File:Test Template Info-Icon - Version (2).svg Template documentation[create] [purge]