Template:Yesno

From Emulation General Wiki
Jump to navigation Jump to search
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]

The template distinguishes five different types of input, supplied on the first unnamed parameter:

  1. Yes: Case-insensitive forms of Yes, y, true, on, and 1; e.g. {{Yesno|yEs}} → yes
  2. No: Case-insensitive forms of No, n, false, off, and 0; e.g. {{Yesno|nO}}
  3. Nothing: When the input is defined but either contains no value or consists of whitespace character only; i.e. {{Yesno|}} or {{Yesno|}}
  4. Negation: When the input is either ¬ (alt code 170) or entirely missing; i.e. {{Yesno|¬}} or {{Yesno}}
  5. 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]

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:

  1. 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"
  2. 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"
  3. Nothing: Template returns the contents of |blank, or of |no in 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 ""
  4. Negation: Template returns the contents of , otherwise returns blank. For example:
    • {{yesno|¬|3=¬=sausage}} results in "sausage"
  5. Anything else: Template returns the contents of |def, or of |yes in 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]

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=Pos
1=no=Neg
1=blank=Blank
1=¬=Undefined
1=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"