Jump to content
Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Template:Biome: Difference between revisions

Template page
m Create Template:Biome for reusable biome resource panes
m Standardise backdrop lookup on .png only (all biome images are now .png) and skip the file check entirely for the imageless Continent-Wide Resources entry -- both were populating Special:WantedPages with redlinks on every transclusion
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
<includeonly>{{#if:{{{image|}}}
<includeonly><templatestyles src="Template:Biome/styles.css" />{{#ifeq:{{{name}}}|Continent-Wide Resources
|<div style="width:260px;max-width:100%;border-radius:8px;overflow:hidden;border:1px solid #4a4030;background:#1c1712;box-shadow:0 1px 3px rgba(0,0,0,.2);"><div style="position:relative;line-height:0;height:108px;overflow:hidden;">[[File:{{{image}}}|260px|link=|alt=]]<div style="position:absolute;inset:0;background:rgba(8,6,3,.58);"></div><div style="position:absolute;left:0;right:0;bottom:0;padding:.4em .6em .35em;"><div style="font-weight:700;font-size:1em;color:#ffffff;text-shadow:0 1px 4px rgba(0,0,0,.9);line-height:1.3;">{{#ifeq:{{{icon|{{{name}}} Icon.png}}}|none|{{{name}}}|<span style="display:inline-flex;align-items:center;gap:.35em;">[[File:{{{icon|{{{name}}} Icon.png}}}|20px|link=]]<span>{{{name}}}</span></span>}}</div></div></div><div style="background:#1c1712;padding:.55em .7em .65em;">{{#if:{{{protected|}}}|<div style="font-size:.7em;font-weight:700;color:#f0cf8e;text-transform:uppercase;letter-spacing:.04em;margin:.45em 0 .25em;">Protected Resources</div><div style="display:flex;flex-wrap:wrap;gap:.3em;">{{{protected}}}</div>}}{{#if:{{{other|}}}|<div style="font-size:.7em;font-weight:700;color:#f0cf8e;text-transform:uppercase;letter-spacing:.04em;margin:.45em 0 .25em;">Other Resources</div><div style="display:flex;flex-wrap:wrap;gap:.3em;">{{{other}}}</div>}}</div></div>
|<div class="loka-biome-card loka-biome-card--light"><div class="loka-biome-title loka-biome-title--light">{{#ifeq:{{{icon|{{{name}}} Icon.png}}}|none|{{{name}}}|<span class="loka-biome-title-inner">[[File:{{{icon|{{{name}}} Icon.png}}}|20px|link=]]<span>{{{name}}}</span></span>}}</div>{{#if:{{{protected|}}}|<div class="loka-biome-label loka-biome-label--light">Protected Resources</div><div class="loka-biome-row">{{{protected}}}</div>}}{{#if:{{{other|}}}|<div class="loka-biome-label loka-biome-label--light">Other Resources</div><div class="loka-biome-row">{{{other}}}</div>}}</div>
|{{#ifexist:File:{{{name}}}.jpg
|{{#if:{{{image|}}}
|<div style="width:260px;max-width:100%;border-radius:8px;overflow:hidden;border:1px solid #4a4030;background:#1c1712;box-shadow:0 1px 3px rgba(0,0,0,.2);"><div style="position:relative;line-height:0;height:108px;overflow:hidden;">[[File:{{{name}}}.jpg|260px|link=|alt=]]<div style="position:absolute;inset:0;background:rgba(8,6,3,.58);"></div><div style="position:absolute;left:0;right:0;bottom:0;padding:.4em .6em .35em;"><div style="font-weight:700;font-size:1em;color:#ffffff;text-shadow:0 1px 4px rgba(0,0,0,.9);line-height:1.3;">{{#ifeq:{{{icon|{{{name}}} Icon.png}}}|none|{{{name}}}|<span style="display:inline-flex;align-items:center;gap:.35em;">[[File:{{{icon|{{{name}}} Icon.png}}}|20px|link=]]<span>{{{name}}}</span></span>}}</div></div></div><div style="background:#1c1712;padding:.55em .7em .65em;">{{#if:{{{protected|}}}|<div style="font-size:.7em;font-weight:700;color:#f0cf8e;text-transform:uppercase;letter-spacing:.04em;margin:.45em 0 .25em;">Protected Resources</div><div style="display:flex;flex-wrap:wrap;gap:.3em;">{{{protected}}}</div>}}{{#if:{{{other|}}}|<div style="font-size:.7em;font-weight:700;color:#f0cf8e;text-transform:uppercase;letter-spacing:.04em;margin:.45em 0 .25em;">Other Resources</div><div style="display:flex;flex-wrap:wrap;gap:.3em;">{{{other}}}</div>}}</div></div>
|<div class="loka-biome-card loka-biome-card--dark"><div class="loka-biome-backdrop">[[File:{{{image}}}|260px|link=|alt=]]<div class="loka-biome-scrim"></div><div class="loka-biome-title-overlay"><div class="loka-biome-title">{{#ifeq:{{{icon|{{{name}}} Icon.png}}}|none|{{{name}}}|<span class="loka-biome-title-inner">[[File:{{{icon|{{{name}}} Icon.png}}}|20px|link=]]<span>{{{name}}}</span></span>}}</div></div></div><div class="loka-biome-body">{{#if:{{{protected|}}}|<div class="loka-biome-label">Protected Resources</div><div class="loka-biome-row">{{{protected}}}</div>}}{{#if:{{{other|}}}|<div class="loka-biome-label">Other Resources</div><div class="loka-biome-row">{{{other}}}</div>}}</div></div>
|{{#ifexist:File:{{{name}}}.png
|{{#ifexist:File:{{{name}}}.png
|<div style="width:260px;max-width:100%;border-radius:8px;overflow:hidden;border:1px solid #4a4030;background:#1c1712;box-shadow:0 1px 3px rgba(0,0,0,.2);"><div style="position:relative;line-height:0;height:108px;overflow:hidden;">[[File:{{{name}}}.png|260px|link=|alt=]]<div style="position:absolute;inset:0;background:rgba(8,6,3,.58);"></div><div style="position:absolute;left:0;right:0;bottom:0;padding:.4em .6em .35em;"><div style="font-weight:700;font-size:1em;color:#ffffff;text-shadow:0 1px 4px rgba(0,0,0,.9);line-height:1.3;">{{#ifeq:{{{icon|{{{name}}} Icon.png}}}|none|{{{name}}}|<span style="display:inline-flex;align-items:center;gap:.35em;">[[File:{{{icon|{{{name}}} Icon.png}}}|20px|link=]]<span>{{{name}}}</span></span>}}</div></div></div><div style="background:#1c1712;padding:.55em .7em .65em;">{{#if:{{{protected|}}}|<div style="font-size:.7em;font-weight:700;color:#f0cf8e;text-transform:uppercase;letter-spacing:.04em;margin:.45em 0 .25em;">Protected Resources</div><div style="display:flex;flex-wrap:wrap;gap:.3em;">{{{protected}}}</div>}}{{#if:{{{other|}}}|<div style="font-size:.7em;font-weight:700;color:#f0cf8e;text-transform:uppercase;letter-spacing:.04em;margin:.45em 0 .25em;">Other Resources</div><div style="display:flex;flex-wrap:wrap;gap:.3em;">{{{other}}}</div>}}</div></div>
|<div class="loka-biome-card loka-biome-card--dark"><div class="loka-biome-backdrop">[[File:{{{name}}}.png|260px|link=|alt=]]<div class="loka-biome-scrim"></div><div class="loka-biome-title-overlay"><div class="loka-biome-title">{{#ifeq:{{{icon|{{{name}}} Icon.png}}}|none|{{{name}}}|<span class="loka-biome-title-inner">[[File:{{{icon|{{{name}}} Icon.png}}}|20px|link=]]<span>{{{name}}}</span></span>}}</div></div></div><div class="loka-biome-body">{{#if:{{{protected|}}}|<div class="loka-biome-label">Protected Resources</div><div class="loka-biome-row">{{{protected}}}</div>}}{{#if:{{{other|}}}|<div class="loka-biome-label">Other Resources</div><div class="loka-biome-row">{{{other}}}</div>}}</div></div>
|<div style="width:260px;max-width:100%;box-sizing:border-box;background:#faf7f0;border:1px solid #d8cfb8;border-radius:8px;padding:.6em .7em;box-shadow:0 1px 3px rgba(0,0,0,.1);"><div style="font-weight:700;font-size:1em;color:#1f1c16;border-bottom:1px solid #e5ddc8;padding-bottom:.3em;margin-bottom:.2em;">{{#ifeq:{{{icon|{{{name}}} Icon.png}}}|none|{{{name}}}|<span style="display:inline-flex;align-items:center;gap:.35em;">[[File:{{{icon|{{{name}}} Icon.png}}}|20px|link=]]<span>{{{name}}}</span></span>}}</div>{{#if:{{{protected|}}}|<div style="font-size:.7em;font-weight:700;color:#9c6b2e;text-transform:uppercase;letter-spacing:.04em;margin:.45em 0 .25em;">Protected Resources</div><div style="display:flex;flex-wrap:wrap;gap:.3em;">{{{protected}}}</div>}}{{#if:{{{other|}}}|<div style="font-size:.7em;font-weight:700;color:#9c6b2e;text-transform:uppercase;letter-spacing:.04em;margin:.45em 0 .25em;">Other Resources</div><div style="display:flex;flex-wrap:wrap;gap:.3em;">{{{other}}}</div>}}</div>
|<div class="loka-biome-card loka-biome-card--light"><div class="loka-biome-title loka-biome-title--light">{{#ifeq:{{{icon|{{{name}}} Icon.png}}}|none|{{{name}}}|<span class="loka-biome-title-inner">[[File:{{{icon|{{{name}}} Icon.png}}}|20px|link=]]<span>{{{name}}}</span></span>}}</div>{{#if:{{{protected|}}}|<div class="loka-biome-label loka-biome-label--light">Protected Resources</div><div class="loka-biome-row">{{{protected}}}</div>}}{{#if:{{{other|}}}|<div class="loka-biome-label loka-biome-label--light">Other Resources</div><div class="loka-biome-row">{{{other}}}</div>}}</div>
}}
}}
}}
}}
Line 19: Line 19:
</pre>
</pre>


Renders a single biome pane for use on "Biomes and Resources"-style pages, or on any article (e.g. a continent article) that needs to show a biome's protected and other resources.
Renders a single biome pane for use on "Biomes and Resources"-style pages, or on any article (e.g. a continent article) that needs to show a biome's protected and other resources. Styling lives in [[Template:Biome/styles.css]].


Only <code>name</code> is required. Both the icon (<code>&lt;name&gt; Icon.png</code>) and the backdrop image (<code>&lt;name&gt;.jpg</code>, falling back to <code>&lt;name&gt;.png</code>) are auto-detected from the biome name via file-existence checks, so a normal call only needs <code>name</code>, <code>protected</code> and <code>other</code>. If neither backdrop file exists, the pane renders as a flat light card instead.
Only <code>name</code> is required. Both the icon (<code>&lt;name&gt; Icon.png</code>) and the backdrop image (<code>&lt;name&gt;.png</code>) are auto-detected from the biome name via a file-existence check, so a normal call only needs <code>name</code>, <code>protected</code> and <code>other</code>. If the backdrop file doesn't exist, the pane renders as a flat light card instead. <code>name=Continent-Wide Resources</code> always renders as the flat light card and skips the file check entirely, since it's never meant to have a backdrop.


== Parameters ==
== Parameters ==
Line 36: Line 36:
|-
|-
| <code>image</code>
| <code>image</code>
| Overrides the auto-detected backdrop filename directly (no <code>File:</code> prefix), for the rare case it doesn't follow the <code>&lt;name&gt;.jpg</code>/<code>&lt;name&gt;.png</code> convention.
| Overrides the auto-detected backdrop filename directly (no <code>File:</code> prefix), for the rare case it doesn't follow the <code>&lt;name&gt;.png</code> convention.
|-
|-
| <code>protected</code>
| <code>protected</code>
Line 44: Line 44:
| Wikitext for the "Other Resources" chips, same format as <code>protected</code>.
| Wikitext for the "Other Resources" chips, same format as <code>protected</code>.
|}
|}
== Biome subtemplates ==
Each biome (and each continent's "Continent-Wide Resources" card) has its own subtemplate holding the actual [[Template:Biome|Biome]] call, so a wiki editor updates a biome's resources in exactly one place no matter how many pages embed it (e.g. both [[Biomes and Resources]] and the relevant continent article).
'''Biomes:''' [[Template:Biome/Ancient Forest|Ancient Forest]], [[Template:Biome/Ancient Jungle|Ancient Jungle]], [[Template:Biome/Birch Forest|Birch Forest]], [[Template:Biome/Cherry Grove|Cherry Grove]], [[Template:Biome/Clay Cliffs|Clay Cliffs]], [[Template:Biome/Desert|Desert]], [[Template:Biome/Forest|Forest]], [[Template:Biome/Ice Mountains|Ice Mountains]], [[Template:Biome/Ice Taiga|Ice Taiga]], [[Template:Biome/Ice Wastes|Ice Wastes]], [[Template:Biome/Jungle|Jungle]], [[Template:Biome/Mangrove Forest|Mangrove Forest]], [[Template:Biome/Mega Taiga|Mega Taiga]], [[Template:Biome/Mesa|Mesa]], [[Template:Biome/Moor|Moor]], [[Template:Biome/Mountains|Mountains]], [[Template:Biome/Mushroom Isle|Mushroom Isle]], [[Template:Biome/Pale Garden|Pale Garden]], [[Template:Biome/Plains|Plains]], [[Template:Biome/Roofed Forest|Roofed Forest]], [[Template:Biome/Savannah|Savannah]], [[Template:Biome/Sunset Isles|Sunset Isles]], [[Template:Biome/Swamp|Swamp]], [[Template:Biome/Taiga|Taiga]]
'''Continent-wide:''' [[Template:Biome/Ascalon|Ascalon]], [[Template:Biome/Garama|Garama]], [[Template:Biome/Kalros|Kalros]]


[[Category:Templates]]
[[Category:Templates]]
</noinclude>
</noinclude>

Latest revision as of 01:07, 24 August 2026

Usage

{{Biome
|name=Birch Forest
|protected={{ResourceList|1=Birch Wood|1icon1=Birch Log.png}}
|other={{ResourceList|1=Dandelion|1icon1=Dandelion.png}}
}}

Renders a single biome pane for use on "Biomes and Resources"-style pages, or on any article (e.g. a continent article) that needs to show a biome's protected and other resources. Styling lives in Template:Biome/styles.css.

Only name is required. Both the icon (<name> Icon.png) and the backdrop image (<name>.png) are auto-detected from the biome name via a file-existence check, so a normal call only needs name, protected and other. If the backdrop file doesn't exist, the pane renders as a flat light card instead. name=Continent-Wide Resources always renders as the flat light card and skips the file check entirely, since it's never meant to have a backdrop.

Parameters

Parameter Description
name Biome display name. Also used to auto-detect the icon and backdrop filenames.
icon Overrides the auto-detected icon filename (no File: prefix). Set to none to suppress the icon entirely (e.g. for a non-biome-specific entry with no matching icon file).
image Overrides the auto-detected backdrop filename directly (no File: prefix), for the rare case it doesn't follow the <name>.png convention.
protected Wikitext for the "Protected Resources" chips — normally a Template:ResourceList call.
other Wikitext for the "Other Resources" chips, same format as protected.

Biome subtemplates

Each biome (and each continent's "Continent-Wide Resources" card) has its own subtemplate holding the actual Biome call, so a wiki editor updates a biome's resources in exactly one place no matter how many pages embed it (e.g. both Biomes and Resources and the relevant continent article).

Biomes: Ancient Forest, Ancient Jungle, Birch Forest, Cherry Grove, Clay Cliffs, Desert, Forest, Ice Mountains, Ice Taiga, Ice Wastes, Jungle, Mangrove Forest, Mega Taiga, Mesa, Moor, Mountains, Mushroom Isle, Pale Garden, Plains, Roofed Forest, Savannah, Sunset Isles, Swamp, Taiga

Continent-wide: Ascalon, Garama, Kalros