Difference between revisions of "Template:Metadata id"

From wiki.vg
Jump to navigation Jump to search
(Try to eliminate <p> tag - hopefully I don't need to get rid of all the whitespace)
(Add warning for non-empty first parameter)
 
Line 19: Line 19:
 
     {{#vardefineecho:cur_meta|{{#var:meta_{{#var:meta_current_entity}}}}}}
 
     {{#vardefineecho:cur_meta|{{#var:meta_{{#var:meta_current_entity}}}}}}
 
     {{#vardefine:meta_{{#var:meta_current_entity}}|{{#expr:{{#var:cur_meta}}+1}}}}
 
     {{#vardefine:meta_{{#var:meta_current_entity}}|{{#expr:{{#var:cur_meta}}+1}}}}
 +
    {{#ifeq: {{{1}}}|||<strong class="error">[[Template:Metadata id]] must be used as <code><nowiki>{{Metadata id|}}</nowiki></code> (with an empty first parameter) for technical reasons</strong>}}
 
}}</includeonly><noinclude>
 
}}</includeonly><noinclude>
 
Used to generate incremental entity metadata IDs.
 
Used to generate incremental entity metadata IDs.
  
<code>cur_meta</code> and <code>pre_meta</code> are local variables, to avoid redundancy.  <code>meta_current_entity</code> is defined elsewhere, and <code>meta_<var>entity</var></code> and <code>meta_pre_<var>entity</var></code> are accessed via it.  Those two values are incremented after this template.
+
The simplest usage is <code><nowiki>{{Metadata id|}}</nowiki></code>; an empty first parameter is required to avoid caching issues (see [https://phabricator.wikimedia.org/T191574#4607891 T191574]).
 +
 
 +
<code>cur_meta</code> and <code>pre_meta</code> are local variables, to avoid redundancy.  <code>meta_current_entity</code> is defined elsewhere (by <code><nowiki>{{</nowiki>[[Template:Metadata inherit|Metadata inherit]]<nowiki>}}</nowiki></code>), and <code>meta_<var>entity</var></code> and <code>meta_pre_<var>entity</var></code> are accessed via it.  Those two values are incremented after this template.
  
 
Behavior changes if a <code>meta_prerelease</code> variable is defined: the template supports an optional parameter which may be set to blank, <code>added</code>, or <code>removed</code>, which can be used to mark metadata entries that were added or removed in the prerelease.
 
Behavior changes if a <code>meta_prerelease</code> variable is defined: the template supports an optional parameter which may be set to blank, <code>added</code>, or <code>removed</code>, which can be used to mark metadata entries that were added or removed in the prerelease.
 
</noinclude>
 
</noinclude>

Latest revision as of 06:35, 9 January 2020

Used to generate incremental entity metadata IDs.

The simplest usage is {{Metadata id|}}; an empty first parameter is required to avoid caching issues (see T191574).

cur_meta and pre_meta are local variables, to avoid redundancy. meta_current_entity is defined elsewhere (by {{Metadata inherit}}), and meta_entity and meta_pre_entity are accessed via it. Those two values are incremented after this template.

Behavior changes if a meta_prerelease variable is defined: the template supports an optional parameter which may be set to blank, added, or removed, which can be used to mark metadata entries that were added or removed in the prerelease.