Template:Template link general/doc: Difference between revisions

From the Croc Wiki, the Croc encyclopedia
Jump to navigationJump to search
Content added Content deleted
m (add cat)
 
(81 intermediate revisions by 31 users not shown)
Line 1: Line 1:
{{Documentation subpage}}
{{Documentation subpage}}
<!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE -->
<!-- PLEASE ADD CATEGORIES WHERE INDICATED AT THE BOTTOM OF THIS PAGE -->
{{#ifeq:{{FULLPAGENAME}}|Template:Template link expanded|{{used in system}}|
{{#ifexpr:{{#invoke:Transclusion count|fetch|0}} > 2000|{{high-use}}}}}}
{{tsh|{{{1|tlg}}}|{{{2|}}}}}
{{lua|Module:Template link general}}


This template, often abbreviated as {{tlf|{{#switch:{{lc:{{ROOTPAGENAME}}}}
==Explanation==
| tlg | template link general = tlg
{{tlx|tlg}} ('''<u>t</u>emplate <u>l</u>ink, <u>g</u>eneral''') is a general template for inserting a template link. It can be used to replace or implement any of the more specific <code><nowiki>{{tl*}}</nowiki></code> templates, e.g. {{tlx|tl}}, {{tlx|tlx}} or {{tlx|tlb}}. Parameters are:
| tlb | template link with bold = tlb
* {{code|bold{{=}}yes}}: '''Boldface''' the text, like for {{tlx|tlb}} and {{tlx|tlxb}}
| tlc | template link code = tlc
* {{code|italic{{=}}yes}}: ''Italicizes'' the parameters, like for {{tlx|tlxi}}
| tlw ||template link with linked braces = tlw
* {{code|tt{{=}}yes}}: Use a <tt>monospaced</tt> font, like for {{tlx|tlx}} and {{tlx|tlxb}}
| tlf | template link with link off = tlf
* {{code|code{{=}}yes}}: Use the <code><nowiki><code>...</code></nowiki></code> HTML attribute (usually a monospaced font), like for {{tlx|tlc}}
* {{code|nolink{{=}}yes}}: Don't insert a template link, like for {{tlx|tlf}}, {{tlx|tld}}, and {{tlx|tlc}}
| tltss | template link with title span, subst = tltss
| tlx | template link expanded = tlx
* {{code|anypage{{=}}yes}}: Allow linking to arbitrary page (not just template), as with {{tlx|tlu}}
| tlxb | template link expanded with bold = tlxb
* {{code|braceinside{{=}}yes}}: Put braces inside the link, like for {{tlx|tn}}
| tlxi | template link expanded with italic = tlxi
* {{code|subst{{=}}yes}}: Add a {{code|subst:}} prefix, like for {{tlx|tls}}
| tlxs | template link expanded with subst = tlxs
* {{code|alttext{{=}}FOO}}: Specify alternative surface text for a link, like for {{tlx|tla}}
| tls | template link with subst = tls
| tnull | template link null = tnull
| tlp | template link with parameters = tlp}}
}}, is used to provide stylized formatting to template displays without actually using the template itself.


== Examples ==
===Parameters===
With the exception of {{mono|alttext}}, the named parameters are toggles that are either omitted (default in most cases) or activated (by being assigned a value such as "on", "yes", "true", "include", etc.). They may be included in any order ([[#Examples|see Examples below]]). Certain templates have the parameter "on" by default; see [[#General-purpose formatting|the main table]] for all alternate options.
{{#ifeq:{{SITENAME}}|Wikipedia|<!-- Skip message--->|
{{#ifeq:{{SITENAME}}|Meta|<!-- No note needed --->|<!-- Other Sisters Note: --->
;Note: On the source sister projects, en.wikipedia and Meta, '''X0, X1, X2,..., X9 are sandbox templates''' for experimentation on involved templates that need be in template space. An auto-cleansing software facility exists that might be used to duplicate the facility on other Sister projects.
}}}}


{| border="1" cellpadding="4" class="wikitable"
{| class="wikitable"
! Parameter || Action || Use with<br>{{t|example}} || Default active
! Code
! Result
! Remark
|-
|-
| brace || Include braces as part of the template link || {{tlg|brace=yes|example}} || {{tl|tlw}}/{{tl|tn}}
|{{Tlx|Tlg|Abc}}
|{{Tlg|Abc}}
||&#160;
|-
|-
| braceinside || Include innermost braces as part of the template link || {{tlg|example|braceinside=yes}} ||
|{{Tlx|Tlg|ABC}}
|{{Tlg|ABC}}
||&#160;
|-
|-
| bold || Renders the template link/name in '''bold''' || {{tlg|bold=yes|example}} || {{tl|tlb}}, {{tl|tlxb}}
|{{Tlx|Tlg|AbC}}
|{{Tlg|AbC}}
||&#160;
|-
|-
| code || Display output using HTML [[HTML element#code|{{tag|code}}]] tags ([[monospaced font]]) || {{tlg|code=yes|example}} || {{tl|tlc}}, {{tl|Template link expanded}}, etc.
|{{Tlx|Tlg|x0}}
|{{Tlg|x0}}
||&#160;
|-
|-
| italic || Display any parameters accompanying the template link/name in ''italics'' ||| {{tlg|italic=yes|example|param}} || {{tl|tlxi}}
|{{Tlx|Tlg|x0|bold{{=}}yes}}
|{{Tlg|x0|bold=yes}}
||&#160;
|-
|-
| kbd || Display output using HTML [[HTML element#kbd|{{tag|kbd}}]] tags (monospaced font) || {{tlg|kbd=yes|example}} ||
|{{Tlx|Tlg|x1|one|italic{{=}}yes}}
|{{Tlg|x1|one|italic=yes}}
||&#160;
|-
|-
| nolink || Don't render the template name as a link || {{tlg|nolink=yes|example}} || {{tl|tlf}}, {{t|tnull}}
|{{Tlx|Tlg|x0|code{{=}}yes}}
|{{Tlg|x0|code=yes}}
||&#160;
|-
|-
| nowrap || Prevent the insertion of line breaks ([[word wrap]]) in the output || {{tlg|nowrap=yes|example}} ||
|{{Tlx|Tlg|x0|tt{{=}}yes}}
|{{Tlg|x0|tt=yes}}
||&#160;
|-
|-
| nowrapname || Prevent word wrapping in the output of template name/link (parameters will wrap if needed) || {{tlg|nowrapname=yes|example}} ||
|{{Tlx|Tlg|x0|nolink{{=}}yes}}
|{{Tlg|x0|nolink=yes}}
||&#160;
|-
|-
| plaincode || Uses {{tag|code|params=style="border:none; background:transparent;"}} || {{tlg|plaincode=yes|example}} || {{tl|tltss}}
|{{Tlx|Tlg|x0|subst{{=}}yes}}
|{{Tlg|x0|subst=yes}}
||&#160;
|-
|-
| subst || Include a [[Help:Substitution|subst:]] prefix before the template link/name || {{tlg|subst=yes|example}} || {{tl|tls}}, {{tl|tlxs}}, etc
|{{Tlx|Tlg|x0|braceinside{{=}}yes}}
|{{Tlg|x0|braceinside=yes}}
||&#160;
|-
|-
| {{para|alttext|[text]}} || Use [text] as the label for the template link || {{tlg|alttext=Other|example}} || {{tl|tla}}
|{{Tlx|Tlg|x0|alttext{{=}}Link to x0 template}}
|{{Tlg|x0|alttext=Link to x0 template}}
||&#160;
|-
|-
| _show_result || Will also display the result of the template. || {{tlx|Min|7|-5|_show_result=y}} ||
|{{Tlx|Tlg|x0|anypage{{=}}yes}}
|}
|{{Tlg|x0|anypage=yes}}

|Now the expression links to [[x0]] (the spaceship, genetic disease, etc.) rather than [[Template:x0]]. Mostly useful for templates in user space.
====Unnamed (Positional)====
This template can take any number of [[unnamed parameter]]s as parameters accompanying the template link (or name); see Examples below.

===Examples===
{{#switch:{{SITENAME}} |Wikipedia|Meta= |
; Note: On the source sister projects, en.wikipedia and Meta, '''X0, X1, X2, …, X9 are sandbox templates''' for experimentation on involved templates that need be in template space. An auto-cleansing software facility exists that might be used to duplicate the facility on other Sister projects.
}}

{{Aligned table
|cols=3 |class=wikitable
|style=background-color:transparent;<!-- to see background of <code>...</code> -->
| '''Code''' | '''Output''' | '''Remarks'''
| {{tlx|{{{1|tlg}}}|Banner}} | {{{{{1|tlg}}}|Banner}} | {{error|Banner}} template does not exist. Be aware with linking to non-existing templates, although desired.
| {{tlx|{{{1|tlg}}}|ok}} | {{{{{1|tlg}}}|ok}} | ok template does exist
| {{tlx|{{{1|tlg}}}|convert|<nowiki>&lt;nowiki>14|m|ftin|abbr=out|sp=us&lt;/nowiki></nowiki>}} | {{{{{1|tlg}}}|convert|<nowiki>14|m|ftin|abbr=out|sp=us</nowiki>}} | Unlimited parameters as one {{tag|nowiki|link=yes}} [[Help:Wikitext#Nowiki|string]]
| {{tlx|{{{1|tlg}}}|Abc}} | {{{{{1|tlg}}}|Abc}} |
| {{tlx|{{{1|tlg}}}|abC}} | {{{{{1|tlg}}}|abC}} | template names are case-sensitive
| {{tlx|{{{1|tlg}}}|abc}} | {{{{{1|tlg}}}|abc}} | first letter is case-insensitive though
| {{tlx|{{{1|tlg}}}|abc|'''<nowiki>{{spaces}}</nowiki>'''{{{1}}}'''<nowiki>{{spaces}}</nowiki>'''}} | {{{{{1|tlg}}}|abc|{{spaces}}{{{1}}}{{spaces}}}}| Using {{tl|spaces}} before and after <nowiki>{{{1}}}</nowiki> parameter.
| {{tlx|{{{1|tlg}}}|x0}} | {{{{{1|tlg}}}|x0}} |
| {{tlx|{{{1|tlg}}}|x0|code{{=}}on}} | {{{{{1|tlg}}}|x0|code=on}} | &lt;code&gt; style
| {{tlx|{{{1|tlg}}}|x0|plaincode{{=}}on}} | {{{{{1|tlg}}}|x0|plaincode=on}} | plaincode style
| {{tlx|{{{1|tlg}}}|x0|kbd{{=}}on}} | {{{{{1|tlg}}}|x0|kbd=on}} | &lt;kbd&gt; style
| {{tlx|{{{1|tlg}}}|x0|bold{{=}}on}} | {{{{{1|tlg}}}|x0|bold=on}} | bold link/name
| {{tlx|{{{1|tlg}}}|x1|one|italic{{=}}on}} | {{{{{1|tlg}}}|x1|one|italic=on}} | parameter/s in italics
| {{tlx|{{{1|tlg}}}|x0|nolink{{=}}on}} | {{{{{1|tlg}}}|x0|nolink=on}} |
| {{tlx|{{{1|tlg}}}|x0|subst{{=}}on}} | {{{{{1|tlg}}}|x0|subst=on}} |
| {{tlx|{{{1|tlg}}}|x0|brace{{=}}on}} | {{{{{1|tlg}}}|x0|brace=on}} | all braces in link
| {{tlx|{{{1|tlg}}}|x0|braceinside{{=}}on}} | {{{{{1|tlg}}}|x0|braceinside=on}} | inside braces in link
| {{tlx|{{{1|tlg}}}|x0|alttext{{=}}x0 link}} | {{{{{1|tlg}}}|x0|alttext=x0 link}} |
| {{tlx|{{{1|tlg}}}|x0|bold{{=}}on|code{{=}}on|brace{{=}}on}} | {{{{{1|tlg}}}|x0|bold=on|code=on|brace=on}} | No reason you can't combine multiple parameter settings
| {{tlx|{{{1|tlg}}}|x1|one}} | {{{{{1|tlg}}}|x1|one}} |
| {{tlx|{{{1|tlg}}}|x2|one|two}} | {{{{{1|tlg}}}|x2|one|two}} |
| {{tlx|{{{1|tlg}}}|x2|bold{{=}}on|code{{=}}on|one|two}} | {{{{{1|tlg}}}|x2|bold=on|code=on|one|two}} | Can combine named and anonymous parameters …
| {{tlx|{{{1|tlg}}}|x2|one|two|bold{{=}}on|code{{=}}on}} | {{{{{1|tlg}}}|x2|one|two|bold=on|code=on}} | … in any order …
| {{tlx|{{{1|tlg}}}|x2|one|code{{=}}on|two|bold{{=}}on|three}} | {{{{{1|tlg}}}|x2|one|code=on|two|bold=on|three}} | … even intermixed …
| {{tlx|{{{1|tlg}}}|x2|one|code{{=}}on|two|bold{{=}}on|three|italic{{=}}on}} | {{{{{1|tlg}}}|x2|one|code=on|two|bold=on|three|italic=on}} | … with many different configurations.
| {{tlx|{{{1|tlg}}}|x3|1|2|3|4|5|6|7|8|9|10}} | {{{{{1|tlg}}}|x3|1|2|3|4|5|6|7|8|9|10}} |
| {{tlx|{{{1|tlg}}}}} | {{{1|tlg}}} | with no arguments, the current page name is substituted
| {{tlx|{{{1|tlg}}}|x1|x&#61;u}} | {{{{{1|tlg}}}|x1|x=u}} | '''{{=}}''' won't work
| {{tlx|{{{1|tlg}}}|x1|x&amp;#61;u}} | {{{{{1|tlg}}}|x1|x&#61;u}} | {{align|right|<code>&amp;#61;</code> is okay}}
| {{tlx|{{{1|tlg}}}|x1|x<nowiki>{{=}}</nowiki>u}} | {{{{{1|tlg}}}|x1|x{{=}}u}} | {{align|right|<code><nowiki>{{=}}</nowiki></code> is okay (see [[:template:=|template equal sign]])}}
| {{tlx|{{{1|tlg}}}|x1|x&lt;nowiki&gt;&#61;&lt;/nowiki&gt;u}} | {{{{{1|tlg}}}|x1|x<nowiki>=</nowiki>u}} | {{align|right|sticky nowiki is okay}}
| {{tlx|{{{1|tlg}}}|x2|<nowiki />|two|<nowiki />|<nowiki />}} | {{{{{1|tlg}}}|x2||two||}} | empty parameters work too, even at the end
| {{tlx|{{{1|tlg}}}|x2|<nowiki>3=two</nowiki>|<nowiki>2=one</nowiki>}} | {{{{{1|tlg}}}|x2|3=two|2=one}} | {{align|right|right to left okay}}
}}

{| class="wikitable" |style="background-color:transparent;"
|+ style="text-align:left;" | Wrapping of long names (default)
|-
|-
! Code
|{{Tlx|Tlg|x0|bold{{=}}yes|tt{{=}}yes|braceinside{{=}}yes}}
! style="width:15em;" | Output
|{{Tlg|x0|bold=yes|tt=yes|braceinside=yes}}
|No reason you can't combine multiple parameter settings.
|-
|-
| {{tlx|{{{1|tlg}}}|long template name that would wrap to new line|this is a long value for the 1st parameter that would wrap}}
|{{Tlx|Tlg|x1|one}}
| {{{{{1|tlg}}}|long template name that would wrap to new line|this is a long value for the 1st parameter that would wrap}}
|{{Tlg|x1|one}}
|}
||&#160;

{| class="wikitable" |style="background-color:transparent;"
|+ style="text-align:left;" | Wrapping of long names (<kbd>nowrap=on</kbd>)
|-
|-
! Code
|{{Tlx|Tlg|x2|one|two}}
! style="width:15em;" | Output
|{{Tlg|x2|one|two}}
||&#160;
|-
|-
| {{tlx|{{{1|tlg}}}|nowrap{{=}}on|long template name that would wrap to new line|long value for the 1st parameter that would wrap}}
|{{Tlx|Tlg|x2|bold{{=}}yes|tt{{=}}yes|one|two}}
| {{{{{1|tlg}}}|nowrap=on|long template name that would wrap to new line|long value for the 1st parameter that would wrap}}
|{{Tlg|x2|bold=yes|tt=yes|one|two}}
|}
|Can combine named and anonymous parameters ...

{| class="wikitable" |style="background-color:transparent;"
|+ style="text-align:left;" | Wrapping of long names (<kbd>nowrapname=on</kbd>)
|-
|-
! Code
|{{Tlx|Tlg|x2|one|two|bold{{=}}yes|tt{{=}}yes}}
! style="width:15em;" | Output
|{{Tlg|x2|one|two|bold=yes|tt=yes}}
|... in any order …
|-
|-
| {{tlx|{{{1|tlg}}}|nowrapname{{=}}on|long template name that would wrap to new line|long value for the 1st parameter that would wrap}}
|{{Tlx|Tlg|x2|one|tt{{=}}yes|two|bold{{=}}yes|three}}
| {{{{{1|tlg}}}|nowrapname=on|long template name that would wrap to new line|long value for the 1st parameter that would wrap}}
|{{Tlg|x2|bold=yes|one|tt=yes|two|bold=yes|three}}
|}
|... even intermixed ...

|-
== See also ==
|{{Tlx|Tlg|x2|one|tt{{=}}yes|two|bold{{=}}yes|three|italic{{=}}yes}}
{{Template-linking templates}}
|{{Tlg|x2|bold=yes|one|tt=yes|two|bold=yes|three|italic=yes}}

|... with many different configurations.
<includeonly>{{Sandbox other|
|-
| <!-- CATEGORIES BELOW THIS LINE, PLEASE: -->
|{{Tlx|Tlg|x3|1|2|3|4|5|6|7|8|9&#124;10}}
[[Category:Internal template-link templates]]
|{{Tlg|x3|1|2|3|4|5|6|7|8|9|10}}
[[Category:Wikitext typing-aid templates]]
||&#160;
}}</includeonly>
|-
|{{Tlx|Tlg|x4|1|2|3|4|5|6|7|8|9&#124;10&#124;11}}
|{{Tlg|x4|1|2|3|4|5|6|7|8|9|10|11}}
|up to 10 parameters, then ...
|-
|{{Tlx|Tlg|x5|1|2|3|4|5|6|7|8|9&#124;10&amp;#124;11}}
|{{Tlg|x5|1|2|3|4|5|6|7|8|9|10&#124;11}}
|align="right"|<tt>&amp;#124;</tt> for more
|-
|colspan=2| {{Tlx|Tlg|convert|<nowiki>&lt;nowiki>14|m|ftin|abbr=out|sp=us&lt;/nowiki></nowiki>}}
|unlimited parameters as one nowiki string
|-
|{{Tlx|Tlg}}
|{{Tlg}}
|with no arguments, the current page name is substituted
|-
|{{Tlx|Tlg|x1|x&#61;u}}
|{{Tlg|x1|x=u}}
|'''=''' won't work
|-
|{{Tlx|Tlg|x1|x&amp;#61;u}}
|{{Tlg|x1|x&#61;u}}
|align="right"|<tt>&amp;#61;</tt> is okay
|-
|{{Tlx|Tlg|x1|x<nowiki>{{=}}</nowiki>u}}
|{{Tlg|x1|x{{=}}u}}
|align="right"|<tt><nowiki>{{=}}</nowiki></tt> is okay
|-
|{{Tlx|Tlg|x1|&lt;nowiki&gt;x&#61;u&lt;/nowiki&gt;}}
|{{Tlg|x1|<nowiki>x=u</nowiki>}}
|align="right"|sticky nowiki is okay
|-
|{{Tlx|Tlg|x2|&#160;|two}}
|{{Tlg|x2| |two}}
|empty won't work
|-
|{{Tlx|Tlg|x2|&amp;#32;|two}}
|{{Tlg|x2|&#32;|two}}
|align="right"|<tt>&amp;#32;</tt> is okay
|-
|{{Tlx|Tlg|x2|&amp;nbsp;|two}}
|{{Tlg|x2|&nbsp;|two}}
|align="right"|<tt>&amp;nbsp;</tt> is okay
|-
|{{Tlx|Tlg|x2| &amp;#124; two}}
|{{Tlg|x2| &#124; two}}
|align="right"|<tt>&amp;#124;</tt> is okay
|-
|| {{Tlx|Tlg|x2| {&#123;!&#125;} two}}
|| {{Tlg|x2| {{!}} two}}
|align="right"|{{Tlg|!}} is dubious
|-
|| {{Tlx|Tlg|x2|<nowiki>2=</nowiki>|<nowiki>3=two</nowiki>}}
|| {{Tlg|x2|2=|3=two}}
|empty really doesn't work
|-
|| {{Tlx|Tlg|x2|<nowiki>2=one</nowiki>|two}}
|| {{Tlg|x2|2=one|two}}
|'''two''' clobbers '''2=one'''
|-
|| {{Tlx|Tlg|x2|<nowiki>3=two</nowiki>|<nowiki>2=one</nowiki>}}
|| {{Tlg|x2|3=two|2=one}}
|align="right"|right to left okay
|}<includeonly>
<!-- CATEGORIES AND INTERWIKIS HERE, THANKS -->
[[Category:Typing-aid templates]]
[[Category:Internal link templates]]
</includeonly>

Latest revision as of 15:03, January 29, 2022

This template, often abbreviated as {{tlg}}, is used to provide stylized formatting to template displays without actually using the template itself.

Parameters

With the exception of Template:Mono, the named parameters are toggles that are either omitted (default in most cases) or activated (by being assigned a value such as "on", "yes", "true", "include", etc.). They may be included in any order (see Examples below). Certain templates have the parameter "on" by default; see the main table for all alternate options.

Parameter Action Use with
{{example}}
Default active
brace Include braces as part of the template link {{Template:!((:Template:Example|example]]}} {{tlw}}/{{tn}}
braceinside Include innermost braces as part of the template link Template:!((:Template:Example|{{example}}]]
bold Renders the template link/name in bold {{Template:!((:Template:Example|example]]}} {{tlb}}, {{tlxb}}
code Display output using HTML <code>...</code> tags (monospaced font) {{Template:!((:Template:Example|example]]}} {{tlc}}, {{Template link expanded}}, etc.
italic Display any parameters accompanying the template link/name in italics {{Template:!((:Template:Example|example]]|param}} {{tlxi}}
kbd Display output using HTML <kbd>...</kbd> tags (monospaced font) {{Template:!((:Template:Example|example]]}}
nolink Don't render the template name as a link {{example}} {{tlf}}, {{tnull}}
nowrap Prevent the insertion of line breaks (word wrap) in the output {{Template:!((:Template:Example|example]]}}
nowrapname Prevent word wrapping in the output of template name/link (parameters will wrap if needed) {{Template:!((:Template:Example|example]]}}
plaincode Uses <code style="border:none; background:transparent;">...</code> {{Template:!((:Template:Example|example]]}} {{tltss}}
subst Include a subst: prefix before the template link/name {{subst:Template:!((:Template:Example|example]]}} {{tls}}, {{tlxs}}, etc
|alttext=[text] Use [text] as the label for the template link {{Template:!((:Template:Example|Other]]}} {{tla}}
_show_result Will also display the result of the template. {{Min|7|-5}} → -5

Unnamed (Positional)

This template can take any number of unnamed parameters as parameters accompanying the template link (or name); see Examples below.

Examples

Note
On the source sister projects, en.wikipedia and Meta, X0, X1, X2, …, X9 are sandbox templates for experimentation on involved templates that need be in template space. An auto-cleansing software facility exists that might be used to duplicate the facility on other Sister projects.

Script error: No such module "aligned table".

Wrapping of long names (default)
Code Output
{{tlg|long template name that would wrap to new line|this is a long value for the 1st parameter that would wrap}} {{Template:!((:Template:Long template name that would wrap to new line|long template name that would wrap to new line]]|this is a long value for the 1st parameter that would wrap}}
Wrapping of long names (nowrap=on)
Code Output
{{tlg|nowrap=on|long template name that would wrap to new line|long value for the 1st parameter that would wrap}} {{Template:!((:Template:Long template name that would wrap to new line|long template name that would wrap to new line]]|long value for the 1st parameter that would wrap}}
Wrapping of long names (nowrapname=on)
Code Output
{{tlg|nowrapname=on|long template name that would wrap to new line|long value for the 1st parameter that would wrap}} {{Template:!((:Template:Long template name that would wrap to new line|long template name that would wrap to new line]]|long value for the 1st parameter that would wrap}}

See also

Template:Template-linking templates