Template:Documentation subpage
This template normalises an input to be a yes/no output.
Usage
[edit source]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).
- {{safesubst:#invoke:Template link general|main|mono=true|1={{safesubst:#if:|{{{SISTER}}}:Template:Yesno|Yesno}}|alttext{{safesubst:#ifeq:|{{{alttext}}}|¬}}={{safesubst:#if:|Yesno}}}} → "yes" (also applies to "Yes", "YeS", etc, "Y", "y" and "1")
- {{safesubst:#invoke:Template link general|main|mono=true|1={{safesubst:#if:|{{{SISTER}}}:Template:Yesno|Yesno}}|alttext{{safesubst:#ifeq:|{{{alttext}}}|¬}}={{safesubst:#if:|Yesno}}}} → "" (also applies to "No", "NO", "nO", "N", "n" and "0")
- {{safesubst:#invoke:Template link general|main|mono=true|1={{safesubst:#if:|{{{SISTER}}}:Template:Yesno|Yesno}}|alttext{{safesubst:#ifeq:|{{{alttext}}}|¬}}={{safesubst:#if:|Yesno}}}} → ""
- {{safesubst:#invoke:Template link general|main|mono=true|1={{safesubst:#if:|{{{SISTER}}}:Template:Yesno|Yesno}}|alttext{{safesubst:#ifeq:|{{{alttext}}}|¬}}={{safesubst:#if:|Yesno}}}} → ""
- {{safesubst:#invoke:Template link general|main|mono=true|1={{safesubst:#if:|{{{SISTER}}}:Template:Yesno|Yesno}}|alttext{{safesubst:#ifeq:|{{{alttext}}}|¬}}={{safesubst:#if:|Yesno}}}} → "yes" (also applies to any other value not given above)
Each of these can be over-ridden.
- {{safesubst:#invoke:Template link general|main|mono=true|1={{safesubst:#if:|{{{SISTER}}}:Template:Yesno|Yesno}}|alttext{{safesubst:#ifeq:|{{{alttext}}}|¬}}={{safesubst:#if:|Yesno}}}} → "Template:Yesno" (also applies to "Yes", "YeS", etc, "Y", "y" and "1")
- {{safesubst:#invoke:Template link general|main|mono=true|1={{safesubst:#if:|{{{SISTER}}}:Template:Yesno|Yesno}}|alttext{{safesubst:#ifeq:|{{{alttext}}}|¬}}={{safesubst:#if:|Yesno}}}} → "Template:Yesno" (also applies to "No", "NO", "nO", "N", "n" and "0")
- {{safesubst:#invoke:Template link general|main|mono=true|1={{safesubst:#if:|{{{SISTER}}}:Template:Yesno|Yesno}}|alttext{{safesubst:#ifeq:|{{{alttext}}}|¬}}={{safesubst:#if:|Yesno}}}} → "Template:Yesno"
- but {{safesubst:#invoke:Template link general|main|mono=true|1={{safesubst:#if:|{{{SISTER}}}:Template:Yesno|Yesno}}|alttext{{safesubst:#ifeq:|{{{alttext}}}|¬}}={{safesubst:#if:|Yesno}}}} → "Template:Yesno"
- and {{safesubst:#invoke:Template link general|main|mono=true|1={{safesubst:#if:|{{{SISTER}}}:Template:Yesno|Yesno}}|alttext{{safesubst:#ifeq:|{{{alttext}}}|¬}}={{safesubst:#if:|Yesno}}}} → "Template:Yesno"
- {{safesubst:#invoke:Template link general|main|mono=true|1={{safesubst:#if:|{{{SISTER}}}:Template:Yesno|Yesno}}|alttext{{safesubst:#ifeq:|{{{alttext}}}|¬}}={{safesubst:#if:|Yesno}}}} → "Template:Yesno"
- and {{safesubst:#invoke:Template link general|main|mono=true|1={{safesubst:#if:|{{{SISTER}}}:Template:Yesno|Yesno}}|alttext{{safesubst:#ifeq:|{{{alttext}}}|¬}}={{safesubst:#if:|Yesno}}}} → "Template:Yesno"
- {{safesubst:#invoke:Template link general|main|mono=true|1={{safesubst:#if:|{{{SISTER}}}:Template:Yesno|Yesno}}|alttext{{safesubst:#ifeq:|{{{alttext}}}|¬}}={{safesubst:#if:|Yesno}}}} → "{{safesubst:#invoke:Template link general|main|mono=true|1={{safesubst:#if:|{{{SISTER}}}:Template:Yesno|Yesno}}|alttext{{safesubst:#ifeq:|{{{alttext}}}|¬}}={{safesubst:#if:|Yesno}}}}" (also applies to any other value not given above)
- but {{safesubst:#invoke:Template link general|main|mono=true|1={{safesubst:#if:|{{{SISTER}}}:Template:Yesno|Yesno}}|alttext{{safesubst:#ifeq:|{{{alttext}}}|¬}}={{safesubst:#if:|Yesno}}}} → "Template:Yesno"
- and {{safesubst:#invoke:Template link general|main|mono=true|1={{safesubst:#if:|{{{SISTER}}}:Template:Yesno|Yesno}}|alttext{{safesubst:#ifeq:|{{{alttext}}}|¬}}={{safesubst:#if:|Yesno}}}} → "Template:Yesno"
This may be used (apparently perversely) thus:
- {{safesubst:#invoke:Template link general|main|mono=true|1={{safesubst:#if:|{{{SISTER}}}:Template:Yesno|Yesno}}|alttext{{safesubst:#ifeq:|{{{alttext}}}|¬}}={{safesubst:#if:|Yesno}}}} → "Template:Yesno"
- {{safesubst:#invoke:Template link general|main|mono=true|1={{safesubst:#if:|{{{SISTER}}}:Template:Yesno|Yesno}}|alttext{{safesubst:#ifeq:|{{{alttext}}}|¬}}={{safesubst:#if:|Yesno}}}} → "Template:Yesno"
This creates a logical inversion.
TemplateData
[edit source]{{#switch:<translate></translate> |=
|#default =
| =
{{#ifeq: |
| Template:{{{docpage}}}
|
}}
}}|0|1}}|not{{#ifexpr: ( {{#ifeq:doc|doc|1|0}} or ( {{#ifeq:{{#titleparts:template:yesno/doc|-1|-2}}|doc|1|0}} and {{#if:{{#translation:}}|1|0}} ) )|1|0}}}}|Page Template:Module:Navbar/styles.css has no content.
|#default = Yesno/doc
| =
{{#ifeq: |
| Template:Yesno/doc
| Yesno/doc
}}
}}|<span style="" title="<translate nowrap> View this template</translate>">{{#if:|<translate> v</translate>|<translate> view</translate>}}]] · [[[:Template:Fullurl:]] <span style="" title="<translate nowrap> Discuss this template</translate>">{{#if:|<translate> d</translate>|<translate> talk</translate>}}]{{#if:|| · [{{fullurl:{{#switch:
|#default = Yesno/doc
| =
{{#ifeq: |
| Template:Yesno/doc
| Yesno/doc
}}
}}|action=edit}} <span style="" title="<translate nowrap> Edit this template</translate>">{{#if:|<translate> e</translate>|<translate> edit</translate>}}]}}{{#if:1|]}}}}}} {{#if:||<translate> This is the [[<tvar name=1>Special:MyLanguage/Help:TemplateData</tvar>|TemplateData]] documentation for this template used by [[<tvar name=2>Special:MyLanguage/VisualEditor</tvar>|VisualEditor]] and other tools.</translate>}}
Yesno
{{#ifeq:doc|sandbox||{{#if:{{#ifexpr: (
{{#ifeq:doc|doc|1|0}} or ( {{#ifeq:{{#titleparts:template:yesno/doc|-1|-2}}|doc|1|0}} and {{#if:{{#translation:}}|1|0}} ) )|1|}}|[[Category:TemplateData documentation{{#translation:}}]]|[[Category:Templates using TemplateData{{#translation:}}]]}}}} | #default=
{{#invoke:Template translation|renderTranslatedTemplate|template=Template:TemplateData header|noshift=1|uselang={{#if:{{#ifeq:{{#invoke:Template translation|getLanguageSubpage|}}|en
|{{#ifeq:{{#titleparts:Yesno/doc||-1}}|en
|{{#invoke:Template translation|getLanguageSubpage|}}
}}
|{{#invoke:Template translation|getLanguageSubpage|}} }}|{{#ifeq:{{#invoke:Template translation|getLanguageSubpage|}}|en |{{#ifeq:{{#titleparts:Yesno/doc||-1}}|en
|{{#invoke:Template translation|getLanguageSubpage|}}
}}
|{{#invoke:Template translation|getLanguageSubpage|}} }}|⧼lang⧽}}}} }}
This template normalises an input to be a yes or nil output.
| Parameter | Description | Type | Status | |
|---|---|---|---|---|
| Input value | 1 | The value to be evaluated. | String | required |
| Output on yes | yes | Specifies the output of the template when the input value is a case-insensitive forms of 'Yes', 'Y', 'True' or '1'. | String | optional |
| Output on no | no | Specifies the output of the template when the input value is a case-insensitive forms of 'No', 'N', 'False', or '0'. | String | optional |
| Output on blank input | blank | Specifies the output of the template when the input value is defined but is either empty or contains nothing but whitespace character(s). | String | optional |
| Output on ¬ | ¬ | Specifies the output of the template when the input value is either '¬' or entirely missing (undefined). | String | optional |
| Definite output | def | Specifies the output of the template when the input value is defined but not a form of 'yes', 'no', '1', '0', '¬' or blank. | String | optional |
See also
[edit source]