Template:Tlx/doc: Difference between revisions

From Jenny Everywhere Wiki
m (Protected "Template:Tlx/doc": Robot: Protecting all pages from category templates (‎[edit=sysop] (indefinite) ‎[move=sysop] (indefinite)))
m (11 revisions imported)
 
(6 intermediate revisions by one other user not shown)
Line 1: Line 1:
: {{Tlx|Tlx|Template|first parameter|second|third|...|tenth}} {{Tlx|Template|first parameter|second|third|...|tenth}}
{{tlx|tlx}} — an acronym for '''template link expanded''' — is a sort of more useful sister to {{tlx|tl}}. It allows you do demonstrate templates more fully, by letting you show not just the template name, but ''also the parameters''. It's almost always preferable to use {{tlx|tlx}} than {{tlx|tl}} — even when you're ''not'' demonstrating parameters — because it automatically converts to a highly readable monospaced font.  
: {{Tlx|Tlx|Template|2=first parameter|3=second|4=third|...|11=tenth}} → {{Tlx|Template|first parameter|second|third|...|tenth}} if they might contain "=" signs.
: {{Tlx|Tlx|Template|&lt;nowiki>first|second|...|999th&lt;/nowiki>}} → {{Tlx|Template|<nowiki>first|second|...|999th</nowiki>}} (for more than 10 parameters)


== Purpose and naming ==
Although our template pages automatically display mono-spaced fonts, no other commonly-used namespace does. Look at the difference in display:
{{w|mnemonic}}ally ''''T'''emplate '''l'''ink e'''x'''panded'. After <tt>{{tlx|Tl}}</tt> ''''T'''emplate '''l'''ink'.


* 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.
<div style=font-family:sans-serif>
* This uses {{tlx|tl}}: {{Tl|Tl}}
* This uses {{tlx|tlx}}: {{Tlx|Tl}}
</div>
Clearly, {{tlx|tlx}} is much more readable.  That's not to say there are no uses for {{tlx|tl}}, but {{tlx|tlx}} is often the clearest thing.  And, perhaps more importantly, it's the only one of the two that will allow the demonstration of parameters.   
== Details ==
* This template takes another ''template-name'' and some associated [[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:''''' Up to 10 pass parameters (numbered or nowiki-keywords) for the specified template are displayed as 'placeholders', and over 10 parameters can be displayed using a coded vertical-bar (as in "<small>&amp;#124;</small>''...''"). A keyword parameter can be used with equals code &amp;#61; or <nowiki>{{=}}</nowiki> or in nowiki-text: "&lt;nowiki>size=10&lt;/nowiki>" or all parameters as a string in <nowiki>"<nowiki>"</nowiki> tags; see ''[[#Examples|Examples]]'' at bottom. For more details, see [[{{TALKPAGENAME}}|this talk]] page.
* '''''Specifics:''''' Up to 10 pass parameters (numbered or nowiki-keywords) for the specified template are displayed as 'placeholders', and over 10 parameters can be displayed using a coded vertical-bar (as in "<small>&amp;#124;</small>''...''"). A keyword parameter can be used with equals code &amp;#61; or <nowiki>{{=}}</nowiki> or in nowiki-text: "&lt;nowiki>size=10&lt;/nowiki>" or all parameters as a string in <nowiki>"<nowiki>"</nowiki> tags; see ''[[#Examples|Examples]]'' at bottom. For more details, see [[{{TALKPAGENAME}}|this talk]] page.
* '''''Exceptions:''''' If the intended template lists numerous parameters, then perhaps this template should really ''not'' be used, and just hardcode the usage with {{nowrap|<code><nowiki>&lt;code&gt;&lt;nowiki&gt;</nowiki></code>}}, for example: {{nowrap|<code><nowiki>&lt;code&gt;&lt;nowiki&gt;{{Anytemplate|arg1=23|size=250px|</nowiki><var>other parameters...</var><nowiki>}}&lt;/nowiki&gt;&lt;/code&gt;</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 {{nowrap|<code><nowiki><pre>...</pre></nowiki></code>}}.
* '''''Exceptions:''''' If the intended template lists numerous parameters, then perhaps this template should really ''not'' be used, and just hardcode the usage with {{nowrap|<code><nowiki>&lt;code&gt;&lt;nowiki&gt;</nowiki></code>}}, for example: {{nowrap|<code><nowiki>&lt;code&gt;&lt;nowiki&gt;{{Anytemplate|arg1=23|size=250px|</nowiki><var>other parameters...</var><nowiki>}}&lt;/nowiki&gt;&lt;/code&gt;</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 {{nowrap|<code><nowiki><pre>...</pre></nowiki></code>}}.
----
* If given no additional parameters except ''<code>&nbsp;'template&nbsp;name'&nbsp;(<nowiki>{{{1}}}</nowiki>), </code>''&nbsp;it presents the same as the similar {{tl|Tl}} [[macro]] template -- a blue link nested in [[brackets|curly-braces]]-- the same as a user would apply the template without parameters, but with a noticably clearer font and spacing on most modern browsers.
:* {{Tlx|Tl|Tl}} display compared to {{Tlx|Tlx|Tl}}: (Tl: {{Tl|Tl}} versus Tlx: {{Tlx|Tl}})
* Comparatively, {{Tlx|Tl}} will not take or display additional parameters, and for minor technical reasons, may be preferred for mere listing and referencing in long pages involving a lot of template expansions.
* Comparatively, {{Tlx|Tl}} will not take or display additional parameters, and for minor technical reasons, may be preferred for mere listing and referencing in long pages involving a lot of template expansions.
 
* {{tlx|Tlx}} has a named parameter ''subst''. Setting this parameter to any string of length 1 or greater will place the string "subst:" before the template name, linked to {{w|Help:Substitution}}. This is useful to indicate when a template should be substituted. For example {{tlx|Tlx|Welcome|<nowiki>subst=Y</nowiki>}} will display {{Tlx|Welcome|subst=Y}}.
* {{tlx|Tlx}} has a named parameter ''subst''. Setting this parameter to any string of length 1 or greater will place the string "subst:" before the template name, linked to [[Help:Substitution]]. This is useful to indicate when a template should be substituted. For example {{tlx|Tlx|Welcome|<nowiki>subst=Y</nowiki>}} will display {{Tlx|Welcome|subst=Y}}.
 
* Additionally, Tlx will take a 'named' parameter 'SISTER' to link interwiki to other sister projects such as one of these examples: '|SISTER=W:', 'Tlx|SISTER=M:', 'Tlx|SISTER=Q:', 'Tlx|SISTER=S:', allowing documentation or discourse about a template across interwiki boundaries.
* Additionally, Tlx will take a 'named' parameter 'SISTER' to link interwiki to other sister projects such as one of these examples: '|SISTER=W:', 'Tlx|SISTER=M:', 'Tlx|SISTER=Q:', 'Tlx|SISTER=S:', allowing documentation or discourse about a template across interwiki boundaries.
 
* {&#123;[[Template:{{BASEPAGENAME}}|{{BASEPAGENAME}}]]&#125;} is a generalisation of {{Tl|Tl|x}}, {{Tl|Tlp|x|y}}, etcetera with arguably better readable output. This depends on the browser, but too narrow uses of "'''{'''", "'''|'''", "'''}'''" in conjunction with links can be hard to read.
== Documentation ==
 
{&#123;[[Template:{{BASEPAGENAME}}|{{BASEPAGENAME}}]]&#125;}
is a generalization of {{Tl|Tl|x}}, {{Tl|Tlp|x|y}},
etcetera with arguably better readable
output. This depends on the browser, but too narrow
uses of "'''{'''", "'''|'''", "'''}'''" in conjunction
with links can be hard to read.


=== Usage ===
=== Usage ===

Latest revision as of 15:34, 24 May 2022

{{tlx}} — an acronym for template link expanded — is a sort of more useful sister to {{tl}}. It allows you do demonstrate templates more fully, by letting you show not just the template name, but also the parameters. It's almost always preferable to use {{tlx}} than {{tl}} — even when you're not demonstrating parameters — because it automatically converts to a highly readable monospaced font.

Although our template pages automatically display mono-spaced fonts, no other commonly-used namespace does. Look at the difference in display:

  • This uses {{tl}}: {{Tl}}
  • This uses {{tlx}}: {{Tl}}

Clearly, {{tlx}} is much more readable. That's not to say there are no uses for {{tl}}, but {{tlx}} is often the clearest thing. And, perhaps more importantly, it's the only one of the two that will allow the demonstration of parameters.

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: Up to 10 pass parameters (numbered or nowiki-keywords) for the specified template are displayed as 'placeholders', and over 10 parameters can be displayed using a coded vertical-bar (as in "&#124;..."). A keyword parameter can be used with equals code &#61; or {{=}} or in nowiki-text: "<nowiki>size=10</nowiki>" or all parameters as a string in "<nowiki>" tags; see Examples at bottom. For more details, see this talk page.
  • Exceptions: If the intended template lists numerous 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>.
  • Comparatively, {{Tl}} will not take or display additional parameters, and for minor technical reasons, may be preferred for mere listing and referencing in long pages involving a lot of template expansions.
  • {{Tlx}} has a named parameter subst. Setting this parameter to any string of length 1 or greater will place the string "subst:" before the template name, linked to {{{2}}}. This is useful to indicate when a template should be substituted. For example {{Tlx|Welcome|subst=Y}} will display {{subst:Welcome}}.
  • Additionally, Tlx will take a 'named' parameter 'SISTER' to link interwiki to other sister projects such as one of these examples: '|SISTER=W:', 'Tlx|SISTER=M:', 'Tlx|SISTER=Q:', 'Tlx|SISTER=S:', allowing documentation or discourse about a template across interwiki boundaries.
  • {{Tlx}} is a generalisation of {{Tl}}, {{Tlp}}, etcetera with arguably better readable output. This depends on the browser, but too narrow uses of "{", "|", "}" in conjunction with links can be hard to read.

Usage

{{Tlx|template name}}
{{Tlx|template name|param}}
{{Tlx|template name|1|2|3|4|5|6|7|8|9|10}}
{{Tlx|template name|1|2|3|4|5|6|7|8|9|10&#124;more}}
{{Tlx|template name|param&#61;value}}

Up to 10 placeholders for parameters of the specified template

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.
Code Result Remark
{{Tlx|x0}} {{x0}}  
{{Tlx|Abc}} {{Abc}}  
{{Tlx|ABC}} {{ABC}}  
{{Tlx|AbC}} {{AbC}}  
{{Tlx|x1|one}} {{x1|one}}  
{{Tlx|x2|one|two}} {{x2|one|two}}  
{{Tlx|x3|1|2|3|4|5|6|7|8|9|10}} {{x3|1|2|3|4|5|6|7|8|9|10}}  
{{Tlx|x4|1|2|3|4|5|6|7|8|9|10|11}} {{x4|1|2|3|4|5|6|7|8|9|10|...}} up to 10 parameters, then ...
{{Tlx|x5|1|2|3|4|5|6|7|8|9|10&#124;11}} {{x5|1|2|3|4|5|6|7|8|9|10|11}} &#124; for more
{{Tlx|convert|<nowiki>14|m|ftin|abbr=out|sp=us</nowiki>}} unlimited parameters as one nowiki string
{{Tlx|x1|x=u}} {{x1}} = won't work
{{Tlx|x1|x&#61;u}} {{x1|x=u}} &#61; is okay
{{Tlx|x1|x{{=}}u}} {{x1|x=u}} {{=}} is okay
{{Tlx|x1|<nowiki>x=u</nowiki>}} {{x1|x=u}} sticky nowiki is okay
{{Tlx|x2| |two}} {{x2|two}} empty won't work
{{Tlx|x2|&#32;|two}} {{x2| |two}} &#32; is okay
{{Tlx|x2|&nbsp;|two}} {{x2| |two}} &nbsp; is okay
{{Tlx|x2| &#124; two}} {{x2| | two}} &#124; is okay
{{Tlx|x2| {{!}} two}} {{x2| | two}} {{!}} is dubious
{{Tlx|x2|2=|3=two}} {{x2|two}} empty really doesn't work
{{Tlx|x2|2=one|two}} {{x2|two}} two clobbers 2=one
{{Tlx|x2|3=two|2=one}} {{x2|one|two}} right to left okay