Difference between revisions of "Template:Color Icons"

From mtgpq wiki
Jump to: navigation, search
Line 12: Line 12:
  
 
The named "sep" parameter (optional) is the separator between icons.  (Default: '')
 
The named "sep" parameter (optional) is the separator between icons.  (Default: '')
 +
 +
The named "noinline" parameter (optional) is a flag which skips inlining on the color icons if present.  (Default: '')
 +
  
 
==Example==
 
==Example==
Line 46: Line 49:
 
-->{{#ifexpr:{{#invoke:String|len|{{{1}}}}} > 4|{{#if:{{{3|}}}|[[{{{3}}}|{{#if:{{{4|}}}|<span title="{{{4|}}}">{{{sep|}}}</span>|{{{sep|}}}}}]]|{{{sep|}}}}}<!--
 
-->{{#ifexpr:{{#invoke:String|len|{{{1}}}}} > 4|{{#if:{{{3|}}}|[[{{{3}}}|{{#if:{{{4|}}}|<span title="{{{4|}}}">{{{sep|}}}</span>|{{{sep|}}}}}]]|{{{sep|}}}}}<!--
 
-->{{Symbol|{{#invoke:String|sub|{{{1}}}|5|5}}|{{{2|14}}}|{{{3|}}}|{{{4|}}}|noinline=1}}}}<!--
 
-->{{Symbol|{{#invoke:String|sub|{{{1}}}|5|5}}|{{{2|14}}}|{{{3|}}}|{{{4|}}}|noinline=1}}}}<!--
-->|{{#ifeq:{{#invoke:String|len|{{{1}}}}}|1|1}}}}}}}}</includeonly>
+
-->|{{#ifeq:{{#invoke:String|len|{{{1}}}}}|1|1}}<!--
 +
-->}}|{{{noinline|}}}}}}}</includeonly>

Revision as of 09:17, 13 May 2020

Usage

Given a string of 1 to 5 letters representing colors, produces a corresponding series of space-separated color icons.

The first parameter is a sequence of upper-case letters from the set WUBRGCL.

The second parameter (optional) is the size of the icons (default = 14).

The third parameter (optional) is a wiki link for each icon (default: Mana).

The fourth parameter (optional) is hover text for each icon (default: the full name of the color).

The named "sep" parameter (optional) is the separator between icons. (Default: )

The named "noinline" parameter (optional) is a flag which skips inlining on the color icons if present. (Default: )


Example

The following mark-up:

{{Color Icons|UBR}
{{Color Icons|UBR|24|sep=&thinsp;}}

Produces:

BlueBlackRed

BlueBlackRed

Implementation details

The following optimisations are applied to reduce output html size:

  • Apply the inline span to the whole set of icons rather than each icon individually
  • Skip the "nowrap" span if a single icon is produced

These optimisations are necessary to avoid a "Pages where template include size is exceeded" error on some large pages (e.g. elite pack contents pages).