Template:Yesno
| Template documentation follows |
|---|
| Note: the template above may sometimes be partially or fully invisible. |
| Visit Template:Yesno/doc to edit this documentation. (How does this work?) |
| This page uses Creative Commons Licensed content from Wikipedia (view authors). |
{{Yesno}} (or {{YesNo}}) evaluates any input and produces a normalized yes or nil output, based on the content of the input and several configurable options. It is not used in article prose, but in coding complex templates.
Usage
[edit source]The template distinguishes five different types of input, supplied on the first unnamed parameter:
- Yes: Case-insensitive forms of
Yes,y,true,on, and1; e.g.{{Yesno|yEs}}→ yes - No: Case-insensitive forms of
No,n,false,off, and0; e.g.{{Yesno|nO}}→ - Nothing: When the input is defined but either contains no value or consists of whitespace character only; i.e.
{{Yesno|}}or{{Yesno|}} - Negation: When the input is either
¬(alt code 170) or entirely missing; i.e.{{Yesno|¬}}or{{Yesno}}→ - Anything else: e.g.
{{Yesno|Purple monkey dish washer}}→ yes
By default, the template returns "yes" in the first and last case but returns nil (blank, empty string) in the other cases.
Customizing the output
[edit source]Template's default output can be customized with five named parameters, respectively: |yes, |no, |blank, |¬ and |def. If these parameters are specified, the template response is as follows:
- Yes: Template returns the contents of
|yes=, otherwise returns "yes". For example:{{yesno|y|3=yes=Yeah}}results in "Yeah"{{yesno|y|3=yes=bacon}}results in "bacon"
- No: Template returns the contents of
|no=, otherwise returns blank. For example:{{yesno|n|3=no=Nay}}results in "Nay"{{yesno|n|3=no=ham}}results in "ham"
- Nothing: Template returns the contents of
|blank, or of|noin absence of the former; otherwise, returns blank.{{yesno|3=blank=eggs}}results in ""{{yesno|3=no=ham}}results in ""{{yesno|3=blank=eggs|4=no=ham}}results in ""
- Negation: Template returns the contents of
|¬, otherwise returns blank. For example:{{yesno|¬|3=¬=sausage}}results in "sausage"
- Anything else: Template returns the contents of
|def, or of|yesin absence of the former; otherwise, returns "yes".{{yesno|purple monkey dish washer|3=def=cup of tea}}results in "cup of tea"{{yesno|purple monkey dish washer|3=yes=bacon}}results in "bacon"{{yesno|purple monkey dish washer|3=def=cup of tea|4=yes=bacon}}results in "cup of tea"
For the named parameters, use of a blank value is not the same as omitting the parameter. A blank named parameter tells the template that the customized return value is blank. For example:
{{yesno|purple monkey dish washer}}results in "yes"{{yesno|purple monkey dish washer|3=def=}}results in "" [blank]
Logical distinctions
[edit source]| Overview of {{yesno}} logical values and their associated texts | ||||||
|---|---|---|---|---|---|---|
| Input parameter 1 ( =1})
|
In code | Logical return value | Default return text |
Return text when set:1=yes=Pos1=no=Neg1=blank=Blank1=¬=Undefined1=def=Def
|
Note | |
| yes, y, true, 1* | {{yesno|yes}}
|
yes by definition
|
"yes" | "Pos" | * Case-insensitive (Y=y) | |
| Some Text | {{yesno|Some Text}}
|
yes by default
|
"yes" | "Def" | "Pos" when def=[omitted]
| |
| no, n, false, 0* | {{yesno|no}}
|
no by definition
|
"" [blank] | "Neg" | * Case-insensitive (N=n) | |
| [blank] | {{yesno|}}
|
blank
|
"" [blank] | "Blank" | "Neg" when def=[omitted]
| |
| 1=[blank] | {{yesno|1=}}
|
blank
|
"" [blank] | "Blank" | "Neg" when def=[omitted]
| |
| ¬ | {{yesno|¬}}
|
¬
|
"" [blank] | "Undefined" | ||
| [omitted] | {{yesno}}
|
¬
|
"" [blank] | "Undefined" | ||