Template:Str ≥ len/doc

From TSP Encyclopedia
Revision as of 01:39, 28 November 2021 by Pronoun (talk | contribs) (Created page with "{{Documentation subpage}} {{high-use}}{{Lua|Module:String}} <!----PLEASE ADD CATEGORIES WHERE INDICATED AT THE BOTTOM OF THIS PAGE----> This is the {{tl|str ≥ len}} meta-tem...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This is the {{str ≥ len}} meta-template.

It helps other templates check if a string is "longer or equally long" vs. "shorter" than a given length.

Usage

This template takes 3 to 4 unnamed parameters.

Here is how to check if the string "abcde" is 4 characters or more:

{{str ≥ len | abcde | 4
| Equal or longer.
| Shorter.
}}

Which returns this:

Equal or longer.

Templates have a problem handling parameter data that contains equal signs "=". But that is easily solved by using numbered parameters. Here we check if the string "ab=cde" is 100 characters or more:

{{str ≥ len 
| 1 = ab=cde 
| 2 = 100
| 3 = Equal "=" or longer.
| 4 = Shorter, not "=".
}}

Which returns this:

Shorter, not "=".

It probably is a good habit to always use the numbered parameters, since you might not know beforehand exactly how the data will look that your template will feed to this meta-template.

Parameters

{{str ≥ len 
| 1 = A string
| 2 = A length
| 3 = Data to return/render when "longer than or equally long".
| 4 = Data to return/render when "shorter than".
}}

Empty or undefined strings are considered to be of 0 length.

Length values below 0 are considered to be 0.

Technical details

The potential alternative templates names {{str >= len}} or (for the opposite) {{str < len}} do not work in MediaWiki.

Templates have problems to handle parameter data that contains pipes "|", unless the pipe is inside another template {{name|param1}} or inside a piped link [[Help:Template|help]]. Thus templates can not handle wikitables as input unless you escape them by using the Template:Tn template. This makes it hard to use wikitables as parameters to templates. Instead the usual solution is to use "HTML wikimarkup" for the table code, which is more robust.

See also

Template:String-handling templates