Zelda Wiki

Want to contribute to this wiki?
Sign up for an account, and get started!

Come join the Zelda Wiki community Discord server!

READ MORE

Zelda Wiki
No edit summary
m (Text replacement - "{{Color|ZW Border}}" to "#426787")
(10 intermediate revisions by 8 users not shown)
Line 1: Line 1:
  +
<noinclude>
<noinclude>This template is blank. It is used to represent a value being empty on other templates.
 
  +
==Usage==
 
This template is blank. It is used to represent a value being empty on other templates.
   
 
To use this template, type: '''<nowiki>{{Void}}</nowiki>'''
 
To use this template, type: '''<nowiki>{{Void}}</nowiki>'''
   
  +
==Importance==
'''NOTE''': This template is critical for the functioning of several important templates. Do not change anything in this template outside the noinclude tags.
 
  +
This template is critical for the proper functioning various parser functions. Specifically switch cases. Normally the #switch function cannot properly distinguish a null value from the default value. This template works around that.
  +
::When using this: <b><nowiki>{{#switch:{{{1|}}}|{{Void}}={{Void}}|Yes}}</nowiki></b>, it will always work.<br>
  +
::When using this: <b><nowiki>{{#switch:{{{1|}}}| |Yes}}</nowiki></b>, it won't work because the function will think that both the blank space and the "yes" are what the default value is. And the "yes" overrides the blank space.<br>
  +
Here are some examples of this issue:
  +
:Using the void template:
  +
::<div class="messagebox" style="margin: 12px 0px; background-color: #1d578b; style="width: 5em; border: solid 1px #426787; padding: 5px;">{{#switch:{{{1|}}}|{{Void}}={{Void}}|Yes}}</div>
  +
:Using a blank space:
  +
::<div class="messagebox" style="margin: 12px 0px; background-color: #1d578b; style="width: 5em; border: solid 1px #426787; padding: 5px;">{{#switch:{{{1|}}}| |Yes}}</div><br>
  +
In some cases however, there are other ways to work around this problem. Even in the above example. However these workarounds are less intuitive and make the coding more difficult to read and understand. Above you could replace the blank space with a single equals sign and it will work correctly. However, as stated before, this can be problematic with complex code. In cumbersome templates with lengthy switch cases this singular blank case with the equals sign can be potentially confusing and subjected to accidental removal in edits. It works as shown:
  +
*<b><nowiki>{{#switch:{{{1|}}}|=Blank|Not Blank}}</nowiki></b>
  +
**<div class="messagebox" style="margin: 12px 0px; background-color: #1d578b; style="width: 5em; border: solid 1px #426787; padding: 5px;">{{#switch:{{{1|}}}|=Blank|Not Blank}}</div>
   
  +
The code <b><nowiki>{{ns:0}}</nowiki></b> also behaves like void. But is also counter-intuitive and can make template coding potentially confusing.<br>
[[Category:Formatting Templates|{{PAGENAME}}]]</noinclude>
 
  +
So all in all this template exists for readability and convienience of the codes in the edit view. It's largely harmless to keep.
  +
[[Category:Workaround Templates]]
 
[[Category:High usage templates]]</noinclude>

Revision as of 02:04, 25 January 2020

Usage

This template is blank. It is used to represent a value being empty on other templates.

To use this template, type: {{Void}}

Importance

This template is critical for the proper functioning various parser functions. Specifically switch cases. Normally the #switch function cannot properly distinguish a null value from the default value. This template works around that.

When using this: {{#switch:{{{1|}}}|{{Void}}={{Void}}|Yes}}, it will always work.
When using this: {{#switch:{{{1|}}}| |Yes}}, it won't work because the function will think that both the blank space and the "yes" are what the default value is. And the "yes" overrides the blank space.

Here are some examples of this issue:

Using the void template:
Using a blank space:
Yes

In some cases however, there are other ways to work around this problem. Even in the above example. However these workarounds are less intuitive and make the coding more difficult to read and understand. Above you could replace the blank space with a single equals sign and it will work correctly. However, as stated before, this can be problematic with complex code. In cumbersome templates with lengthy switch cases this singular blank case with the equals sign can be potentially confusing and subjected to accidental removal in edits. It works as shown:

  • {{#switch:{{{1|}}}|=Blank|Not Blank}}
    • Blank

The code {{ns:0}} also behaves like void. But is also counter-intuitive and can make template coding potentially confusing.
So all in all this template exists for readability and convienience of the codes in the edit view. It's largely harmless to keep.