Template:Tlc/doc: Difference between revisions
More actions
Starting to look like documentation. |
syntaxhighlight lang="wikitext" |
||
| (25 intermediate revisions by 12 users not shown) | |||
| Line 1: | Line 1: | ||
{{Documentation subpage}} | {{Documentation subpage}} | ||
<!-- | <!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --> | ||
{{Uses TemplateStyles|Template:Nowrap/styles.css}} | |||
This is the {{tlc|tlc}} template. | This is the {{tlc|tlc}} template. | ||
This | This page also serves as the full documentation for {{tl|tlf}} ([[Template:tlf/doc|doc page]]), that works almost exactly the same. | ||
When showing a template name with brackets in documentation you have to escape the brackets in some way so it doesn't become a call to the template. Instead of using <code><nowiki></nowiki></code> tags you can write it simpler and shorter by using these templates. | |||
Here is how these templates look. Code to the left and actual rendering to the right: | |||
Features of {{tlc|tlc}}, {{tld|tld}} | : {{tlc|tlc|name|parameters}} = {{tlc|name|parameters}} | ||
: {{tlc|tlf|name|parameters}} = {{tlf|name|parameters}} | |||
These templates work similarly to {{tl|tl}} and {{tlx|tlx}}, but they don't make the template name into a link. When writing documentation you might want to avoid a lot of unnecessary links, since it decreases readability. So on the first occurrence of a template name use {{tl|tl}}, {{tld|tld}} or {{tlx|tlx}}, and then use {{tlc|tlc}} or {{tlf|tlf}}. | |||
Features of {{tlc|tlc}}, {{tld|tld}}, {{tlf|tlf}} and {{tlp|tlp}}: | |||
* They show a template name and up to eight parameters. | * They show a template name and up to eight parameters. | ||
* They | * They also show empty parameters. (See examples below.) | ||
* They prevent their output | * They prevent line wraps in their output. | ||
=== Examples === | === Examples === | ||
Wikitables make the <code><code></code></code> tags transparent, that's why the "<code>code colouring</code>" is missing in these examples. | |||
Wikitables | |||
<table class="wikitable"> | <table class="wikitable"> | ||
<tr><th>Code<th>Result<th>Comment | <tr><th>Code<th>Result<th>Comment | ||
<tr><td>{{tlc|tlc}} <td>{{tlc}} <td>Shows its own syntax | <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}} <td>{{tlc|name}} <td> | ||
<tr><td>{{tlc|tlc|name|one}} <td>{{tlc|name|one}} <td> | <tr><td>{{tlc|tlc|name|one}} <td>{{tlc|name|one}} <td> | ||
| Line 31: | Line 34: | ||
<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|||three||}} <td>{{tlc|name|||three||}} <td>Even shows empty parameters that come in the end. | ||
<tr><td>{{tlc|1=tlc|2=name|3=one=a|4=two=b}} <td>{{tlc|name|one=a|two=b}} <td>Equal signs is a problem, but there is a fix. | |||
<tr><td>{{tlc|1=tlc|2=name|3=2=one=a|4=3=two=b}} <td>{{tlc|1=name|2=one=a|3=two=b}} <td>Use numbered parameters to fix it. Remember to start from 2, since the "name" is number 1. | |||
</table> | </table> | ||
= | If you have equal signs in your template parameters, you should replace them with {{tlc|{{=}}}}, but it probably is simpler and clearer to code it using <code><nowiki></code> tags etc. Here are the codes to emulate {{tlf|tlf}} and {{tlc|tlc}} respectively. Code to the left and actual rendering to the right: | ||
* {{ | * <syntaxhighlight inline lang="wikitext"><span class="nowrap"><nowiki>{{name|one=a|two=b}}</nowiki></span></syntaxhighlight> → <span class="nowrap"><nowiki>{{name|one=a|two=b}}</nowiki></span> | ||
* <syntaxhighlight inline lang="wikitext"><code class="nowrap"><nowiki>{{name|one=a|two=b}}</nowiki></code></syntaxhighlight> → <code class="nowrap"><nowiki>{{name|one=a|two=b}}</nowiki></code> | |||
< | == TemplateData == | ||
{{TemplateData header}} | |||
<templatedata> | |||
{ | |||
"description": "Template link code", | |||
"format": "inline", | |||
"params": { | |||
"1": { | |||
"label": "Template", | |||
"description": "Linked template name", | |||
"required": true, | |||
"type": "wiki-template-name" | |||
}, | |||
"2": { | |||
"label": "Parameter 1", | |||
"description": "First parameter value", | |||
"type": "string" | |||
}, | |||
"3": { | |||
"label": "Parameter 2", | |||
"description": "Second parameter value", | |||
"type": "string" | |||
}, | |||
"4": { | |||
"label": "Parameter 3", | |||
"description": "Third parameter value", | |||
"type": "string" | |||
}, | |||
"5": { | |||
"label": "Parameter 4", | |||
"description": "Fourth parameter value", | |||
"type": "string" | |||
}, | |||
"6": { | |||
"label": "Parameter 5", | |||
"description": "Fifth parameter value", | |||
"type": "string" | |||
}, | |||
"7": { | |||
"label": "Parameter 6", | |||
"description": "Sixth parameter value", | |||
"type": "string" | |||
}, | |||
"8": { | |||
"label": "Parameter 7", | |||
"description": "Seventh parameter value", | |||
"type": "string" | |||
}, | |||
"9": { | |||
"label": "Parameter 8", | |||
"description": "Eight parameter value", | |||
"type": "string" | |||
} | |||
} | |||
} | |||
</templatedata> | |||
</includeonly> | {{Tl-nav}} | ||
<includeonly>{{Sandbox other|| | |||
<!-- Categories below this line; interwikis at Wikidata --> | |||
[[Category:Internal template-link templates{{#translation:}}]] | |||
[[Category:Typing-aid templates{{#translation:}}]] | |||
}}</includeonly> | |||
Latest revision as of 07:11, 11 May 2023
This is the {{tlc}} template.
This page also serves as the full documentation for {{Tlf}} (doc page), that works almost exactly the same.
When showing a template name with brackets in documentation you have to escape the brackets in some way so it doesn't become a call to the template. Instead of using <nowiki></nowiki> tags you can write it simpler and shorter by using these templates.
Here is how these templates look. Code to the left and actual rendering to the right:
{{tlc|name|parameters}}={{name|parameters}}{{tlf|name|parameters}}= {{name|parameters}}
These templates work similarly to {{Tl}} and {{tlx}}, but they don't make the template name into a link. When writing documentation you might want to avoid a lot of unnecessary links, since it decreases readability. So on the first occurrence of a template name use {{Tl}}, {{tld}} or {{tlx}}, and then use {{tlc}} or {{tlf}}.
Features of {{tlc}}, {{tld}}, {{tlf}} and {{tlp}}:
- 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.
Examples
Wikitables make the <code></code> tags transparent, that's why the "code colouring" is missing in these examples.
| Code | Result | Comment |
|---|---|---|
{{tlc}} | {{{{{1}}}}} | 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}} | Equal signs is a problem, but there is a fix. |
{{tlc|name|2=one=a|3=two=b}} | {{name|one=a|two=b}} | Use numbered parameters to fix it. Remember to start from 2, since the "name" is number 1. |
If you have equal signs in your template parameters, you should replace them with {{=}}, but it probably is simpler and clearer to code it using <nowiki> tags etc. Here are the codes to emulate {{tlf}} and {{tlc}} respectively. Code to the left and actual rendering to the right:
<span class="nowrap"><nowiki>{{name|one=a|two=b}}</nowiki></span>→ {{name|one=a|two=b}}<code class="nowrap"><nowiki>{{name|one=a|two=b}}</nowiki></code>→{{name|one=a|two=b}}
TemplateData
- TemplateData
TemplateData is a way to store information about template parameters (the description of those and of the whole template) for both humans and machines. It is used by VisualEditor and possibly other tools like Upload Wizard.
Existing template documentation
At Wikimedia Commons, it is recommended to use {{TemplateBox}} with either useTemplateData=1 or useTemplateData=only on the /doc subpage and transcluding it with {{Documentation}} into the template. <nowiki>-tags can be wrapped around the arguments, if required, to avoid templates being expanded.
Newly created template documentation and imports
Another option, especially for imported templates, or for users with JSON experience, is placing raw <templatedata>-tags into the Wikitext of the template, as described in various Wikipediae.
Wikipedia's help about TemplateData • Commons-specific information
Template link code
| Parameter | Description | Type | Status | |
|---|---|---|---|---|
| Template | 1 | Linked template name | Template | required |
| Parameter 1 | 2 | First parameter value | String | optional |
| Parameter 2 | 3 | Second parameter value | String | optional |
| Parameter 3 | 4 | Third parameter value | String | optional |
| Parameter 4 | 5 | Fourth parameter value | String | optional |
| Parameter 5 | 6 | Fifth parameter value | String | optional |
| Parameter 6 | 7 | Sixth parameter value | String | optional |
| Parameter 7 | 8 | Seventh parameter value | String | optional |
| Parameter 8 | 9 | Eight parameter value | String | optional |