Template:Yesno
This template is used in system messages. Changes to it can cause immediate changes to the Wikimedia user interface. To avoid major disruption, any changes should be tested in the template's /sandbox or /testcases subpages, or in your own user subpage. The tested changes can be added to this page in a single edit. Please discuss changes on the talk page before implementing them. |
This template normalises an input to be a yes/no output.
Usage
The template has five possible outputs depending on the default parameter (input if you will).
In its simplest usage these will all be either "yes" or "" (blank - nothing no characters).
{{yesno|yes}}
result "yes" (also applies to "Yes", "YeS", etc, "Y", "y" and "1"){{yesno|no}}
result "" (also applies to "No", "NO", "nO", "N", "n" and "0"){{yesno}}
result ""{{yesno|¬}}
result ""{{yesno|purplemonkeydishwasher}}
result "yes" (also applies to any other value not given above).
Each of these can be over-ridden.
{{yesno|yes|yes=bacon}}
result "bacon" (also applies to "Yes", "YeS", etc, "Y", "y" and "1"){{yesno|no|no=ham}}
result "ham" (also applies to "No", "NO", "nO", "N", "n" and "0"){{yesno|blank= eggs}}
result "eggs"- but
{{yesno|no=ham}}
result "ham" - and
{{yesno|blank= eggs|no=ham}}
result "eggs"
- but
{{yesno|¬|¬=sausage}}
result "sausage"{{yesno|purplemonkeydishwasher|def=cup-of-tea}}
result "cup-of-tea" (also applies to any other value not given above).- but
{{yesno|purplemonkeydishwasher|yes=bacon}}
result "bacon" - but
{{yesno|purplemonkeydishwasher|def=cup-of-tea|yes=bacon}}
result "cup-of-tea"
- but
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.
TemplateData
- TemplateData
TemplateData is a way to store information about template parameters (the description of those and of the whole template) for both humans and machines. It is used by VisualEditor and possibly other tools like Upload Wizard.
Existing template documentation
At Wikimedia Commons, it is recommended to use {{TemplateBox}} with either useTemplateData=1
or useTemplateData=only
on the /doc
subpage and transcluding it with {{Documentation}} into the template. <nowiki>
-tags can be wrapped around the arguments, if required, to avoid templates being expanded.
Newly created template documentation and imports
Another option, especially for imported templates, or for users with JSON experience, is placing raw <templatedata>
-tags into the Wikitext of the template, as described in various Wikipediae.
Wikipedia's help about TemplateData • Commons-specific information
Normalizes boolean template arguments.
Parameter | Description | Type | Status | |
---|---|---|---|---|
Input | 1 | The value to normalize
| String | required |
Truthy output | yes | Output on a truthy value (e.g.: case‑insensitive 'yes', 'y', 'true', or '1')
| String | optional |
Falsy output | no | Output on a falsy value (e.g.: case‑insensitive 'no', 'n', 'false', or '0') | String | optional |
Blank output | blank | Output when the input parameter is defined but its value is empty
| String | optional |
Undefined output | ¬ | Output when the input parameter is either '¬' or entirely missing (undefined)
| String | optional |
Definite output | def | Output when the input value is specified but isn't any of the preceding values
| String | optional |