|
|
| Line 1: |
Line 1: |
| <includeonly><!-- | | <includeonly><span style="white-space: nowrap; display:inline; margin-right:0;">{{#switch: {{lc:{{{1}}}}} |
| | | |1|01|spring = [[File:Spring.png|{{{width|24px}}}|link=]]{{#if:{{{2|}}}| {{{2|}}}}} [[Spring]] |
| // Define the allowed values, with handling for various quirks/oddities.
| | |2|02|summer = [[File:Summer.png|{{{width|24px}}}|link=]]{{#if:{{{2|}}}| {{{2|}}}}} [[Summer]] |
| // First column=icon name -> same in all languages
| | |3|03|fall|autumn = [[File:Fall.png|{{{width|24px}}}|link=]]{{#if:{{{2|}}}| {{{2|}}}}} [[Fall]] |
| // Second column=link (wiki page) name, generally same as displayed text -> needs translation
| | |4|04|winter = [[File:Winter.png|{{{width|24px}}}|link=]]{{#if:{{{2|}}}| {{{2|}}}}} [[Winter]] |
| // All other values are synonyms
| | |marriage = [[File:Mermaid's Pendant.png|{{{width|24px}}}|link=]] [[Marriage]] |
| // Marriage, Deviations are for sake of NPC schedule sections (and translations)
| | |deviations = Deviations |
| // For 'All Seasons' case, display text doesn't match icon or wiki-link, so
| | |5|05|all|any = [[File:All Seasons Icon.png|{{{width|24px}}}|link=]] [[Seasons|All Seasons]] |
| // define default display text in $lang_allseasons, with parameter allowing any other preferred value
| | |#default = {{ucfirst:{{{1|}}} }} }}</span></includeonly><noinclude>{{{{FULLPAGENAME}}/doc}}</noinclude> |
| -->{{ParseInputValues|code=season||
| |
| ,All Seasons Icon, Seasons, All, All Seasons, Any, Always, Any Season,
| |
| ,Spring,
| |
| ,Summer,
| |
| ,Fall, Fall, Autumn,
| |
| ,Winter,
| |
| ,Mermaid's Pendant, Marriage,
| |
| ,Deviations,
| |
| }}{{#arraydefine:$lang_allseasons | All }}<!--
| |
| | |
| // END OF translated text
| |
| | |
| // Check whether there's already a file link in {{{1}}}... implying this is probably a recursive call. Return immediately
| |
| -->{{#if:{{#pos:{{{1|}}}|{{Bracket|2}}File}}|{{{1}}}|<!--
| |
| // Parse input data, then loop over all extracted entries
| |
| -->{{#arraydefine:$sseason|{{ParseInputValues|{{{1|}}}|code=season|default=true}}}}<!--
| |
| -->{{#arrayprint:$sseason||@season@|<!--
| |
| | |
| // Convert @season@ (icon name) into translated page name
| |
| -->{{#arraydefine:$slink_text|{{ParseInputValues|code=season|@season@|translate=true}}}}<!--
| |
| | |
| // Wrap a sort-key span around all items if requested. On other entries, add {{{space}}} or bullet.
| |
| -->{{#ifexpr:{{#arraysearch:$sseason|@season@}}>0
| |
| |{{{space| • }}}
| |
| |{{#ifexpr:{{#if:{{{sortkey|}}}|1|0}} or {{#ifeq:{{{sortkey}}}||1|0}}
| |
| |<span data-sort-value="{{#ifeq:{{{sortkey}}}|||{{#ifeq:{{{sortkey|true}}}|true
| |
| |{{#expr:{{#if:{{#arrayprint:$slink_text}}
| |
| |({{ParseInputValues|code=season|@season@|translate=index}}+1)*100
| |
| |0}}{{#iferror:{{#expr:{{{2|0}}}>0}}|| + {{{2|0}}}}}}}
| |
| |{{{sortkey|}}}}}}}">
| |
| }}}}<span style="display:inline; margin-right:0; white-space: nowrap"><!--
| |
| | |
| // Display the non-icon, non-linkable cases: Deviations, and unmatched text (detected by empty link_text)
| |
| // This is also where text_only option is handled
| |
| -->{{#ifeq:{{#arrayprint:$slink_text}}|
| |
| | {{ucfirst:@season@}}
| |
| | {{#ifexpr: {{#ifeq:@season@|Deviations|1|0}} or {{#if:{{{text_only|}}}|1|0}}
| |
| | {{#if:{{{no_translate|}}}
| |
| |{{#ifeq:@season@|All Seasons Icon|All|@season@}}
| |
| |{{#ifeq:@season@|All Seasons Icon|{{#arrayprint:$lang_allseasons}}|{{#arrayprint:$slink_text}}}}}}
| |
| |<!--
| |
| | |
| // Display the normal cases: first display icon
| |
| -->[[File:@season@.png|
| |
| {{#if:{{{size|}}}|{{{size}}}px|{{{width|24px}}}}} | link={{#arrayprint:$slink_text}} | alt=]] <!--
| |
| // Add day if provided
| |
| -->{{#if:{{{2|}}}|{{{2}}} }}<!--
| |
| | |
| // Add link, with special treatment for text of All Seasons
| |
| -->[[{{#arrayprint:$slink_text}}|<!--
| |
| -->{{#ifeq:@season@|All Seasons Icon
| |
| |{{#if:{{{all|}}}|{{{all|}}}|{{#arrayprint:$lang_allseasons}}}}
| |
| |{{#arrayprint:$slink_text}}}}]]<!--
| |
| -->}}}}</span>}}<!--
| |
| -->{{#ifexpr:{{#if:{{{sortkey|}}}|1|0}} or {{#ifeq:{{{sortkey}}}||1|0}}|</span>}}
| |
| }}</includeonly><noinclude>{{{{FULLPAGENAME}}/doc}}</noinclude>
| |
Description
This template displays the icon for the requested season, plus the season as a link to its associated article.
Notes
The template recognizes two special values of season, Marriage and Deviations, for the sake of NPC schedule pages (see Template:ScheduleHeader).
Use
{{Season|name of season|day (optional)|width (optional)}}
Examples
{{Season|Spring}}
{{Season|Marriage}}
{{Season|Deviations}}
{{Season|All|width=48}}
{{Season|Summer|24}}
Results:
Spring
Marriage
Deviations
All Seasons
24 Summer