From wikiRoE
Jump to navigation Jump to search
Template documentation

This Template:xpd (expansion demo) shows the call of a variable, parser function or template and its result, for documentation.

{{xpd|left side|up to 3 additional parameters}}

Please note that for parser functions the first parameter belongs to the left side before "|".

Examples without additional parameters:

{{xpd|tc}} {{tc}} Lua error in Module:Template_link_general at line 119: attempt to concatenate local 'titlePart' (a nil value).
{{xpd|#expr:2*3}} {{#expr:2*3}} 6
{{xpd|1=#expr:2+2=5}} {{#expr:2+2=5}} 0
{{xpd|1=#expr:2+2=4}} {{#expr:2+2=4}} 1
{{xpd|urlencode:!}} {{urlencode:!}} %21
{{xpd|uc:abc}} {{uc:abc}} ABC

{{subst:xpd|uc:Upper Case|subst=subst:}} substitutes {{ subst:uc:Upper Case}} gives UPPER CASE

See Help:Substitution for several caveats wrt subst=subst:.

Note that, as always, a parameter containing "=" has to be explicitly named by putting, in this case, "1=" in front.

Template:Xpdn can be used in the case of an expression in double braces which itself includes a pair of double braces (simple nested expressions). Use "|" for the inner "{{" and, if there is code after it, also for "}}".

{{xpdn|#expr:24*|CURRENTDAY}} {{#expr:24*{{CURRENTDAY}}}} 672
{{xpdn|#expr:24*|CURRENTDAY|-24}} {{#expr:24*{{CURRENTDAY}}-24}} 648
{{xpdn|#expr:4*|#expr:not 0| >3}} {{#expr: 4*{{#expr:not 0}} >3}} 1
{{xpdn|urlencode:|DIRMARK}} {{urlencode:{{DIRMARK}}}} %E2%80%8E

Examples with additional parameters (no nesting possible):

{{xpd|#ifeq: 1.00|+1|okay}} {{#ifeq: 1.00|+1|okay}} okay
{{xpd|#ifeq: this|that||false|s=is}} {{#ifeq: this|that||false}} is false
{{xpd|t|b}} {{t|b}} Tb
{{xpd|t2|b|c}} {{t2|b|c}} bc

In the case of one or more named parameters, write all parameter definitions from that as value of the appropriate parameter number, e.g.:

{{xpd|t link|2=wikt=abc|3=}} gives "{{t link|wikt=abc|}} Template:T link"

Optional substitution with subst=subst: is not supported. The demo template shows what another template actually does, and not what it did some time ago.

Separator parameter

{{xpd|left side|up to 3 additional parameters|s=separator}}
{{xpdn|left side|nested part and optional last part|s=separator}}
The default separator is "gives", use s== or similar to get "=" etc.

Examples with separator parameter:

{{xpd|CURRENTDAY|s=is}} {{CURRENTDAY}} is 28
{{xpd|1=#expr:2+2|s==}} {{#expr:2+2}} = 4
{{xpdn|#expr:4*|#expr:not 0| >3 | yields}} {{#expr: 4*{{#expr:not 0}} >3 }} yields 1

See also