Template:Mbox

This template normalises an input to be a yes/no output.

Usage

The template discerns five possible logical outputs depending on the first parameter (input if you will).

In its simplest usage these will all be either "yes" or "" (blank - nothing no characters).

  1. {{yesno|yes}} result "yes" (also applies to "Yes", "YeS", etc, "Y", "y" and "1")
  2. {{yesno|no}} result "" (also applies to "No", "NO", "nO", "N", "n" and "0")
  3. {{yesno}} result ""
  4. {{yesno|¬}} result ""
  5. {{yesno|purplemonkeydishwasher}} result "yes" (also applies to any other value not given above).


Each of these can be over-ridden.

  1. {{yesno|yes|yes=bacon}} result "bacon" (also applies to "Yes", "YeS", etc, "Y", "y" and "1")
  2. {{yesno|no|no=ham}} result "ham" (also applies to "No", "NO", "nO", "N", "n" and "0")
  3. {{yesno|blank= eggs}} result "eggs"
    1. but {{yesno|no=ham}} result "ham"
    2. and {{yesno|blank= eggs|no=ham}} result "eggs"
  4. {{yesno|¬|¬=sausage}} result "sausage"
  5. {{yesno|purplemonkeydishwasher|def=cup-of-tea}} result "cup-of-tea" (also applies to any other value not given above).
    1. but {{yesno|purplemonkeydishwasher|yes=bacon}} result "bacon"
    2. but {{yesno|purplemonkeydishwasher|def=cup-of-tea|yes=bacon}} result "cup-of-tea"

This may be used (apparently perversely) thus:

  • {{yesno|yes|yes=no|no=yes}} result "no"
  • {{yesno|no|yes=no|no=yes}} result "yes"

This creates a logical inversion.

Full parameter list

Unnamed parameter 1= the input value to be evaluated. The other parameters (all named, all optional), are the return values for their respective logical outcome. When set, each one overrules their default return value.

{{yesno
|
| yes  =
| no   =
| blank=
| ¬    =
| def  =
}}
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:
​yes=Pos​
​no=Neg​
​blank=Blank​
​¬=Undefined​
​def=Def​
Note
yes, y, 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, 0* ​{{yesno|no}}​ ​no by definition​ "" "Neg" * Case-insensitive (N=n)
<blank> ​{{yesno|}}​ ​blank​ "" "Blank" "Neg" when ​blank=<omitted>​
1=<blank> ​{{yesno|1=}}​ ​blank​ "" "Blank" "Neg" when ​blank=<omitted>​
¬ ​{{yesno|¬}}​ ​¬​ "" "Undefined"
<omitted> ​{{yesno}}​ ​¬​ "" "Undefined"