Template:Evd

From Wikiversity
This is a copy of the master template page at Meta.
Some minor links may be broken - you are welcome to fix them.
Edits to this copy will be lost in the next update from the master page. 
See below for more information.

This template template:evd ( talk edit history links ) shows the call of a template or predefined template and its result, for documentation.|

Usage:
{{Evd|left side|up to 3 additional parameters}}
{{Evd|left side|up to 3 additional parameters|s=separator}}
The default separator is "gives", use s== or similar to get "=" etc. Please note that for parser functions the first parameter belongs to the left side before the "|" vertical bar aka pipe.

Examples without additional parameters:

Examples:

  1. {{Evd|CURRENTDAY|s=is}} displays
    {{ CURRENTDAY}} is 26
  2. {{Evd|#expr:2*3}} displays
    {{ #expr:2*3}} gives 6
  3. {{Evd|1=#expr:2+2=5}} displays
    {{ #expr:2+2=5}} gives 0
  4. {{Evd|1=#expr:(2+2=4)|s==}} displays
    {{ #expr:(2+2=4)}} = 1
  5. {{Evd|urlencode:!|s==}} displays
    {{ urlencode:!}} = %21
  6. {{Evd|uc:abc}} gives
    {{ uc:abc}} gives ABC
  7. {{subst:Evd|uc:Upper Case|subst=subst:}} substitutes
    {{ subst:uc:Upper Case}} gives UPPER CASE
    See Help:Substitution for several caveats wrt subst=subst:.

As always the expression (first parameter) cannot directly contain "|", "=", plus other special cases related to square brackets / curly braces. In the case of this template "not directly" means "never" except from "=" as shown above.

This template and template:Evdn (edittalklinkshistory) can be used if the case of an expression in double braces which itself includes a pair of double braces (simple nested expressions). For the former, use named parameters 1n (Nested part of first parameter) and optionally 1a (part After that). For the latter, use "|" for the inner "{{" and, if there is code after it, also for "}}".

  1. {{evd|#expr:24*|1n=CURRENTDAY}} gives {{ #expr:24*{{CURRENTDAY}}}} gives 624
  2. {{evdn|#expr:24*|CURRENTDAY}} gives {{ #expr:24*{{ CURRENTDAY}}}} gives 624
  3. {{evd|#expr:24*|1n=CURRENTDAY|1a=-24}} gives {{ #expr:24*{{CURRENTDAY}}-24}} gives 600
  4. {{evdn|#expr:24*|CURRENTDAY|-24}} gives {{ #expr:24*{{ CURRENTDAY}}-24}} gives 600
  5. {{evdn|#expr:4*|#expr:not 0| >3 | yields}} displays
    {{ #expr: 4*{{ #expr:not 0}} >3 }} yields 1
  6. {{evdn|urlencode:|DIRMARK}} displays
    {{ urlencode:{{ DIRMARK}}}} gives %E2%80%8E

Examples with additional parameters (no nesting possible):

Example:
{{Evd|#ifeq: 1.00|+1|okay}} gives:
{{ #ifeq: 1.00|+1|okay}} gives okay
Example:
{{Evd|#ifeq: this|that||false|s=is}} gives:
{{ #ifeq: this|that||false}} is false
Example:
{{Evd|#expr: 3*4}} gives:
{{ #expr: 3*4}} gives 12
Example:
{{evaldemo|#expr: 3*4}} gives:
{{ #expr: 3*4}} gives 12
{{ tc}} gives {{evd}}
{{ t|b}} gives {{b}}
{{ t|b|c}} yields {{b}}
{{ t2|b|c}} gives Template:T2
{{ t2|b|c|d}} gives Template:T2
{{ t2|b|c|d}} yields Template:T2

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

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

Optional substitution with subst=subst: is not supported. It's anyway against the spirit of this demo template showing what another template actually does, and not what it did some time ago.