Difference between revisions of "Template:Event infobox"

From Tokyo Afterschool Summoners
Jump to navigation Jump to search
 
(64 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<includeonly>{{#if: {{NAMESPACE}} | <!-- don't create subobj within namespace --> |
<includeonly>{{#if: {{NAMESPACE}} | <!-- don't create subobj within namespace --> |
{{#vardefine:is active|}}{{#vardefine:duration array|{{{duration|}}}}}{{#vardefine:duration loop|1}}{{#vardefine:duration loop|1}}{{#while:|{{#var:duration loop}}|
{{ #if: {{{id|}}} | {{#masterdata:Event|{{{id|}}} }} }}{{#vardefine:is active|{{#ifeq:{{{active|}}}|true|true|{{#ifeq:{{{active|}}}|false|false|}}}}
{{#vardefine:duration array piece|{{#sub:{{#var:duration array}}|0|{{#pos:{{#var:duration array}}|;}}}}}}{{#vardefine:duration array piece start|{{#explode:{{#explode:{{#var:duration array piece}}|!|1}}|->|0}}}}{{#vardefine:duration array piece end|{{#explode:{{#explode:{{#var:duration array piece}}|!|1}}|->|1}}}}
}}{{#vardefine:duration array|{{{duration|{{#var:event duration|}}}}}{{#vardefine:duration|}}
{{#ifexpr:{{#time: U|now}}>{{#time: U|{{#replace:{{#var:duration array piece start}}|@|}}}} and {{#time: U|now}}<{{#time: U|{{#replace:{{#var:duration array piece end}}|@|}}}}|{{#vardefine:is active|true}}|}}
}}{{#if:{{{duration|{{#var:event duration|}}}}}|
{{#if:{{#pos:{{#var:duration array}}|;}}||{{#vardefine:duration loop|}}}}{{#vardefine:duration array|{{#sub:{{#var:duration array}}|{{#expr:{{#pos:{{#var:duration array}}|;}}+1}}}}}}
  {{#vardefine:duration loop|1
}}{{#subobject:event{{#vardefineecho:eventnumber|{{#expr:{{#var:eventnumber|-1}}+1}}}}
}}{{#while:|{{#var:duration loop}}|
{{#vardefine:duration array piece|
  {{#sub:{{#var:duration array}}|0|{{#pos:{{#var:duration array}}|;}}}}
}}{{#if:{{#var:duration array|}}|
  {{#if:{{#pos:{{#var:duration array}}|!}}|
    {{#vardefine:duration array piece name|
      {{#explode:{{#var:duration array piece}}|!|0}}
    }}{{#vardefine:duration array piece start|
      {{#explode:
        {{#explode:{{#var:duration array piece}}|!|1
      }}|->|0}}
    }}{{#vardefine:duration array piece end|
      {{#explode:
        {{#explode:{{#var:duration array piece}}|!|1
      }}|->|1}}
    }}
    |{{#vardefine:duration array piece name|Duration
    }}{{#vardefine:duration array piece start|
      {{#explode:{{#var:duration array piece}}|->|0}}
    }}{{#vardefine:duration array piece end|
      {{#explode:{{#var:duration array piece}}|->|1}}
    }}{{#if:{{#var:duration array piece start|}}||{{#vardefine:duration array piece start|{{#time:c|December 2nd, 2016}}}}
    }}{{#if:{{#var:duration array piece end|}}||{{#vardefine:duration array piece end|{{#time:c|December 31st, 3000}}}}
    }}
  }}{{#vardefine:duration array piece start|{{#replace:{{#var:duration array piece start}}|@|}}
    }}{{#vardefine:duration array piece end|{{#replace:{{#var:duration array piece end}}|@|}}
  }}{{#if:{{#var:duration}}|
    {{#vardefine:duration|{{#var:duration}};{{#var:duration array piece name}}!{{#replace:{{#time:c|{{#var:duration array piece start}}}}|+00:00|+09:00}}->{{#replace:{{#time:c|{{#var:duration array piece end}}}}|+00:00|+09:00}}}}
    |{{#vardefine:duration|{{#var:duration array piece name}}!{{#replace:{{#time:c|{{#var:duration array piece start}}}}|+00:00|+09:00}}->{{#replace:{{#time:c|{{#var:duration array piece end}}}}|+00:00|+09:00}}}}
  }}{{#ifexpr:{{#time: U|now}} >= {{#time:U|{{#var:duration array piece start}}}} and {{#time: U|now}} <= {{#time: U|{{#var:duration array piece end}}}}|
    <!--{{#vardefine:is active|true}}-->
  }}{{#vardefine:duration array piece start|{{#time:U|{{#var:duration array piece start}}}}
  }}{{#vardefine:duration array piece end|{{#time:U|{{#var:duration array piece end}}}}
  }}{{#ifexpr:{{#var:duration array piece start}} <= {{#var:duration earliest start|{{#time:U|December 31, 3000}}}}|{{#vardefine:duration earliest start|{{#var:duration array piece start}}}}
  }}{{#ifexpr:{{#var:duration array piece end}} >= {{#var:duration latest end|{{#time:U|December 2nd, 2016}}}}|{{#vardefine:duration latest end|{{#var:duration array piece end}}}}
  }}
}}{{#if:{{#pos:{{#var:duration array}}|;}}||
  {{#vardefine:duration loop|}}
}}{{#vardefine:duration array|
  {{#sub:{{#var:duration array}}|{{#expr:{{#pos:{{#var:duration array}}|;}}+1}}}}
}}
}}}}{{#ifeq:{{#var:is active|false}}|true||{{#vardefine:is active|false}}}}{{#subobject:event{{#vardefineecho:eventnumber|{{#expr:{{#var:eventnumber|-1}}+1}}}}
| Has game context = Event
| Has game context = Event
| Has Japanese name ={{{jp name|}}}
| Has Japanese name ={{{jp name|}}}
| Has English name ={{{en name|}}}
| Has English name ={{{en name|}}}
| Has news link = {{{news link|}}}
| Has lowercase English name ={{lc:{{{en name|}}}}}
| Has English subtitle = {{{en subtitle|}}}
| Has Japanese subtitle = {{{jp subtitle|}}}
| Has news link = {{#ifeq:{{#var:is active|}}|true||https://web.archive.org/web/*/|}}{{{news link|}}}
| Has banner image = {{{banner image|}}}
| Has banner image = {{{banner image|}}}
| Has duration date = {{{duration|}}}
| Has duration date = {{#var:duration|{{{duration|{{#var:event duration|}}}}}}}
| Has event type = {{{type|Time-Limited}}}
| Has event type = {{{type|Time-Limited}}}
| Is Active = {{#var:is active}}
| Earliest duration = {{#var:duration earliest start}}
}}
| Latest duration = {{#var:duration latest end}}
| Is active = {{#var:is active}}
| Has ID = {{{id|}}}
| Has filename = {{#var:event filename|}}
}}{{#ifeq:{{#var:is active|false}}|true|[[Category:Active events]]|[[Category:Inactive events]]}}
}}<!-- end subobject
}}<!-- end subobject
-->{{Event preview infobox
-->{{Event preview infobox
Line 19: Line 67:
| jp name = {{{jp name|}}}
| jp name = {{{jp name|}}}
| floats = true
| floats = true
}}{{#if:{{#var:is active}}|[[Category:Active events]]|[[Category:Inactive events]]}}</includeonly><noinclude>
| banners = 0
== Description ==
| show news link = yes
 
}}</includeonly><noinclude>{{Documentation}}</noinclude>
This templates creates an infobox for an event, as well as an event subobject using the following properties:
 
* Has Japanese name
* Has English name
* Has news link
* Has banner image
* Has duration date
* Has event type
* Is Active
 
== Usage ==
<pre>{{Event infobox
| jp name =
| en name =  
| news link =
| banner image =
| duration =
| type =
}}</pre>
 
=== Parameters ===
 
; jp name : Japanese name.
; en name : Translated name, official if jp-en name exists, unofficial if not.
; jp-en name : Unofficial translated name.
; news link : Link to the news post from housamo.info
; banner image : Image(s) for the banners present during the event; separate multiple images using a semicolon.
; duration : The start and end date(s); separate multiples using a semicolon. Name using a !. Separate start and end with -> Please use an ISO-8601 friendly timestamp.
; type : The type of event: Time-Limited if non-event (no event shop, etc.), Full if true event; defaults to Time-Limited
 
== Examples ==
 
<pre>{{Event infobox
| jp name = オリエント・ニューイヤー!
| en name = Oriental New Year!
| news link = https://web.archive.org/web/20180104052030/http://lifewonders2.sakura.ne.jp/wp/newyear2018/
| banner image = 1801お正月-小バナー1-2.png
| duration = Quest!January 4th, 2018 @ 00:00 -> January 20th, 2018 @ 00:00;Gacha!January 4th, 2018 @ 00:00 -> January 27th, 2018 @ 00:00
| type = Limited-Time
}}
</pre>
{{Event infobox
| jp name = オリエント・ニューイヤー!
| en name = Oriental New Year!
| news link = https://web.archive.org/web/20180104052030/http://lifewonders2.sakura.ne.jp/wp/newyear2018/
| banner image = 1801お正月-小バナー1-2.png
| duration = Quest!January 4th, 2018 @ 00:00 -> January 20th, 2018 @ 00:00;Gacha!January 4th, 2018 @ 00:00 -> January 27th, 2018 @ 00:00
| type = Limited-Time
}}
 
[[Category:Infobox templates]][[Category:Subobject templates]]
</noinclude>

Latest revision as of 17:45, 25 April 2021

Template documentation[view] [edit] [history] [purge]

Description

This templates creates an infobox for an event, as well as an event subobject using the following properties:

  • Has Japanese name
  • Has English name
  • Has English subtitle
  • Has Japanese subtitle
  • Has news link
  • Has banner image
  • Has duration date
  • Has event type
  • Earliest duration
  • Latest duration
  • Is active

Usage

{{Event infobox
| jp name = 
| en name = 
| news link =
| banner image = 
| duration = 
| type =
}}

Parameters

jp name
Japanese name.
en name
Translated name, official if jp-en name exists, unofficial if not.
jp-en name
Unofficial translated name.
news link
Link to the news post from housamo.info
banner image
Image(s) for the banners present during the event; separate multiple images using a semicolon.
duration
The start and end date(s); separate multiples using a semicolon. Name using a !. Separate start and end with -> Please use an ISO-8601 friendly timestamp.
type
The type of event: Time-Limited if non-event (no event shop, etc.), Full if true event; defaults to Time-Limited

Examples

{{Event infobox
| jp name = オリエント・ニューイヤー!
| en name = Oriental New Year!
| news link = http://lifewonders2.sakura.ne.jp/wp/newyear2018/
| banner image = 1801お正月-小バナー1-2.png
| duration = Quest!January 4th, 2018 @ 00:00 -> January 20th, 2018 @ 00:00;Gacha!January 4th, 2018 @ 00:00 -> January 27th, 2018 @ 00:00
| type = Limited-Time
}}
Oriental New Year!
News Link
Durations
Quest January 04, 2018 14:00 to January 20, 2018 23:59
Gacha January 04, 2018 14:00 to January 27, 2018 23:59