Open main menu

mtgpq wiki β

Changes

Template:Color Icons

1,850 bytes added, 10:22, 13 May 2020
no edit summary
Given a string of 1 to 5 letters representing colors, produces a corresponding series of space-separated color icons.
The template 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: '') The named "skipnowrap" parameter (optional) is a flag which skips the nowrap action on the color icons if present. (Default: '') 
==Example==
The following mark-up:
<pre><nowiki>
{{Color Icons|UBR}{{Color Icons|UBR|24|sep=&amp;thinsp;}}
</nowiki></pre>
{{Color Icons|UBR}}
 
{{Color Icons|UBR|24|sep=&thinsp;}}
 
== 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).
[[Category:Symbol templates]]
</noinclude><includeonly>{{#ifeq:{{#invoke:String|sub|{{{1}}}|1|1}}|[||<!---->{{Inline|{{nowrap|<!---->{{ Symbol|{{#invoke:String|sub|{{{1}}}|1|1}}|{{{2|14} }}|{{{3|}}}|{{{4|}}}|noinline=1}}<!---->{{#ifexpr:{{#invoke:String|len|{{{1}}}}} > 1|&thinsp;{{ #if:{{{3|}}}|[[{{{3}}}|{{#if:{{{4|}}}|<span title="{{{4|}}}">{{{sep|}}}</span>|{{{sep|}}}}}]]|{{{sep|}}}}}<!---->{{Symbol|{{#invoke:String|sub|{{{1}}}|2|2}}|{{{2|14}}}|{{{3|}}}|{{{4|}} }|noinline=1}} }}<!---->{{#ifexpr:{{#invoke:String|len|{{{1}}}}} > 2|&thinsp;{{ #if:{{{3|}}}|[[{{{3}}}|{{#if:{{{4|}}}|<span title="{{{4|}}}">{{{sep|}}}</span>|{{{sep|}}}}}]]|{{{sep|}}}}}<!---->{{Symbol|{{#invoke:String|sub|{{{1}}}|3|3}} |{{{2|14}}}|{{{3|}}}|{{{4|}}}|noinline=1}} }}<!---->{{#ifexpr:{{#invoke:String|len|{{{1}}}}} > 3|&thinsp;{{ #if:{{{3|}}}|[[{{{3}}}|{{#if:{{{4|}}}|<span title="{{{4|}}}">{{{sep|}}}</span>|{{{sep|}}}}}]]|{{{sep|}}}}}<!---->{{Symbol|{{#invoke:String|sub|{{{1}}}|4|4}}|{{{2|14}}}|{{{3|}}}|{{{4|}} }|noinline=1}} }}<!---->{{#ifexpr:{{#invoke:String|len|{{{1}}}}} > 4|&thinsp;{{ #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}} }}<!---->|{{#ifeq:{{#invoke:String|len|{{{1}}}}}|1|1}}{{{skipnowrap|}}}}}|{{{noinline|}}}}}}}</includeonly>