Difference between revisions of "Template:Metadata inherit"

From wiki.vg
Jump to navigation Jump to search
(Create template. This is less readable than I'd hoped, but hopefully it'll work...)
 
(Does this do anything?)
 
(6 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
{{#if:{{#var:meta_prerelease}}|<!-- Prerelease mode -->
 
{{#if:{{#var:meta_prerelease}}|<!-- Prerelease mode -->
 
     {{#if:{{{inherits|}}}
 
     {{#if:{{{inherits|}}}
        | The base class.
 
        {{#vardefine:meta_{{{1}}}|{{{start_at|0}}}}}
 
        {{#vardefine:meta_pre_{{{1}}}|{{{pre_start_at|{{{start_at|0}}}}}}}}
 
 
         | {{#if:{{{pre_inherits|}}}
 
         | {{#if:{{{pre_inherits|}}}
             | Extends {{change
+
             | Extends {{change|[[{{#varexists:meta_{{{inherits}}}|Entity metadata}}#{{{inherits}}}|{{{inherits}}}]]|[[{{#varexists:meta_{{{pre_inherits}}}|Entity metadata}}#{{{pre_inherits}}}|{{{pre_inherits}}}]]}}.
                | [[{{#varexists:meta_{{{inherits}}}|Entity metadata#|#}}]]{{{inherits}}}|{{{inherits}}}]]
+
             | Extends [[{{#varexists:meta_{{{inherits}}}|Entity metadata}}#{{{inherits}}}|{{{inherits}}}]].
                | [[{{#varexists:meta_{{{pre_inherits}}}|Entity metadata#|#}}]]{{{pre_inherits}}}|{{{pre_inherits}}}]]
+
         }}{{#if:{{{start_at|}}}
            }}.
 
             | Extends [[{{#varexists:meta_{{{inherits}}}|Entity metadata#|#}}]]{{{inherits}}}|{{{inherits}}}]].
 
         }}
 
        {{#if:{{{start_at|}}}
 
 
             | {{#vardefine:meta_{{{1}}}|{{{start_at}}}}}
 
             | {{#vardefine:meta_{{{1}}}|{{{start_at}}}}}
 
             <!-- Warn about using both, but still use start_at -->
 
             <!-- Warn about using both, but still use start_at -->
Line 22: Line 15:
 
             <!-- Warn about nonexistent parent -->
 
             <!-- Warn about nonexistent parent -->
 
             {{#if:{{#varexists:meta_{{{inherits}}}}}||<strong class="error">Inherited entity {{{inherits}}} does not exist</strong>}}
 
             {{#if:{{#varexists:meta_{{{inherits}}}}}||<strong class="error">Inherited entity {{{inherits}}} does not exist</strong>}}
         }}
+
         }}{{#if:{{{pre_start_at|{{{start_at|}}}}}}
        {{#if:{{{pre_start_at|{{{start_at|}}}}}}
 
 
             | {{#vardefine:meta_pre_{{{1}}}|{{{pre_start_at|{{{start_at|}}}}}}}}
 
             | {{#vardefine:meta_pre_{{{1}}}|{{{pre_start_at|{{{start_at|}}}}}}}}
 
             <!-- Warn about using both, but still use start_at -->
 
             <!-- Warn about using both, but still use start_at -->
Line 31: Line 23:
 
             {{#if:{{#varexists:meta_{{{pre_inherits|{{{inherits}}}}}}}}||<strong class="error">Inherited entity {{{pre_inherits|{{{inherits}}}}}} does not exist</strong>}}
 
             {{#if:{{#varexists:meta_{{{pre_inherits|{{{inherits}}}}}}}}||<strong class="error">Inherited entity {{{pre_inherits|{{{inherits}}}}}} does not exist</strong>}}
 
         }}
 
         }}
 +
        | The base class.
 +
        {{#vardefine:meta_{{{1}}}|{{{start_at|0}}}}}
 +
        {{#vardefine:meta_pre_{{{1}}}|{{{pre_start_at|{{{start_at|0}}}}}}}}
 
     }}
 
     }}
 
| <!-- Full release mode -->
 
| <!-- Full release mode -->
 
     {{#if:{{{inherits|}}}
 
     {{#if:{{{inherits|}}}
        | The base class.
 
        {{#vardefine:meta_{{{1}}}|{{{start_at|0}}}}}
 
 
         | Extends [[#{{{inherits}}}|{{{inherits}}}]].
 
         | Extends [[#{{{inherits}}}|{{{inherits}}}]].
 
         {{#if:{{{start_at|}}}
 
         {{#if:{{{start_at|}}}
Line 45: Line 38:
 
             {{#if:{{#varexists:meta_{{{inherits}}}}}||<strong class="error">Inherited entity {{{inherits}}} does not exist</strong>}}
 
             {{#if:{{#varexists:meta_{{{inherits}}}}}||<strong class="error">Inherited entity {{{inherits}}} does not exist</strong>}}
 
         }}
 
         }}
 +
        | The base class.
 +
        {{#vardefine:meta_{{{1}}}|{{{start_at|0}}}}}
 
     }}
 
     }}
 
}}</includeonly><noinclude>
 
}}</includeonly><noinclude>

Latest revision as of 03:35, 3 May 2019

Provides data for Template:Metadata id.

The first parameter is the name of the entity. The inherits parameter is the name of the entity it inherits from (which, for the root entity, is blank). The start_at variable indicates the starting ID (defaults to 0); it should not be used if the inherited entity is on the page (this is only useful for the root entity and on the pre-release page).

Behavior changes if meta_prerelease is defined; this template then supports optional pre_inherits and pre_start_at parameters, which should only be specified if the values changed. The template will also check if the entity has already been included on the page and decide whether to use a relative link or directly link to Entity metadata.