Template:Tlc

From blackwiki
Jump to navigation Jump to search

{{tlc|...}}

Template documentation[view] [edit] [history] [purge]

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}} {{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|/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 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 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 the styles of generated text and link produced
Text style ↓ {{tlg}} options[note 1]
to achieve text style
Link style
Linked Unlinked Linked with subst Linked including braces Linked with alternative text
{{tlg}} options[note 1]
to achieve link style
N/A DEFAULT nolink=yes subst=yes braceinside=yes alttext=Foo
2=Foo
normal DEFAULT {{tlg}}[note 1]
{{tl}}
{{tlp|1|2|...}}[note 2]
{{Template:tlu}}[note 3]
{{tlf}}[note 2]
<template link>
{{subst:tls}}
{{subst:tlsp|1|2|...}}
{{subst:Template:tlsu}}[note 3]
{{tn}} {{tla}}
code code=yes {{tl2}}
{{tlx}}
{{Template:tlxu}}3[note 3]
{{tlc}}[note 2]
<template link>
{{tnull}}<template link>
{{subst:tlxs}} N/A
monospace plaincode=yes[note 4] N/A {{subst:tltss}}[note 5]
kbd kbd=yes[note 5]
bold bold=yes {{tlb}} N/A
bold+code bold=yes|code=yes {{tlxb}}
italic+code italic=yes|code=yes {{tlxi}}
  1. 1.0 1.1 1.2 {{tlg}} is the most general template, allowing any combination of text style and/or link style options.
  2. 2.0 2.1 2.2 Prevents wrapping of text by placing it inside <span class="nowrap">...</span> tags.
  3. 3.0 3.1 3.2 Allows links to templates in any namespace.
  4. {{tlg|plaincode=yes}} uses <code style="border:none; background-color:transparent;">...</code>.
  5. 5.0 5.1 Displays monospaced font using <span style="font-family:monospace;">...</span>.

Other formatting templates

Templates producing specialised formatting effects for given templates, modules or parameters
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}}

Shows code and example
{{xpd|Hatnote|Some hatnote text}} "{{hatnote|Some hatnote text}}" gives "" [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

Templates producing utility links for a given template (Hatnote used here as example)
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)
{{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)