Template:Tlc/doc
| This template is used on many pages and changes may be widely noticed. Test changes in the template's /sandbox or /testcases subpages, or in your own user subpage. Consider discussing changes on the talk page before implementing them. |
| This page was automatically imported from Commons any changes will be overwritten, the source page is here () |
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}} template.
This template works similarly to {{tl}} and {{tlx}}, but doesn'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}} thereafter.
The name was based on {{tl}} template link, despite the fact that, unlike the actual {{tl}} template, these templates don't include an actual link.
Basic operation
The template looks like this (code is to the left; actual rendering to the right): {{tlc|name|parameters}} → {{name|parameters}}
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.
- It shows a template name and up to eight parameters, including empty parameters.
- It prevents line wraps in its output.
Usage
{{Tlc|Template|first_parameter|second|third|...|eighth}} → {{Template|first_parameter|second|third|fourth|fifth|sixth|seventh|eighth}}
Examples
| Code | Result | Comment | ||||
|---|---|---|---|---|---|---|
{{tlc}} |
...}} | Shows its own syntax. | ||||
| name}} | {{name}} |
|||||
| name|one}} | one}} | |||||
| name|one|two}} | one|two}} | |||||
{{tlc|name|a|b|c|d|e|f|g|h|i|j}} |
a|b|c|d|e|f|g|h}} | Shows up to eight parameters. The rest are dropped. | ||||
| name | three|four}} | {{name |
three|four}} | Also shows empty parameters. | ||
| name | three | }} | {{name |
three | }} | Even shows empty parameters that come in the end. |
| name|one=a|two=b}} | {{name}} |
The use of equal signs is a problem, but there is a fix; see next row. | ||||
| name|one{{=}}a|two{{=}}b}} | one=a|two=b}} | Use {{=}} in place of an equal sign, so that it gets rendered properly.
| ||||
| name|{{IPA|/tʃ/}}|two}} | name|
| |||||
{{tlc|name|{{tlf|IPA|/tʃ/}}|two}} |
name|{{IPA|/tʃ/}}|two}} | ... but there are ways to get around this issue, also. | ||||
{{tlc|name|{{((}}IPA{{!}}/tʃ/{{))}}|two}} |
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 is the code to emulate {{tlc}} 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}}
|
Limitations
As documented at Wikipedia:Help:Template , 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 #.
See also
Template:Template-linking templates