Template:Template usage: Difference between revisions
Appearance
mv doc to end so it shows template output at top |
m 53 revisions imported from wikipedia:Template:Template_usage |
||
| (42 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
<onlyinclude>{{ | <!-- Curly brackets matching should ignore [^}], \{{!}}; insource:/\{} is OK. | ||
--><onlyinclude><!-- | |||
Make a search link. | |||
-->{{plain link | |||
|url = | |||
{{fullurl:Special:Search|search=<!-- | |||
-->{{urlencode:<!-- encodes spaces, so let's avoid unnecessary spaces. | |||
Build this query: | |||
hastemplate: template insource:/\{\{ *[Tt]emplate *\| *[^}]*pattern/ | |||
Add the ever present "hastemplate:" filter and a space | |||
-->hastemplate:"{{{template|{{{1|Template usage}}}}}}" <!-- | |||
Add the "insource:/\{\{ *" | |||
-->insource:/\{\{ *<!-- | |||
Add the "[Tt]". | |||
Save from an expensive, /regexp/i. | |||
-->[{{#invoke:String|sub<!-- saw first [ of a "[Tt]" --> | |||
|{{uc:{{{template|{{{1|Template usage}}}}}}}}|1|1}}{{#invoke:String|sub | |||
|{{lc:{{{template|{{{1|Template usage}}}}}}}}|1|1}}]{{#invoke:String|sub | |||
--> {{# | <!-- ^ | ||
You saw ]. | |||
Add "emplate", the rest of the template name, starting from char 2.--> | |||
|{{{template|{{{1|Template usage}}}}}}|2}}<!-- | |||
Add the tricky regexp part. | |||
--> *\{{!}}[^}]*<!-- optional space " *" around initial pipe | |||
initial pipe is \|, i.e. \{{!}} | |||
Trickiest part: [character class] inverted with ^: [^any char NOT }] | |||
Zero or more (*) of those "non-curly brackets". | |||
All this stuff always matches, shows in bold in the search results | |||
--> {{#switch:{{{prefix|{{FULLPAGENAME}}}}} | Add the users regexp pattern part and closing /. | ||
|{{ | -->{{{pattern|{{{2|''regexp''}}}}}}/<!-- | ||
|:| | |||
|n = | Add "prefix:" You see the space before it. | ||
|1 = | --> prefix:<!-- | ||
|2 = | -->{{#switch:<!-- add namespace "numbers and letters" recognition --> | ||
|3 = | {{{prefix|{{{3|}}}}}} | ||
|4 = | |#default = {{{prefix|{{{3|{{FULLPAGENAME}}}}}}}} | ||
|5 = | |n = {{NAMESPACE}} | ||
|6 = | |0|: = : | ||
|7 = | |1 = {{ns:1}}: | ||
|8 = | |2 = {{ns:2}}: | ||
|9 = | |3 = {{ns:3}}: | ||
|10 = | |4 = {{ns:4}}: | ||
|11 = | |5 = {{ns:5}}: | ||
|12 = | |6 = {{ns:6}}: | ||
|13 = | |7 = {{ns:7}}: | ||
|14 = | |8 = {{ns:8}}: | ||
|15 = | |9 = {{ns:9}}: | ||
|100 = | |10 = {{ns:10}}: | ||
|101 = | |11 = {{ns:11}}: | ||
| | |12 = {{ns:12}}: | ||
| | |13 = {{ns:13}}: | ||
| | |14 = {{ns:14}}: | ||
| | |15 = {{ns:15}}: | ||
|# | |100 = {{ns:100}}: | ||
}}</onlyinclude> | |101 = {{ns:101}}: | ||
<noinclude>{{Documentation}}</noinclude> | |118 = {{ns:118}}: | ||
|119 = {{ns:119}}: | |||
|710 = {{ns:710}}: | |||
|711 = {{ns:711}}: | |||
|828 = {{ns:828}}: | |||
|829 = {{ns:829}}: | |||
}} | |||
}}<!-- End urlencode. --> | |||
}}<!-- End fullurl | |||
url done | |||
Now for name param of plainlinks. | |||
Appearance of link looks just like the query, unless labeled. | |||
So we're rebuilding the query just for show this time. --> | |||
|name = <!-- for commentary see duplicate above --> | |||
{{#if: | |||
{{{label|{{{4|}}}}}} | |||
|{{{label|{{{4}}}}}} | |||
|{{#if: | |||
{{{prefix|{{{3|}}}}}} | |||
|hastemplate:"{{{template|{{{1|Template usage}}}}}}" <!-- | |||
-->insource:/\{\{ *<!-- | |||
-->[{{#invoke:String|sub<!-- saw first [ of a "[Tt]" --> | |||
|{{uc:{{{template|{{{1|Template usage}}}}}}}}|1|1}}{{#invoke:String|sub | |||
|{{lc:{{{template|{{{1|Template usage}}}}}}}}|1|1}}]{{#invoke:String|sub | |||
|{{{template|{{{1|Template usage}}}}}}|2}}<!-- ^ | |||
--> *\{{!}}[^}]*<!-- optional space " *" around initial pipe | |||
-->{{#invoke:String|replace | |||
|{{#invoke:String|replace | |||
|{{{pattern|{{{2|''regexp''}}}}}}<!-- Given pattern | |||
-->|[|[}}<!-- Replace any/all [ with HTML symbol | |||
-->|]|]}}/<!-- replace any/all ] with there HTML symbol | |||
--> prefix:<!-- | |||
-->{{#switch:<!-- add namespace "numbers and letters" recognition --> | |||
{{{prefix|{{{3|}}}}}} | |||
|#default = {{{prefix|{{{3|{{FULLPAGENAME}}}}}}}} | |||
|n = {{NAMESPACE}} | |||
|0|: = <nowiki />: | |||
|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}}: | |||
|118 = {{ns:118}}: | |||
|119 = {{ns:119}}: | |||
|710 = {{ns:710}}: | |||
|711 = {{ns:711}}: | |||
|828 = {{ns:828}}: | |||
|829 = {{ns:829}}: | |||
}} | |||
|{{#invoke:String|replace | |||
|{{#invoke:String|replace | |||
|'''Testing''' <kbd>{{{pattern|{{{2}}}}}}</kbd> '''on this page'''<!-- | |||
-->|[|[}}<!-- Replace any/all [ with HTML symbol | |||
-->|]|]}}<!-- replace any/all ] with there HTML symbol--> | |||
}} | |||
}} | |||
}}<!-- End of plainlinks | |||
--></onlyinclude><noinclude>{{Documentation}}</noinclude> | |||
Latest revision as of 20:49, 24 January 2026
File:Test Template Info-Icon - Version (2).svg Template documentation[create] [purge]