Template:!/doc
{{#ifeq:!/doc |doc
|
{{#ifeq:show |show
| {{#invoke:Message box|mbox}} }}{{#if: | | {{#ifexist:Template:!/doc | [[Category:{{#switch:Template |Template=Template |Module=Module |User=User |#default=Wikipedia}} documentation pages]] | }} }} | }}
{{#invoke:Message box|ombox}}
[edit] Usage
This is the {{!}} meta-template. Its use is analogous to an escape character.
This is an auxiliary template allowing the encoding of "|
" within template parameters, because the pipe character is normally interpreted as a separator. This template is necessary if the character is used in wiki table syntax, or if the parameter is automatically wikilinked and you wish to use a pipe to specify different link text from the target page name. In other cases it is better to use "|
".
This template cannot be used for putting the character as text in a wiki table; in that case, again, "|
" can be used.
Note that no special template is needed for "!
" (exclamation mark).
This is a high-risk template, and it usually cannot be substituted (see conditions for substing on the section below).
[edit] Substitution
It is possible to substitute {{!}} only if an unescaped "|
" works as expected, i.e. after substituting the template containing {{!}}, or after eliminating an
#if containing {{!}}.
[edit] A simple example
The following template code for {{Quotation}} using an ordinary pipe character,
-
{{Quotation|It is not possible to use an ordinary pipe character | in template parameters, as it will be interpreted as a separator.|[[Help:Template#Usage hints and workarounds]]}}
produces:
It is not possible to use an ordinary pipe character {{#if: in template parameters, as it will be interpreted as a separator. |— in template parameters, as it will be interpreted as a separator.{{#if:Help:Template#Usage hints and workarounds |, Help:Template#Usage hints and workarounds }}{{#if: |, {{{4}}} }}
}}
whereas this code using the {{!}} meta-template,
-
{{Quotation|It is not possible to use an ordinary pipe character {{!}} in template parameters, as it will be interpreted as a separator.|[[Help:Template#Usage hints and workarounds]]}}
produces:
It is not possible to use an ordinary pipe character | in template parameters, as it will be interpreted as a separator. {{#if:Help:Template#Usage hints and workarounds |— Help:Template#Usage hints and workarounds{{#if: |, {{{3}}} }}{{#if: |, {{{4}}} }}
}}
[edit] See also
- {{!!}} creates ||
- {{!-}} creates |-
- {{-!}} creates |
- {{'}} and related
- Wikipedia:Conditional tables
- {{pipe}} - Note that this one looks like {{{{#if:!|!| tlf|...}}{{#ifeq:x|| |{{{2}}} | }}{{#ifeq:x|| |{{{3}}} | }}{{#ifeq:x|| |{{{4}}} | }}{{#ifeq:x|| |{{{5}}} | }}{{#ifeq:x|| |{{{6}}} | }}{{#ifeq:x|| |{{{7}}} | }}{{#ifeq:x|| |{{{8}}} | }}{{#ifeq:x|| |{{{9}}} | }}}} but has a very different meaning for the MediaWiki parser and thus has different functionality.
- {{(}} creates {
- {{((}} creates {{
- {{)}} creates }
- {{))}} creates }}
- {{!(}} creates [
- {{)!}} creates ]
- {{(!}} creates {|
- {{!)}} creates |}
- {{=}} creates =
- {{Bar box}} — since {{Bar}} redirects here