{{tlsc|...}}
This template is used on approximately 20,000 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 is the {{tlsc}}
template.
This page also provides the full documentation for the template {{tlsf}}
, which works almost exactly identically.
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 {{tlsc}}
or {{tlsf}}
templates.
These templates work similarly to {{tls}}
and {{tlsp}}
, 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 {{tls}}
or {{tlsp}}
, and then use {{tlsc}}
or {{tlsf}}
thereafter.
Template | Mnemonic | Format differentiation |
---|---|---|
{{tlsc}}
|
Template link substitution code | Uses the <code>...</code> tags meant for showing programming code. Essentially the non-linking equivalent of {{tlsx}} .
|
{{tlsf}}
|
Template link substitution format-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 {{tlsp}} .
|
The names were based on {{tls}}
template substitution link', despite the fact that, unlike the actual {{tls}}
template, these three don't include an actual link. The mnemonics for {{tlsf}}
was invented after the fact, since the template creator used the single letters still available rather than the preferred {{tlt}}
(using <code>) and {{tln}}
(using "normal", non-coded text style) monikers.
Basic operation
Here is how these templates look. Code is to the left; actual rendering to the right:
{{tlsc|name|parameters}}
={{subst:name|parameters}}
{{tlsf|name|parameters}}
= {{subst: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
{{tlsc}}
and{{tlsf}}
:- They show the "subst:" needed in order to substitute a template.
- They show a template name and up to eight parameters.
- They also show empty parameters. (See examples below.)
- 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}}
{{Tld|Template|first_parameter|second|third|fourth|...|eighth}}
→ {{Template|first_parameter|second|third|fourth|fifth|sixth|seventh|eighth}}
{{Tlf|Template|first_parameter|second|third|fourth|...|eighth}}
→ {{Template|first_parameter|second|third|fourth|fifth|sixth|seventh|eighth}}
Examples
Code | Result | Comment |
---|---|---|
{{tlsc}} |
{{tlsc|...}} |
Shows its own syntax. |
{{tlsc|name}} |
{{subst:name}} |
|
{{tlsc|name|one}} |
{{subst:name|one}} |
|
{{tlsc|name|one|two}} |
{{subst:name|one|two}} |
|
{{{tlsc|name|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u}} |
{{subst:name|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|...}} |
Shows up to 16 parameters. The rest are dropped. |
{{tlsc|name|three|four}} |
{{subst:name|three|four}} |
Also shows empty parameters. |
{{tlsc|name|three}} |
{{subst:name|three}} |
Even shows empty parameters that come in the end. |
{{tlsc|name|one=a|two=b}} |
{{subst:name}} |
The use of equals signs is a problem, but there is a fix; see next row. |
{{tlsc|name|2=one=a|3=two=b}} |
{{subst:name|one=a|two=b}} |
Use numbered parameters to fix the problem with equals signs. Remember to start from 2, since the "name" is number 1. |
- Exceptions: If the intended template lists numerous/keyword parameters, then perhaps this template should really not be used, and just hardcode the usage with
<code><nowiki>
, for example:<code><nowiki>{{Anytemplate|arg1=23|size=250px|other parameters...}}</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<pre>...</pre>
.
If you have equals signs in your template parameters then it probably is simpler and clearer to code it using <nowiki>
tags, etc. Here are the codes to emulate {{tlf}}
, {{tld}}
and {{tlc}}
respectively. Code is to the left and actual rendering to the right:
<nowiki>{{subst:name|one=a|two=b}}</nowiki>
= {{subst:name|one=a|two=b}}
<tt><nowiki>{{subst:name|one=a|two=b}}</nowiki></tt>
={{subst:name|one=a|two=b}}
<code><nowiki>{{subst:name|one=a|two=b}}</nowiki></code>
={{subst:name|one=a|two=b}}