Template:Tlc/doc: Difference between revisions

From Zoophilia Wiki
Jump to navigationJump to search
meta>Edokter
No edit summary
m (79 revisions imported)
 
(18 intermediate revisions by 10 users not shown)
Line 1: Line 1:
{{Documentation subpage}}
{{Documentation subpage}}
{{Template redirect |{{#switch:{{BASEPAGENAME}} |Tlc=tc |Tlf=tnf}} }}
{{#switch:{{PAGENAME}}
 
  | Tlc = {{high-risk|493724}}
This page provides documentation for {{tl|tlc}} ({{tlbare|tc}}), {{tl|tld}} and {{tl|tlf}}.
  | Tld = {{high-use|107581}}
  | #default=
}}
This page provides documentation for {{tl|tlc}} and {{tl|tld}}.


== Purpose and naming ==
== Purpose and naming ==
When a template name with [[brace|brace]]s <nowiki>{{ }}</nowiki> is to be shown in documentation, the braces have to be escaped in some way so it doesn't become an actual call to the template. Instead of using <code>&lt;nowiki&gt;&lt;/nowiki&gt;</code> tags you can write it more simply and concisely by using the {{tlc|tlc}} or {{tlc|tld}} templates.


When a template name with braces is to be shown in documentation, the braces have to be escaped in some way so it doesn't become an actual call to the template. Instead of using <code>&lt;nowiki&gt;&lt;/nowiki&gt;</code> tags you can write it more simply and concisely by using the {{tlc|tlc}}, {{tlc|tld}}, or {{tlc|tlf}} templates.
These templates work similarly to {{tlc|tl}} and {{tlc|tlx}}, but don't make the template name into a link (template link cleared). When writing documentation you might want to avoid a lot of unnecessary links, since they can decrease readability. So on the first occurrence of a template name use {{tlx|tl}} or {{tlx|tlx}}, and then use {{tlc|tlc}} or {{tlc|tld}} thereafter.
 
These templates work similarly to {{tlc|tl}} and {{tlc|tlx}}, but don't make the template name into a link. When writing documentation you might want to avoid a lot of unnecessary links, since they can decrease readability. So on the first occurrence of a template name use {{tlx|tl}} or {{tlx|tlx}}, and then use {{tlc|tlc}}, {{tlc|tld}} or {{tlc|tlf}} thereafter.
   
   
{| class="wikitable"
{| class="wikitable"
Line 22: Line 24:
| {{tlc|tld}}
| {{tlc|tld}}
| '''T'''emplate '''l'''ink '''d'''ialup-host
| '''T'''emplate '''l'''ink '''d'''ialup-host
|-
| {{tlc|tlf}}
| '''T'''emplate '''l'''ink '''f'''ormat-normal
| Uses proportional-spaced font as is normal for regular text rather than a monospace font as typically used with programming code. Essentially the non-linking equivalent of {{tlx|tlp}}.
|}
|}


The three names were based on {{tlx|tl}} '''t'''emplate '''l'''ink, despite the fact that, unlike the actual {{tlc|tl}} template, these three don't include an actual link. The mnemonics for {{tlc|tld}} and {{tlc|tlf}} were invented after the fact, since the template creator used the single letters still available rather than the preferred {{tlc|tlt}} (using <nowiki><tt></nowiki>) and {{tlc|tln}} (using "normal", non-coded text style) monikers.
The names were based on {{tlx|tl}} '''t'''emplate '''l'''ink, despite the fact that, unlike the actual {{tlc|tl}} template, these templates don't include an actual link.


===Basic operation===
===Basic operation===
Here is how these templates look. Code is to the left; actual rendering to the right:
Here is how these templates look. Code is to the left; actual rendering to the right:


:{{tlc|tlc|name|parameters}} = {{tlc|name|parameters}}
: {{tlc|tlc|name|parameters}} {{tlc|name|parameters}}
:{{tlc|tld|name|parameters}} = {{tld|name|parameters}}
: {{tlc|tld|name|parameters}} {{tld|name|parameters}}
:{{tlc|tlf|name|parameters}} = {{tlf|name|parameters}}


===Use with editprotected templates===
===Use with editprotected templates===
Most Wikipedia users and even editors will have little or no need for use (or knowledge) of these templates. You will find them of more use if you are a writer or documenter of templates. However, editors may be pointed here when attempting to deal with edit requests on pages which have been [[Wikipedia:Protection policy|protected]] in some way.
Most Wikipedia users and even editors will have little or no need for use (or knowledge) of these templates. You will find them of more use if you are a writer or documenter of templates. However, editors may be pointed here when attempting to deal with edit requests on pages which have been [[Wikipedia:Protection policy|protected]] in some way.


Line 49: Line 44:


===Functional details===
===Functional details===
* This template takes another ''template-name'' and some associated [[Help:Pipe trick|pipe-tricked]] [[m:Parameter#Parameters|(numbered) parameters]] (or 'pass parameters'), and displays them as an 'example demonstration' of how the ''template-name'' template could be coded, literally. Its primary use is in instruction and documentation.
* This template takes another ''template-name'' and some associated [[Help:Pipe trick|pipe-tricked]] [[m:Parameter#Parameters|(numbered) parameters]] (or 'pass parameters'), and displays them as an 'example demonstration' of how the ''template-name'' template could be coded, literally. Its primary use is in instruction and documentation.
*Specifics here??? <!-- Coding details, other parameters (SUBST?), other notes? Cf. [[Template:Tlx]]. -->
*Specifics here??? <!-- Coding details, other parameters (SUBST?), other notes? Cf. [[Template:Tlx]]. -->
*Features of {{tlc|tlc}}, {{tlc|tld}} and {{tlc|tlf}}:
*Features of {{tlc|tlc}} and {{tlc|tld}}:
** They show a template name and up to eight parameters.
** They show a template name and up to eight parameters (tlc) or ten parameters (tld).
** They also show empty parameters. (See examples hereafter.)
** They also show empty parameters. (See examples hereafter.)
** They prevent [[line wrap]]s in their output.
** They prevent [[line wrap]]s in their output.


===Usage===
===Usage===
{{tlc|Tlc|Template|first_parameter|second|third|...|eighth}} → {{Tlc|Template|first_parameter|second|third|fourth|fifth|sixth|seventh|eighth}}


{{tlc|Tlc|Template|first_parameter|second|third|fourth|...|eighth}} → {{Tlc|Template|first_parameter|second|third|fourth|fifth|sixth|seventh|eighth}}
{{tlc|Tld|Template|first_parameter|second|third|...|tenth}} → {{Tld|Template|first_parameter|second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth}}
 
{{tlc|Tld|Template|first_parameter|second|third|fourth|...|eighth}} → {{Tld|Template|first_parameter|second|third|fourth|fifth|sixth|seventh|eighth}}
 
{{tlc|Tlf|Template|first_parameter|second|third|fourth|...|eighth}} → {{Tlf|Template|first_parameter|second|third|fourth|fifth|sixth|seventh|eighth}}


=== Examples ===
=== Examples ===
{| class="wikitable" style="background-color: #FFEFD5" <!-- This background color helps keep code spans visible. -->
! Code !! Result !! Comment
|-
| {{tlc|tlc}} || {{tlc}} || Shows its own syntax.
|- style="background-color: #FFEBCD;"
| {{tld|tld}} || {{tld}} ||
|-
| {{tlc|tlc|name}} || {{tlc|name}} ||
|- style="background-color: #FFEBCD;"
| {{tld|tld|name}} || {{tld|name}} ||
|-
| {{tlc|tlc|name|one}} || {{tlc|name|one}} ||
|- style="background-color: #FFEBCD;"
| {{tld|tld|name|one}} || {{tld|name|one}} ||
|-
| {{tlc|tlc|name|one|two}} || {{tlc|name|one|two}} ||
|- style="background-color: #FFEBCD;"
| {{tld|tld|name|one|two}} || {{tld|name|one|two}} ||
|-
| <code><nowiki>{{tlc|name|a|b|c|d|e|f|g|h|i|j}}</nowiki></code> || {{tlc|name|a|b|c|d|e|f|g|h|i|j}} || Shows up to eight parameters. The rest are dropped.
|- style="background-color: #FFEBCD;"
| <code><nowiki>{{tld|name|a|b|c|d|e|f|g|h|i|j|k|l}}</nowiki></code> || {{tld|name|a|b|c|d|e|f|g|h|i|j|k|l}} || Shows up to ten parameters. The rest are replaced by an [[ellipsis]].
|-
| {{tlc|tlc|name|||three|four}} || {{tlc|name|||three|four}} || Also shows empty parameters.
|- style="background-color: #FFEBCD;"
| {{tld|tld|name|||three|four}} || {{tld|name|||three|four}} ||
|-
| {{tlc|tlc|name|||three||}} || {{tlc|name|||three||}} || Even shows empty parameters that come in the end.
|- style="background-color: #FFEBCD;"
| {{tld|tld|name|||three||}} || {{tld|name|||three||}} ||
|-
| {{tlc|tlc|name|one{{=}}a|two{{=}}b}} || {{tlc|name|one=a|two=b}} || The use of equal signs is a problem, but there is a fix; see next row.
|- style="background-color: #FFEBCD;"
| {{tld|tld|name|one{{=}}a|two{{=}}b}} || {{tld|name|one=a|two=b}} ||
|-
| {{tlc|tlc|name|one{{((}}{{=}}{{))}}a|two{{((}}{{=}}{{))}}b}} || {{tlc|name|one{{=}}a|two{{=}}b}} || Use <code><nowiki>{{=}}</nowiki></code> in place of an equal sign, so that it gets rendered properly.
|- style="background-color:#FFEBCD"
| {{tld|tld|name|one{{((}}{{=}}{{))}}a|two{{((}}{{=}}{{))}}b}} || {{tld|name|one{{=}}a|two{{=}}b}} ||
|-
| {{tlc|tlc|name|{{tlf|IPA|/tʃ/}}|two}} || {{tlc|tlc|name|{{IPA|/tʃ/}}|two}} || Nested template calls also cause problems ...
|-
| <code><nowiki>{{tlc|name|{{tlf|IPA|/tʃ/}}|two}}</nowiki></code> || {{tlc|tlc|name|{{tlf|IPA|/tʃ/}}|two}} || ... but there are ways to get around this issue, also.
|-
| <code><nowiki>{{tlc|name|{{((}}IPA{{!}}/tʃ/{{))}}|two}}</nowiki></code> || {{tlc|tlc|name|{{tlf|IPA|/tʃ/}}|two}} || ... another way to do the same thing, using <code><nowiki>{{((}}</nowiki></code>, <code><nowiki>{{!}}</nowiki></code> and <code><nowiki>{{))}}</nowiki></code> to insert literal <code><nowiki>{{</nowiki></code>, <code><nowiki>|</nowiki></code> and <code><nowiki>}}</nowiki></code>, respectively.
|}


Note: Wikitables make the <code>&lt;code&gt;&lt;/code&gt;</code> tags transparent, unfortunately, so the "<code>code colouring</code>" is missing in these examples.
An alternative to using constructs such as <code><nowiki>{{=}}</nowiki></code> and <code><nowiki>{{tlf|...}}</nowiki></code> to prevent characters from getting interpreted syntactically is to use <code><nowiki><code>&lt;nowiki>...&lt;/nowiki></code></nowiki></code>, which will prevent <em>all</em> characters from being interpreted.  For example, in place of
 
<table class="wikitable">
<tr><th>Code<th>Result<th>Comment
<tr><td>{{tlc|tlc}} <td>{{tlc}} <td>Shows its own syntax.
<tr><td>{{tlc|tlc|name}} <td>{{tlc|name}} <td>
<tr><td>{{tlc|tlc|name|one}} <td>{{tlc|name|one}} <td>
<tr><td>{{tlc|tlc|name|one|two}} <td>{{tlc|name|one|two}} <td>
<tr><td><code><nowiki>{{tlc|name|a|b|c|d|e|f|g|h|i|j}}</nowiki></code> <td>{{tlc|name|a|b|c|d|e|f|g|h|i}} <td>Shows up to eight parameters. The rest are dropped.
<tr><td>{{tlc|tlc|name|||three|four}} <td>{{tlc|name|||three|four}} <td>Also shows empty parameters.
<tr><td>{{tlc|tlc|name|||three||}} <td>{{tlc|name|||three||}} <td>Even shows empty parameters that come in the end.
 
<tr><td>{{tlc|tlc|name|one{{=}}a|two{{=}}b}} <td>{{tlc|name|one=a|two=b}} <td>The use of equal signs is a problem, but there is a fix; see next row.
<tr><td>{{tlc|tlc|name|one{{((}}{{=}}{{))}}a|two{{((}}{{=}}{{))}}b}} <td>{{tlc|name|one{{=}}a|two{{=}}b}} <td>Use <code><nowiki>{{=}}</nowiki></code> in place of an equal sign, so that it gets rendered properly.
 
<tr><td>{{tlc|tlc|name|{{tlf|IPA|/tʃ/}}|two}} <td>{{tlc|tlc|name|{{IPA|/tʃ/}}|two}} <td>Nested template calls also cause problems ...
<tr><td><code><nowiki>{{tlc|name|{{tlf|IPA|/tʃ/}}|two}}</nowiki></code> <td>{{tlc|tlc|name|{{tlf|IPA|/tʃ/}}|two}} <td>... but there are ways to get around this issue, also.
<tr><td><code><nowiki>{{tlc|name|{{((}}IPA{{!}}/tʃ/{{))}}|two}}</nowiki></code> <td>{{tlc|tlc|name|{{tlf|IPA|/tʃ/}}|two}} <td>... another way to do the same thing, using <code><nowiki>{{((}}</nowiki></code>, <code><nowiki>{{!}}</nowiki></code> and <code><nowiki>{{))}}</nowiki></code> to insert literal <code><nowiki>{{</nowiki></code>, <code><nowiki>|</nowiki></code> and <code><nowiki>}}</nowiki></code>, respectively.
</table>
 
An alternative to using constructs such as <code><nowiki>{{=}}</nowiki></code> and <code><nowiki>{{tlf|...}}</nowiki></code> to prevent characters from getting interpreted syntactically is to use <code><nowiki><code>&lt;nowiki>...&lt;/nowiki></code></nowiki></code>, which will prevent '''all''' characters from being interpreted.  For example, in place of
  <code><nowiki>{{tlc|name|one{{=}}{{tlf|IPA|/tʃ/}}|two}}</nowiki></code>
  <code><nowiki>{{tlc|name|one{{=}}{{tlf|IPA|/tʃ/}}|two}}</nowiki></code>
you can use
you can use
Line 96: Line 112:
If a vertical display with parameters on their own lines is desired, this can also be laid out manually in this manner, or more rapidly done with <code><nowiki><pre>...</pre></nowiki></code>.
If a vertical display with parameters on their own lines is desired, this can also be laid out manually in this manner, or more rapidly done with <code><nowiki><pre>...</pre></nowiki></code>.


Here are the codes to emulate {{tlc|tlf}}, {{tlc|tld}} and {{tlc|tlc}} using <code>&lt;nowiki&gt;</code>:
Here are the codes to emulate {{tlc|tlc}} and {{tld|tld}} using <code>&lt;nowiki&gt;</code>:


{|
{|
! Using templates: !! Using <code>&lt;nowiki&gt;</code>: !! Rendered result:  
! Using templates: !! Using <code>&lt;nowiki&gt;</code>: !! Rendered result:  
|-
|-
|style="padding-right: 50px;"| <code><nowiki>{{tlf|name|one{{=}}a|two{{=}}b}}</nowiki></code>
|style="padding-right: 50px;"| <code><nowiki>{{tlc|name|one{{=}}a|two{{=}}b}}</nowiki></code>
|style="padding-right: 50px;"| <code><nowiki>&lt;nowiki&gt;{{name|one=a|two=b}}&lt;/nowiki&gt;</nowiki></code>
|<nowiki>{{name|one=a|two=b}}</nowiki>
|-
|style="padding-right: 50px;"| <code><nowiki>{{tld|name|one{{=}}a|two{{=}}b}}</nowiki></code>
|style="padding-right: 50px;"| <code><nowiki>&lt;code&gt;&lt;nowiki&gt;{{name|one=a|two=b}}&lt;/nowiki&gt;&lt;/code&gt;</nowiki></code>
|style="padding-right: 50px;"| <code><nowiki>&lt;code&gt;&lt;nowiki&gt;{{name|one=a|two=b}}&lt;/nowiki&gt;&lt;/code&gt;</nowiki></code>
|<code><nowiki>{{name|one=a|two=b}}</nowiki></code>
|<code><nowiki>{{name|one=a|two=b}}</nowiki></code>
|-
|-
|style="padding-right: 50px;"| <code><nowiki>{{tlc|name|one{{=}}a|two{{=}}b}}</nowiki></code>
|style="padding-right: 50px;"| <code><nowiki>{{tld|name|one{{=}}a|two{{=}}b}}</nowiki></code>
|style="padding-right: 50px;"| <code><nowiki>&lt;code&gt;&lt;nowiki&gt;{{name|one=a|two=b}}&lt;/nowiki&gt;&lt;/code&gt;</nowiki></code>
|style="padding-right: 50px;"| <code><nowiki>&lt;code&gt;&lt;nowiki&gt;{{name|one=a|two=b}}&lt;/nowiki&gt;&lt;/code&gt;</nowiki></code>
|<code><nowiki>{{name|one=a|two=b}}</nowiki></code>
|<code><nowiki>{{name|one=a|two=b}}</nowiki></code>
|}
|}


===See also===
===Limitations===
As documented at [[Help:Template#Problems and workarounds]], template arguments starting with one of the four MediaWiki magic characters <code>:</code> <code>;</code> <code>*</code> or <code>#</code> are interpreted ''as if'' they were at the beginning of a line, and are formatted as HTML lists.  To avoid this, references to {{tlc|<nowiki/>*}} or {{tlc|&#35;expr}} must have the first character escaped.  You can either use {{tag|nowiki|s}} or an escape like <code>&amp;#35;</code>.
 
==See also==
{{Template-linking templates}}
{{Template-linking templates}}


<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox |
<includeonly>{{Sandbox other|
| <!-- ADD CATEGORIES BELOW THIS LINE, PLEASE: -->
| <!-- ADD CATEGORIES BELOW THIS LINE, PLEASE: -->
[[Category:Template-related templates]] <!--but not e.g. Category:Internal template-link templates, as these templates do not include links to templates-->
[[Category:Template namespace templates]] <!--but not e.g. Category:Internal template-link templates, as these templates do not include links to templates. -->
[[Category:Typing-aid templates]]
[[Category:Typing-aid templates]]
}}</includeonly>
}}</includeonly>

Latest revision as of 05:17, 3 September 2020

This page provides documentation for {{tlc}} and {{tld}}.

Purpose and naming

When a template name with braces {{ }} is to be shown in documentation, the braces have to be escaped in some way so it doesn't become an actual call to the template. Instead of using <nowiki></nowiki> tags you can write it more simply and concisely by using the {{tlc}} or {{tld}} templates.

These templates work similarly to {{tl}} and {{tlx}}, but don't make the template name into a link (template link cleared). When writing documentation you might want to avoid a lot of unnecessary links, since they can decrease readability. So on the first occurrence of a template name use {{tl}} or {{tlx}}, and then use {{tlc}} or {{tld}} thereafter.

Template Mnemonic Format differentiation
{{tlc}} Template link code Uses the <code>...</code> tags meant for showing programming code. Essentially the non-linking equivalent of {{tlx}}.
{{tld}} Template link dialup-host

The names were based on {{tl}} template link, despite the fact that, unlike the actual {{tl}} template, these templates don't include an actual link.

Basic operation

Here is how these templates look. Code is to the left; actual rendering to the right:

{{tlc|name|parameters}}{{name|parameters}}
{{tld|name|parameters}}{{name|parameters}}

Use with editprotected templates

Most Wikipedia users and even editors will have little or no need for use (or knowledge) of these templates. You will find them of more use if you are a writer or documenter of templates. However, editors may be pointed here when attempting to deal with edit requests on pages which have been protected in some way.

Pages which have been protected can't be edited by every user, but would-be editors can request specific changes on the corresponding Discussion page. An editor requesting a change to a semi-protected page, for example, would add the {{editsemiprotected}} template, followed by their request, to the Talk page. The {{editsemiprotected}} template expands to a texty notice which includes the instruction "Replace the {{editsemiprotected}} template with {{tlf|editsemiprotected}} when the request has been accepted or rejected." An empowered editor acting on the request would then change the template per this instruction.

The desired effect is to replace the {{editsemiprotected}} template (with its big, eye-catching box of information) by the name of the template, merely showing that the template had been there, and acted upon. The use of the {{tlf}} template means that the template should appear in a normal, proportional font-face, as in "{{editsemiprotected}}".

Documentation

Functional details

  • This template takes another template-name and some associated pipe-tricked (numbered) parameters (or 'pass parameters'), and displays them as an 'example demonstration' of how the template-name template could be coded, literally. Its primary use is in instruction and documentation.
  • Specifics here???
  • Features of {{tlc}} and {{tld}}:
    • They show a template name and up to eight parameters (tlc) or ten parameters (tld).
    • They also show empty parameters. (See examples hereafter.)
    • They prevent line wraps in their output.

Usage

{{Tlc|Template|first_parameter|second|third|...|eighth}}{{Template|first_parameter|second|third|fourth|fifth|sixth|seventh|eighth}}

{{Tld|Template|first_parameter|second|third|...|tenth}}{{Template|first_parameter|second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth}}

Examples

Code Result Comment
{{tlc}} {{tlc|...}} Shows its own syntax.
{{tld}} Lua error in Module:Template_link_general at line 132: attempt to concatenate local 'titlePart' (a nil value).
{{tlc|name}} {{name}}
{{tld|name}} {{name}}
{{tlc|name|one}} {{name|one}}
{{tld|name|one}} {{name|one}}
{{tlc|name|one|two}} {{name|one|two}}
{{tld|name|one|two}} {{name|one|two}}
{{tlc|name|a|b|c|d|e|f|g|h|i|j}} {{name|a|b|c|d|e|f|g|h}} Shows up to eight parameters. The rest are dropped.
{{tld|name|a|b|c|d|e|f|g|h|i|j|k|l}} {{name|a|b|c|d|e|f|g|h|i|j|k|l}} Shows up to ten parameters. The rest are replaced by an ellipsis.
{{tlc|name|||three|four}} {{name|||three|four}} Also shows empty parameters.
{{tld|name|three|four}} {{name|three|four}}
{{tlc|name|||three||}} {{name|||three||}} Even shows empty parameters that come in the end.
{{tld|name|three}} {{name|three}}
{{tlc|name|one=a|two=b}} {{name}} The use of equal signs is a problem, but there is a fix; see next row.
{{tld|name|one=a|two=b}} {{name}}
{{tlc|name|one{{=}}a|two{{=}}b}} {{name|one=a|two=b}} Use {{=}} in place of an equal sign, so that it gets rendered properly.
{{tld|name|one{{=}}a|two{{=}}b}} {{name|one=a|two=b}}
{{tlc|name|{{IPA|/tʃ/}}|two}} {{tlc|name|/tʃ/|two}} Nested template calls also cause problems ...
{{tlc|name|{{tlf|IPA|/tʃ/}}|two}} {{tlc|name|{{IPA|/tʃ/}}|two}} ... but there are ways to get around this issue, also.
{{tlc|name|{{((}}IPA{{!}}/tʃ/{{))}}|two}} {{tlc|name|{{IPA|/tʃ/}}|two}} ... another way to do the same thing, using {{((}}, {{!}} and {{))}} to insert literal {{, | and }}, respectively.

An alternative to using constructs such as {{=}} and {{tlf|...}} to prevent characters from getting interpreted syntactically is to use <code><nowiki>...</nowiki></code>, which will prevent all characters from being interpreted. For example, in place of

{{tlc|name|one{{=}}{{tlf|IPA|/tʃ/}}|two}}

you can use

<code><nowiki>{{name|one={{IPA|/tʃ/}}|two}}</nowiki></code>

Both render as

{{name|one={{IPA|/tʃ/}}|two}}

If a vertical display with parameters on their own lines is desired, this can also be laid out manually in this manner, or more rapidly done with <pre>...</pre>.

Here are the codes to emulate {{tlc}} and {{tld}} using <nowiki>:

Using templates: Using <nowiki>: Rendered result:
{{tlc|name|one{{=}}a|two{{=}}b}} <code><nowiki>{{name|one=a|two=b}}</nowiki></code> {{name|one=a|two=b}}
{{tld|name|one{{=}}a|two{{=}}b}} <code><nowiki>{{name|one=a|two=b}}</nowiki></code> {{name|one=a|two=b}}

Limitations

As documented at Help:Template#Problems and workarounds, template arguments starting with one of the four MediaWiki magic characters : ; * or # are interpreted as if they were at the beginning of a line, and are formatted as HTML lists. To avoid this, references to {{*}} or {{#expr}} must have the first character escaped. You can either use <nowiki /> or an escape like &#35;.

See also

General-purpose formatting

Comparison of template-linking templates according to their style
Link style → Linked Unlinked Linked with subst Linked including braces Linked with alternative text
Text style ↓ {{tlg}} options1 DEFAULT <syntaxhighlight lang="text" class="" id="" style="" inline="1">nolink=yes</syntaxhighlight> <syntaxhighlight lang="text" class="" id="" style="" inline="1">subst=yes</syntaxhighlight> <syntaxhighlight lang="text" class="" id="" style="" inline="1">braceinside=yes</syntaxhighlight> <syntaxhighlight lang="text" class="" id="" style="" inline="1">alttext=Foo</syntaxhighlight>
<syntaxhighlight lang="text" class="" id="" style="" inline="1">2=Foo</syntaxhighlight>
normal DEFAULT {{tlg}}1
{{tl}}
{{tlp|1|2|...}}2
{{Template:tlu}}3
{{tlf}}2 {{subst:tls}}
{{subst:tlsp|1|2|...}}
{{subst:Template:tlsu}}3
{{tn}} {{tla}}
code <syntaxhighlight lang="text" class="" id="" style="" inline="1">code=yes</syntaxhighlight> {{tl2}}
{{tlx}}
{{Template:tlxu}}3
{{tlc}}2
{{tld}}2
{{tnull}}
{{subst:tlxs}} N/A
monospace
kbd
<syntaxhighlight lang="text" class="" id="" style="" inline="1">plaincode=yes</syntaxhighlight>4
<syntaxhighlight lang="text" class="" id="" style="" inline="1">kbd=yes</syntaxhighlight>5
N/A {{subst:tltss}}5
bold <syntaxhighlight lang="text" class="" id="" style="" inline="1">bold=yes</syntaxhighlight> {{tlb}} N/A
bold+code code=yes</syntaxhighlight> {{tlxb}}
italic+code code=yes</syntaxhighlight> {{tlxi}}
  • 1  {{tlg}} is the most general, allowing any combination of text style and/or link style options.
  • 2  Prevents wrapping of text by placing it inside <span class="nowrap">...</span> tags.
  • 3  Allows links to templates in any namespace.
  • 4  {{tlg|plaincode=yes}} uses <code style="border:none; background-color:transparent;">...</code>.
  • 5  Displays monospaced font using <span style="font-family:monospace;">...</span>.

Other formatting templates

Code example Effect Notes
{{tl2|Hatnote|lang=fr}} {{hatnote}} Supports linking to sister projects (e.g., fr:Hatnote)
{{tlu|User:Ahunt/SSHFS}} {{User:Ahunt/SSHFS}} Supports linking to any namespace
{{demo|<nowiki>{{Hatnote|lang=fr|Some text}}</nowiki>}}
{{hatnote|lang=fr|Some text}}

Some text
Shows code and example
{{xpd|Hatnote|Some hatnote text}} "{{hatnote|Some hatnote text}}" gives "
Some hatnote text
" [1]
Shows code, example and a link to expand the template code
{{tln|Hatnote}} Template:Hatnote Produces a normal link to the template
{{elc|Template:Hatnote}}
{{elc|Template:Hatnote|Hatnote}}
[[Template:Hatnote]]
[[Template:Hatnote|Hatnote]]
Formats wikilink, with optional piped link text and blended suffix
{{ml|Example|hello}} {{#invoke:Example|hello}} Counterpart to {{tl}} for linking to Lua modules
{{mlx|Example|hello}} {{#invoke:Example|hello}} Counterpart to {{tlx}} for linking to Lua modules
{{para|title|<var>book title</var>}} |title=book title Formats template parameters for display, with or without values
{{sclx|LASTING}} [[WP:LASTING]] Takes a shortcut suffix in project namespace and displays it with brackets and the WP: alias in a <code>...</code> tag.
{{tag|ref}}
{{xtag|templatedata}}
<ref>...</ref>
<templatedata>
Formats [X]HTML tags; can add content, choose opening, closing, or self-closing
{{dtl|Ping project}} {{d:Ping project}} Wikidata counterpart to {{tl}}
{{pf|if}}
{{pf|if|{{{1}}}|true|false}}
{{#if}}
{{#if:{{{1}}}|true|false}}
Parser function equivalent to {{tl}}

With utility links

Code example Effect
{{lt|Hatnote}} Template:Hatnote (edit | talk | history | links | watch | logs)
{{lts|Hatnote}} Template:Hatnote(edit talk links history)
{{t links|Hatnote}} Hatnote (edit talk history links # /subpages /doc /doc edit /sbox /sbox diff /test)
{{tfd links|Hatnote}} Template:Hatnote (edit · talk · history · links · transclusions · logs · subpages · delete)
{{tltt|Hatnote}} {{Hatnote}}
{{tetl|Hatnote}} {{Hatnote}}
links talk edit
{{tsetl|Hatnote}} {{subst:Hatnote}}
 links talk edit
{{ti|Hatnote}} Template:Hatnote (talk⧼dot-separator⧽links⧼dot-separator⧽edit)
{{tic|Hatnote}} Template:Hatnote (talk links edit)
{{tim|Hatnote}} m:Template:Hatnote (backlinks edit)
{{tiw|Hatnote}} Template:Hatnote (backlinks edit)
{{tlt|Hatnote}} {{Hatnote}} (talk)
{{ttl|Hatnote}} {{Hatnote}} (t/l)
{{twlh|Hatnote}} Template:Hatnote (links, talk)