Difference between revisions of "Template:Season"

From Stardew Valley Wiki
Jump to navigation Jump to search
m (another synonym)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<includeonly><!--
+
<includeonly><span style="display:inline; margin-right:0;">{{#switch: {{lc:{{{1}}}}}
 
+
|1|01|spring|[[spring]] = [[File:Spring.png|{{{width|24px}}}|link=]]{{#if:{{{2|}}}|&thinsp;{{{2|}}}}}&nbsp;[[Spring]]
// Define the allowed values, with handling for various quirks/oddities.
+
|2|02|summer|[[summer]] = [[File:Summer.png|{{{width|24px}}}|link=]]{{#if:{{{2|}}}|&thinsp;{{{2|}}}}}&nbsp;[[Summer]]
//  First column=icon name -> same in all languages
+
|3|03|fall|autumn|[[fall]]|[[autumn]] = [[File:Fall.png|{{{width|24px}}}|link=]]{{#if:{{{2|}}}|&thinsp;{{{2|}}}}}&nbsp;[[Fall]]
//  Second column=link (wiki page) name, generally same as displayed text -> needs translation
+
|4|04|winter|[[winter]] = [[File:Winter.png|{{{width|24px}}}|link=]]{{#if:{{{2|}}}|&thinsp;{{{2|}}}}}&nbsp;[[Winter]]
//  All other values are synonyms
+
|marriage|[[marriage]] = [[File:Mermaid's Pendant.png|{{{width|24px}}}|link=]]&nbsp;[[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=]]&nbsp;[[Seasons|All]]
// 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}}}}<!--
 
 
 
// On first entry, add sort-key if requested. On other entries, add space and bullet.
 
-->{{#ifexpr:{{#arraysearch:$sseason|@season@}}>0
 
    |&#32;•&#32;
 
    |{{#if:{{{sortkey|}}}|
 
        <span class="sortkey" style="display:none;">{{#if:{{#arrayprint:$slink_text}}
 
  |{{#expr:{{ParseInputValues|code=season|@season@|translate=index}}+1}}
 
  |0}}</span>
 
  }}}}<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=]]&nbsp;<!--
 
// Add day if provided
 
-->{{#if:{{{2|}}}|{{{2}}}&nbsp;}}<!--
 
 
 
// 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>}}}}</includeonly><noinclude>{{Englishdoc}}{{#ifexist:{{FULLPAGENAME}}/doc |<nowiki/>
 
{{{{FULLPAGENAME}}/doc}} }}</noinclude>
 

Latest revision as of 18:55, 11 May 2022

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.png Spring
Mermaid's Pendant.png Marriage
Deviations
48 All
Summer.png 24 Summer