Difference between revisions of "Template:Calendar row"
(Created page with "<noinclude> == Usage == Three templates work together to create a weekly event schedule, starting on a Sunday: * Template:Calendar header generates the header of the table...") |
|||
(9 intermediate revisions by the same user not shown) | |||
Line 31: | Line 31: | ||
|} | |} | ||
− | {{ | + | {{Calendar header|February|24|2019}} |
{{Calendar row||pre=pvp,5| Rising Tensions |2,1|3,1|4,1|5,1|6,1}} | {{Calendar row||pre=pvp,5| Rising Tensions |2,1|3,1|4,1|5,1|6,1}} | ||
{{Calendar row|| Training Grounds |1,1|2,1|3,1|4,1|5,1|6,1|7,1}} | {{Calendar row|| Training Grounds |1,1|2,1|3,1|4,1|5,1|6,1|7,1}} | ||
Line 44: | Line 44: | ||
|} | |} | ||
− | {{ | + | {{Calendar header|February|24|2019|1}} |
{{Calendar row|1|pre=pvp,5| Rising Tensions |2,1|3,1|4,1|5,1|6,1}} | {{Calendar row|1|pre=pvp,5| Rising Tensions |2,1|3,1|4,1|5,1|6,1}} | ||
{{Calendar row|1| Training Grounds |1,1|2,1|3,1|4,1|5,1|6,1|7,1}} | {{Calendar row|1| Training Grounds |1,1|2,1|3,1|4,1|5,1|6,1|7,1}} | ||
Line 59: | Line 59: | ||
|} | |} | ||
− | {{ | + | {{Calendar header|February|24|2019}} |
{{Calendar row||pre=pvp,5| Rising Tensions |2,1|3,1|4,1|5,1|6,1}} | {{Calendar row||pre=pvp,5| Rising Tensions |2,1|3,1|4,1|5,1|6,1}} | ||
{{Calendar row|| Training Grounds |1,1|2,1|3,1|4,1|5,1|6,1|7,1}} | {{Calendar row|| Training Grounds |1,1|2,1|3,1|4,1|5,1|6,1|7,1}} | ||
Line 72: | Line 72: | ||
|} | |} | ||
− | {{ | + | {{Calendar header|February|24|2019|1}} |
{{Calendar row|1|pre=pvp,5| Rising Tensions |2,1|3,1|4,1|5,1|6,1}} | {{Calendar row|1|pre=pvp,5| Rising Tensions |2,1|3,1|4,1|5,1|6,1}} | ||
{{Calendar row|1| Training Grounds |1,1|2,1|3,1|4,1|5,1|6,1|7,1}} | {{Calendar row|1| Training Grounds |1,1|2,1|3,1|4,1|5,1|6,1|7,1}} | ||
Line 93: | Line 93: | ||
# Produce event abbreviation (and Legacy banner for Legacy events). | # Produce event abbreviation (and Legacy banner for Legacy events). | ||
-->}}}} | -->}}}} | ||
− | | style="padding:0px | + | | style="padding:0px; text-align:right; border:1px solid black; {{#if:{{{1|}}}|border-right:2px solid black;}} background-color:#<!-- |
-->{{#if:{{#pos:{{Event data: {{{2}}}|11}}|duel_decks}}|f8cbad|{{#if:{{#pos:{{Event data: {{{2}}}|3}}|pvp}}|a9d08e|9bc2e6}}}};"<!-- | -->{{#if:{{#pos:{{Event data: {{{2}}}|11}}|duel_decks}}|f8cbad|{{#if:{{#pos:{{Event data: {{{2}}}|3}}|pvp}}|a9d08e|9bc2e6}}}};"<!-- | ||
-->|{{nowrap| <small>'''[[{{Event data: {{{2}}}|1}}|{{#if:{{{details|}}}|<!-- | -->|{{nowrap| <small>'''[[{{Event data: {{{2}}}|1}}|{{#if:{{{details|}}}|<!-- | ||
--><span title="{{{2}}} ({{{details}}})">{{Event data: {{{2}}}|2}}</span>|<!-- | --><span title="{{{2}}} ({{{details}}})">{{Event data: {{{2}}}|2}}</span>|<!-- | ||
-->{{Event data: {{{2}}}|2}}}}]]'''</small> <!-- | -->{{Event data: {{{2}}}|2}}}}]]'''</small> <!-- | ||
− | -->{{#if: {{#pos:{{Event data: {{{2}}}|3}}|legacy}}| [[File:legacy-bg.png|x18px|Legacy]]}} }}<!-- | + | -->{{#if:{{{1|}}}| |{{#if: {{#pos:{{Event data: {{{2}}}|3}}|legacy}}| [[File:legacy-bg.png|x18px|Legacy]]}} }}}}<!-- |
# Produce rewards icons. | # Produce rewards icons. | ||
Line 111: | Line 111: | ||
-->{{#if:{{{3|}}}{{{4|}}}{{{5|}}}{{{6|}}}{{{7|}}}{{{8|}}}{{{9|}}}|| | -->{{#if:{{{3|}}}{{{4|}}}{{{5|}}}{{{6|}}}{{{7|}}}{{{8|}}}{{{9|}}}|| | ||
{{!}} {{#invoke:String|rep|1=<br> | {{!}} {{#invoke:String|rep|1=<br> | ||
− | {{!}} style="padding:0px; border: 0px;" {{!}}|2=7}} }}<!-- | + | {{!}} style="padding:0px;border:0px;" {{!}}|2=7}} }}<!-- |
# First non-empty cell(s). Can have blank cells before and/or after. | # First non-empty cell(s). Can have blank cells before and/or after. | ||
-->{{#if:{{{3|}}}|{{#ifexpr:{{#explode:{{{3}}}|,|0}} > 1|{{#invoke:String|rep|1=<br> | -->{{#if:{{{3|}}}|{{#ifexpr:{{#explode:{{{3}}}|,|0}} > 1|{{#invoke:String|rep|1=<br> | ||
− | {{!}} style="padding:0px; border: 0px;" {{!}}|2={{#expr:{{#explode:{{{3}}}|,|0}} - 1}} }} }}<br> | + | {{!}} style="padding:0px;border:0px;" {{!}}|2={{#expr:{{#explode:{{{3}}}|,|0}} - 1}} }} }}<br> |
{{!}} {{Schedule week cell|{{{2}}}|{{#explode:{{{3}}}|,|1}}|{{{details|}}}|{{#if:{{{cols|}}}|{{#explode:{{{cols}}}|,|0}}}}|{{{start|}}}}}<!-- | {{!}} {{Schedule week cell|{{{2}}}|{{#explode:{{{3}}}|,|1}}|{{{details|}}}|{{#if:{{{cols|}}}|{{#explode:{{{cols}}}|,|0}}}}|{{{start|}}}}}<!-- | ||
-->{{#if:{{{4|}}}||{{#ifexpr:{{#replace:{{{3|1}}}|,|+}} <= 7|{{#invoke:String|rep|1=<br> | -->{{#if:{{{4|}}}||{{#ifexpr:{{#replace:{{{3|1}}}|,|+}} <= 7|{{#invoke:String|rep|1=<br> | ||
− | {{!}} style="padding:0px; border: 0px;" {{!}}|2={{#expr: 8 - {{#replace:{{{3|1}}}|,|-}} }} }} }} }} }}<!-- | + | {{!}} style="padding:0px;border:0px;" {{!}}|2={{#expr: 8 - {{#replace:{{{3|1}}}|,|-}} }} }} }} }} }}<!-- |
# Second non-empty cell(s). Can have blank cells before and/or after. | # Second non-empty cell(s). Can have blank cells before and/or after. | ||
-->{{#if:{{{4|}}}|{{#ifexpr:{{#explode:{{{4}}}|,|0}}>{{#replace:{{{3}}}|,|+}}|{{#invoke:String|rep|1=<br> | -->{{#if:{{{4|}}}|{{#ifexpr:{{#explode:{{{4}}}|,|0}}>{{#replace:{{{3}}}|,|+}}|{{#invoke:String|rep|1=<br> | ||
− | {{!}} style="padding:0px; border: 0px" {{!}}|2={{#expr:{{#explode:{{{4}}}|,|0}}-({{#replace:{{{3}}}|,|+}}) }} }} }}<br> | + | {{!}} style="padding:0px;border:0px" {{!}}|2={{#expr:{{#explode:{{{4}}}|,|0}}-({{#replace:{{{3}}}|,|+}}) }} }} }}<br> |
{{!}} {{Schedule week cell|{{{2}}}|{{#explode:{{{4}}}|,|1}}|{{{details|}}}|{{#if:{{{cols|}}}|{{#explode:{{{cols}}}|,|1}}}}|{{{start|}}}}}<!-- | {{!}} {{Schedule week cell|{{{2}}}|{{#explode:{{{4}}}|,|1}}|{{{details|}}}|{{#if:{{{cols|}}}|{{#explode:{{{cols}}}|,|1}}}}|{{{start|}}}}}<!-- | ||
-->{{#if:{{{5|}}}||{{#ifexpr:{{#replace:{{{4|1}}}|,|+}} <= 7|{{#invoke:String|rep|1=<br> | -->{{#if:{{{5|}}}||{{#ifexpr:{{#replace:{{{4|1}}}|,|+}} <= 7|{{#invoke:String|rep|1=<br> | ||
− | {{!}} style="padding:0px; border: 0px" {{!}} |2={{#expr: 8 - {{#replace:{{{4|1}}}|,|-}} }} }} }} }} }}<!-- | + | {{!}} style="padding:0px;border:0px" {{!}} |2={{#expr: 8 - {{#replace:{{{4|1}}}|,|-}} }} }} }} }} }}<!-- |
# Third non-empty cell(s). Can have blank cells before and/or after. | # Third non-empty cell(s). Can have blank cells before and/or after. | ||
-->{{#if:{{{5|}}}|{{#ifexpr:{{#explode:{{{5}}}|,|0}}>{{#replace:{{{4}}}|,|+}}|{{#invoke:String|rep|1=<br> | -->{{#if:{{{5|}}}|{{#ifexpr:{{#explode:{{{5}}}|,|0}}>{{#replace:{{{4}}}|,|+}}|{{#invoke:String|rep|1=<br> | ||
− | {{!}} style="padding:0px; border: 0px" {{!}}|2={{#expr:{{#explode:{{{5}}}|,|0}}-({{#replace:{{{4}}}|,|+}}) }} }} }}<br> | + | {{!}} style="padding:0px;border:0px" {{!}}|2={{#expr:{{#explode:{{{5}}}|,|0}}-({{#replace:{{{4}}}|,|+}}) }} }} }}<br> |
{{!}} {{Schedule week cell|{{{2}}}|{{#explode:{{{5}}}|,|1}}|{{{details|}}}|{{#if:{{{cols|}}}|{{#explode:{{{cols}}}|,|2}}}}|{{{start|}}}}}<!-- | {{!}} {{Schedule week cell|{{{2}}}|{{#explode:{{{5}}}|,|1}}|{{{details|}}}|{{#if:{{{cols|}}}|{{#explode:{{{cols}}}|,|2}}}}|{{{start|}}}}}<!-- | ||
-->{{#if:{{{6|}}}||{{#ifexpr:{{#replace:{{{5|1}}}|,|+}} <= 7|{{#invoke:String|rep|1=<br> | -->{{#if:{{{6|}}}||{{#ifexpr:{{#replace:{{{5|1}}}|,|+}} <= 7|{{#invoke:String|rep|1=<br> | ||
− | {{!}} style="padding:0px; border: 0px" {{!}} |2={{#expr: 8 - {{#replace:{{{5|1}}}|,|-}} }} }} }} }} }}<!-- | + | {{!}} style="padding:0px;border:0px" {{!}} |2={{#expr: 8 - {{#replace:{{{5|1}}}|,|-}} }} }} }} }} }}<!-- |
# Fourth non-empty cell(s). Can have blank cells before and/or after. | # Fourth non-empty cell(s). Can have blank cells before and/or after. | ||
-->{{#if:{{{6|}}}|{{#ifexpr:{{#explode:{{{6}}}|,|0}}>{{#replace:{{{5}}}|,|+}}|{{#invoke:String|rep|1=<br> | -->{{#if:{{{6|}}}|{{#ifexpr:{{#explode:{{{6}}}|,|0}}>{{#replace:{{{5}}}|,|+}}|{{#invoke:String|rep|1=<br> | ||
− | {{!}} style="padding:0px; border: 0px" {{!}}|2={{#expr:{{#explode:{{{6}}}|,|0}}-({{#replace:{{{5}}}|,|+}}) }} }} }}<br> | + | {{!}} style="padding:0px;border:0px" {{!}}|2={{#expr:{{#explode:{{{6}}}|,|0}}-({{#replace:{{{5}}}|,|+}}) }} }} }}<br> |
{{!}} {{Schedule week cell|{{{2}}}|{{#explode:{{{6}}}|,|1}}|{{{details|}}}|{{#if:{{{cols|}}}|{{#explode:{{{cols}}}|,|3}}}}|{{{start|}}}}}<!-- | {{!}} {{Schedule week cell|{{{2}}}|{{#explode:{{{6}}}|,|1}}|{{{details|}}}|{{#if:{{{cols|}}}|{{#explode:{{{cols}}}|,|3}}}}|{{{start|}}}}}<!-- | ||
-->{{#if:{{{7|}}}||{{#ifexpr:{{#replace:{{{6|1}}}|,|+}} <= 7|{{#invoke:String|rep|1=<br> | -->{{#if:{{{7|}}}||{{#ifexpr:{{#replace:{{{6|1}}}|,|+}} <= 7|{{#invoke:String|rep|1=<br> | ||
− | {{!}} style="padding:0px; border: 0px" {{!}} |2={{#expr: 8 - {{#replace:{{{6|1}}}|,|-}} }} }} }} }} }}<!-- | + | {{!}} style="padding:0px;border:0px" {{!}} |2={{#expr: 8 - {{#replace:{{{6|1}}}|,|-}} }} }} }} }} }}<!-- |
# Fifth non-empty cell(s). Can have blank cells before and/or after. | # Fifth non-empty cell(s). Can have blank cells before and/or after. | ||
-->{{#if:{{{7|}}}|{{#ifexpr:{{#explode:{{{7}}}|,|0}}>{{#explode:{{{6}}}|,|0}}+1|{{#invoke:String|rep|1=<br> | -->{{#if:{{{7|}}}|{{#ifexpr:{{#explode:{{{7}}}|,|0}}>{{#explode:{{{6}}}|,|0}}+1|{{#invoke:String|rep|1=<br> | ||
− | {{!}} style="padding:0px; border: 0px" {{!}}|2={{#expr:{{#explode:{{{7}}}|,|0}}-{{#explode:{{{6}}}|,|0}}-1}} }} }}<br> | + | {{!}} style="padding:0px;border:0px" {{!}}|2={{#expr:{{#explode:{{{7}}}|,|0}}-{{#explode:{{{6}}}|,|0}}-1}} }} }}<br> |
{{!}} {{Schedule week cell|{{{2}}}|{{#explode:{{{7}}}|,|1}}|{{{details|}}}|{{#if:{{{cols|}}}|{{#explode:{{{cols}}}|,|4}}}}|{{{start|}}}}}<!-- | {{!}} {{Schedule week cell|{{{2}}}|{{#explode:{{{7}}}|,|1}}|{{{details|}}}|{{#if:{{{cols|}}}|{{#explode:{{{cols}}}|,|4}}}}|{{{start|}}}}}<!-- | ||
-->{{#if:{{{8|}}}||{{#ifexpr:{{#replace:{{{7|1}}}|,|+}} <= 7|{{#invoke:String|rep|1=<br> | -->{{#if:{{{8|}}}||{{#ifexpr:{{#replace:{{{7|1}}}|,|+}} <= 7|{{#invoke:String|rep|1=<br> | ||
− | {{!}} style="padding:0px; border: 0px" {{!}} |2={{#expr: 8 - {{#replace:{{{7|1}}}|,|-}} }} }} }} }} }}<!-- | + | {{!}} style="padding:0px;border:0px" {{!}} |2={{#expr: 8 - {{#replace:{{{7|1}}}|,|-}} }} }} }} }} }}<!-- |
# Sixth non-empty cell(s). Can have blank cells before and/or after. | # Sixth non-empty cell(s). Can have blank cells before and/or after. | ||
-->{{#if:{{{8|}}}|{{#ifexpr:{{#explode:{{{8}}}|,|0}}>{{#explode:{{{7}}}|,|0}}+1|{{#invoke:String|rep|1=<br> | -->{{#if:{{{8|}}}|{{#ifexpr:{{#explode:{{{8}}}|,|0}}>{{#explode:{{{7}}}|,|0}}+1|{{#invoke:String|rep|1=<br> | ||
− | {{!}} style="padding:0px; border: 0px" {{!}}|2={{#expr:{{#explode:{{{8}}}|,|0}}-{{#explode:{{{7}}}|,|0}}-1}} }} }}<br> | + | {{!}} style="padding:0px;border:0px" {{!}}|2={{#expr:{{#explode:{{{8}}}|,|0}}-{{#explode:{{{7}}}|,|0}}-1}} }} }}<br> |
{{!}} {{Schedule week cell|{{{2}}}|{{#explode:{{{8}}}|,|1}}|{{{details|}}}|{{#if:{{{cols|}}}|{{#explode:{{{cols}}}|,|5}}}}|{{{start|}}}}}<!-- | {{!}} {{Schedule week cell|{{{2}}}|{{#explode:{{{8}}}|,|1}}|{{{details|}}}|{{#if:{{{cols|}}}|{{#explode:{{{cols}}}|,|5}}}}|{{{start|}}}}}<!-- | ||
-->{{#if:{{{9|}}}||{{#ifexpr:{{#replace:{{{8|1}}}|,|+}} <= 7|{{#invoke:String|rep|1=<br> | -->{{#if:{{{9|}}}||{{#ifexpr:{{#replace:{{{8|1}}}|,|+}} <= 7|{{#invoke:String|rep|1=<br> | ||
− | {{!}} style="padding:0px; border: 0px" {{!}} |2={{#expr: 8 - {{#replace:{{{8|1}}}|,|-}} }} }} }} }} }}<!-- | + | {{!}} style="padding:0px;border:0px" {{!}} |2={{#expr: 8 - {{#replace:{{{8|1}}}|,|-}} }} }} }} }} }}<!-- |
# Seventh non-empty cell(s). Can have blank cells before but not after. | # Seventh non-empty cell(s). Can have blank cells before but not after. | ||
-->{{#if:{{{9|}}}|{{#ifexpr:{{#explode:{{{9}}}|,|0}}>{{#explode:{{{8}}}|,|0}}+1|{{#invoke:String|rep|1=<br> | -->{{#if:{{{9|}}}|{{#ifexpr:{{#explode:{{{9}}}|,|0}}>{{#explode:{{{8}}}|,|0}}+1|{{#invoke:String|rep|1=<br> | ||
− | {{!}} style="padding:0px; border: 0px" {{!}}|2={{#expr:{{#explode:{{{9}}}|,|0}}-{{#explode:{{{8}}}|,|0}}-1}} }} }}<br> | + | {{!}} style="padding:0px;border:0px" {{!}}|2={{#expr:{{#explode:{{{9}}}|,|0}}-{{#explode:{{{8}}}|,|0}}-1}} }} }}<br> |
{{!}} {{Schedule week cell|{{{2}}}|{{#explode:{{{9}}}|,|1}}|{{{details|}}}|{{#if:{{{cols|}}}|{{#explode:{{{cols}}}|,|6}}}}|{{{start|}}}}}}}<!-- | {{!}} {{Schedule week cell|{{{2}}}|{{#explode:{{{9}}}|,|1}}|{{{details|}}}|{{#if:{{{cols|}}}|{{#explode:{{{cols}}}|,|6}}}}|{{{start|}}}}}}}<!-- | ||
--></includeonly> | --></includeonly> |
Latest revision as of 08:53, 13 May 2020
Usage
Three templates work together to create a weekly event schedule, starting on a Sunday:
- Template:Calendar header generates the header of the table.
- Template:Calendar row generates a row in the table.
- Template:Schedule week cell is invoked by Template:Calendar row to generates a cell in the table representing an event instance.
This template generates a single row of the table, indicating one or more instances of a single event being run during the week, as well as an optional prefix column indicating a grouping of events.
There are up to 9 positional parameters:
- Positional parameter 1 is the mini flag; if non-empty, the calendar output will skip some columns to shrink its width.
- Positional parameter 2 is the full name of the event in the schedule.
- Positional parameters 3 to 9 are each a comma-separated list of two values, each representing an instance of the event being run:
- The first value is the first day of the week on which the event runs.
- The second value is the number of days for which the event runs.
There are four optional named parameters:
pre:
Specify a group of rows. Use this parameter on the first row of the group. This parameter has a comma-separated pair of values:- The type of the group (e.g. "pvp", "pve", or "duel").
- The number of rows over which the group extends (e.g. "4").
details
- Further optional details necessary to unambiguously specify the event. For example, for a HoD event, the details field might contain "Elspeth" to distinguish it from Bolas HoD.cols
- A comma-separated list of color strings, one for each event instance during the week. For example, for a set of Training Grounds events, the cols field might contain "W,U,B,R,G", to show which variation of the event runs on which day.start
- A start time in UTC for the event which will be displayed in the tooltip, e.g. "16:00". Use "~" to indicate an event which is continuing from the previous week's schedule.
Example
The following shorthand:
{| {{Calendar row||pre=pvp,5|Rising Tensions |2,1|3,1|4,1|5,1|6,1|start=04:00}} |} {{Calendar header|February|24|2019}} {{Calendar row||pre=pvp,5| Rising Tensions |2,1|3,1|4,1|5,1|6,1}} {{Calendar row|| Training Grounds |1,1|2,1|3,1|4,1|5,1|6,1|7,1}} {{Calendar row|| Trial of the Planes |2,1|3,1|4,1|5,1|6,1|cols=W,U,B,R,G}} {{Calendar row|| Hour of Revelation |1,2}} {{Calendar row|| Terrors in the Shadows |1,2|4,2|7,1}} {{Calendar row||pre=pve,4| Oath of the Gatewatch: Part 1 |3,3}} {{Calendar row|| Oath of the Gatewatch: Part 2 |5,3}} {{Calendar row|| Return of the God-Pharaoh }} {{Calendar row|| Tour de Ravnica |1,1|start=04:00}} {{Calendar row||pre=duel,1|Duel Decks: Zendikar vs Eldrazi|3,3}} |} {{Calendar header|February|24|2019|1}} {{Calendar row|1|pre=pvp,5| Rising Tensions |2,1|3,1|4,1|5,1|6,1}} {{Calendar row|1| Training Grounds |1,1|2,1|3,1|4,1|5,1|6,1|7,1}} {{Calendar row|1| Trial of the Planes |2,1|3,1|4,1|5,1|6,1|cols=W,U,B,R,G}} {{Calendar row|1| Hour of Revelation |1,2}} {{Calendar row|1| Terrors in the Shadows |1,2|4,2|7,1}} |}
Produces:
PvP |
RT |
|
|
|
|
|
|
Event schedule 24th February 2019 |
February | March | |||||||
---|---|---|---|---|---|---|---|---|---|
24 | 25 | 26 | 27 | 28 | 1 | 2 | |||
Sun | Mon | Tue | Wed | Thu | Fri | Sat | |||
PvP |
RT |
|
|
|
|
|
|
||
TG |
|
|
|
|
|
|
|
||
TotP |
|
||||||||
HoR |
|
Coalition |
|||||||
TiS |
|
|
|
||||||
PvE |
OGW:1 |
|
|
||||||
OGW:2 |
|
||||||||
RGP |
| |
||||||||
TdR |
|
|
|||||||
Duel | ZvE |
|
|
Events | February | March | |||||
---|---|---|---|---|---|---|---|
24 | 25 | 26 | 27 | 28 | 1 | 2 | |
Sun | Mon | Tue | Wed | Thu | Fri | Sat | |
RT |
|
|
|
|
|
||
TG |
|
|
|
|
|
|
|
TotP |
|||||||
HoR |
Coalition |
||||||
TiS |
|
|