Template:Tlc/doc View history

m (decomplexifying)
m (→‎Examples: fixed examples)
(6 intermediate revisions by 2 users not shown)
Line 2: Line 2:
<!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE -->
<!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE -->


This is the '''{{tlc|{{lc:{{BASEPAGENAME}}}}}}''' template.
This is the '''{{tlc|tlc}}''' template.
 
This page also provides the full documentation for the templates '''{{tlx|{{#ifeq:{{lc:{{BASEPAGENAME}}}}|tlc|tld|tlc}}}}''', which work almost exactly identically. The only difference between {{tlx|tlc}} and {{tlx|tld}} is that {{tlx|tld}} does not support {{para|allowlinebreak|yes}}.


== Purpose and naming ==
== 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 <code>&lt;nowiki&gt;&lt;/nowiki&gt;</code> tags you can write it more simply and concisely by using the {{tlc|tlc}}, {{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}} templates.


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}} 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}} thereafter.
   
   
{| class="wikitable"
{| class="wikitable"
Line 20: Line 18:
| {{tlc|tlc}}
| {{tlc|tlc}}
| '''T'''emplate '''l'''ink '''c'''ode
| '''T'''emplate '''l'''ink '''c'''ode
|rowspan=2 |Uses the <code><nowiki><code>...</code></nowiki></code> tags meant for showing programming code. Essentially the non-linking equivalent of {{tlx|tlx}}.
|Uses the <code><nowiki><code>...</code></nowiki></code> tags meant for showing programming code. Essentially the non-linking equivalent of {{tlx|tlx}}.
|-
|}
| {{tlc|tld}}
| '''T'''emplate '''l'''ink '''d'''ialup-host
 


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}} 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.


===Basic operation===
===Basic operation===
Line 33: Line 27:


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




Line 42: Line 35:
* 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}} and {{tlc|tld}}:
*Features of {{tlc|tlc}}:
** They show a template name and up to eight parameters.
** They show a template name and up to eight parameters.
** They also show empty parameters. (See examples hereafter.)
** They also show empty parameters. (See examples hereafter.)
Line 49: Line 42:
===Usage===
===Usage===


{{tlc|Tlc|Template|first_parameter|second|third|fourth|...|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|fourth|...|eighth}} → {{Tld|Template|first_parameter|second|third|fourth|fifth|sixth|seventh|eighth}}




=== Examples ===
=== Examples ===


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.  
Note: Wikitables make the <code>&lt;code&gt;&lt;/code&gt;</code> tags transparent, unfortunately, so the "<code>code coloring</code>" is missing in these examples.  


<table class="wikitable">
{| class="wikitable"
<tr><th>Code<th>Result<th>Comment
|-
<tr><td>{{tlc|tlc}} <td>{{tlc}} <td>Shows its own syntax.
! Code
<tr><td>{{tlc|tlc|name}} <td>{{tlc|name}} <td>
! Result
<tr><td>{{tlc|tlc|name|one}} <td>{{tlc|name|one}} <td>
! Comment
<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.
| {{tlc|tlc}}  
<tr><td>{{tlc|tlc|name|||three|four}} <td>{{tlc|name|||three|four}} <td>Also shows empty parameters.
| {{tlc}}  
<tr><td>{{tlc|tlc|name|||three||}} <td>{{tlc|name|||three||}} <td>Even shows empty parameters that come in the end.
| Shows its own syntax.
 
|-
<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.
| {{tlc|tlc|name}}  
<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.
| {{tlc|name}}  
 
|
<tr><td>{{tlc|tlc|name|{{tl|IPA|/tʃ/}}|two}} <td>{{tlc|tlc|name||two}} <td>Nested template calls also cause problems ...
|-
<tr><td><code><nowiki>{{tlc|name|{{tl|IPA|/tʃ/}}|two}}</nowiki></code> <td>{{tlc|tlc|name|{{tl|IPA|/tʃ/}}|two}} <td>... but there are ways to get around this issue, also.
| {{tlc|tlc|name|one}}  
<tr><td><code><nowiki>{{tlc|name|IPA{{!}}/tʃ/{{))}}|two}}</nowiki></code> <td>{{tlc|tlc|name|{{tl|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.
| {{tlc|name|one}}  
</table>
|
|-
| {{tlc|tlc|name|one|two}}  
| {{tlc|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}}  
| Shows up to eight parameters. The rest are dropped.
|-
|{{tlc|tlc|name|||three|four}}  
| {{tlc|name|||three|four}}  
| Also shows empty parameters.
|-
| {{tlc|tlc|name|||three||}}  
| {{tlc|name|||three||}}  
| Even shows empty parameters that come in the end.
|-
| {{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.
|-
| {{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.
|-
| {{tlc|tlc|name|{{tl|IPA|/tʃ/}}|two}}  
| {{tlc|tlc|name||two}}  
| Nested template calls also cause problems ...
|-
| <code><nowiki>{{tlc|name|{{tl|IPA|/tʃ/}}|two}}</nowiki></code>  
| {{tlc|tlc|name|{{tl|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|{{tl|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.
|-
|}


An alternative to using constructs such as <code><nowiki>{{=}}</nowiki></code> and <code><nowiki>{{tl|...}}</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
An alternative to using constructs such as <code><nowiki>{{=}}</nowiki></code> and <code><nowiki>{{tl|...}}</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
Line 85: Line 114:
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|tld}} and {{tlc|tlc}} using <code>&lt;nowiki&gt;</code>:
Here are the codes to emulate {{tlc|tlc}} 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>{{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>
|<tt><nowiki>{{name|one=a|two=b}}</nowiki></tt>
|-
|-
|style="padding-right: 50px;"| <code><nowiki>{{tlc|name|one{{=}}a|two{{=}}b}}</nowiki></code>
|style="padding-right: 50px;"| <code><nowiki>{{tlc|name|one{{=}}a|two{{=}}b}}</nowiki></code>

Revision as of 07:05, 15 May 2017

This is a documentation subpage for Template:Tlc.
It contains usage information, categories and other content that is not part of the original template page.

This is the {{tlc}} template.

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}} templates.

These templates work similarly to {{tl}} and {{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 {{tl}} or {{tlx}}, and then use {{tlc}} 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}}.


Basic operation

Here is how these templates look. 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.
  • Specifics here???
  • Features of {{tlc}}:
    • They show a template name and up to eight parameters.
    • They also show empty parameters. (See examples hereafter.)
    • They prevent line wraps in their output.

Usage

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


Examples

Note: Wikitables make the <code></code> tags transparent, unfortunately, so the "code coloring" is missing in these examples.

Code Result Comment
{{tlc}} {{tlc|...}} Shows its own syntax.
{{tlc|name}} {{name}}
{{tlc|name|one}} {{name|one}}
{{tlc|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.
{{tlc|name|||three|four}} {{name|||three|four}} Also shows empty parameters.
{{tlc|name|||three||}} {{name|||three||}} Even shows empty parameters that come in the end.
{{tlc|name|one=a|two=b}} {{name}} The use of equal signs is a problem, but there is a fix; see next row.
{{tlc|name|one{{=}}a|two{{=}}b}} {{name|one=a|two=b}} Use {{=}} in place of an equal sign, so that it gets rendered properly.
{{tlc|name|{{IPA}}|two}} {{tlc|name||two}} Nested template calls also cause problems ...
{{tlc|name|{{tl|IPA|/tʃ/}}|two}} {{tlc|name|{{IPA}}|two}} ... but there are ways to get around this issue, also.
{{tlc|name|IPA{{!}}/tʃ/{{))}}|two}} {{tlc|name|{{IPA}}|two}} ... another way to do the same thing, using , {{!}} and {{))}} to insert literal {{, | and }}, respectively.

An alternative to using constructs such as {{=}} and {{tl|...}} 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{{=}}{{tl|IPA|/tʃ/}}|two}}

you can use

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

Both render as

{{name|one=|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}} 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}}