Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Revision as of 14:16, 16 December 2022 by Template>Rebulka
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Template:Documentation subpage

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).

  • {{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

{{#switch:<translate></translate> |=

{{#if:Template:Yesno|{{#ifexpr:{{#if:|{{#ifeq:Template:Yesno/doc|{{#switch:
|#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.{{#if:1||{{#if:|{{{text}}}|<translate> This box:</translate>}} }}{{#if:1|[}}[[{{#switch:

|#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.

Template parameters

This template prefers inline formatting of parameters.

ParameterDescriptionTypeStatus
Input value1

The value to be evaluated.

Stringrequired
Output on yesyes

Specifies the output of the template when the input value is a case-insensitive forms of 'Yes', 'Y', 'True' or '1'.

Stringoptional
Output on nono

Specifies the output of the template when the input value is a case-insensitive forms of 'No', 'N', 'False', or '0'.

Stringoptional
Output on blank inputblank

Specifies the output of the template when the input value is defined but is either empty or contains nothing but whitespace character(s).

Stringoptional
Output on ¬¬

Specifies the output of the template when the input value is either '¬' or entirely missing (undefined).

Stringoptional
Definite outputdef

Specifies the output of the template when the input value is defined but not a form of 'yes', 'no', '1', '0', '¬' or blank.

Stringoptional

See also