Difference between revisions of "Template:Columns"

From NeoDex
Jump to navigation Jump to search
(This template should take one long list and display it as three, automatically balanced columns. It can tell if a list is too short (< 3) and not display an empty column.)
 
m
Line 1: Line 1:
{{#arraydefine:list|{{{1}}}|*
{{#arraydefine:list|{{{1}}}|*
|sort=asc}}{{#arrayunique:list}}{{#arrayslice:notcol1|list|{{#expr: {{#arraysize:list}} / 3 round 0}}}}{{#arraydiff:col1|list|notcol1}}{{#arrayslice:col3|notcol1|{{#expr: {{#arraysize:notcol1}} / 2 round 0}}}}{{#arraydiff:col2|notcol1|col3}}{{#arrayslice:column2|list|{{#expr: {{#arraysize:list}} / 3 round 0}}}}{{#arrayslice:column3|column1|{{#expr: 2 * ({{#arraysize:list}} / 3) round 0}}}}
|sort=asc}}{{#arrayunique:list}}{{#arrayslice:notcol1|list|{{#expr: {{#arraysize:list}} / 3 round 0}}}}{{#arraydiff:col1|list|notcol1}}{{#arrayslice:col3|notcol1|{{#expr: {{#arraysize:notcol1}} / 2 round 0}}}}{{#arraydiff:col2|notcol1|col3}}{{#arrayslice:column2|list|{{#expr: {{#arraysize:list}} / 3 round 0}}}}{{#arrayslice:column3|column1|{{#expr: 2 * ({{#arraysize:list}} / 3) round 0}}}}
{| {{options|}}
{| {{{options|}}}
{{#ifeq: {{#arraysize:col1}} | 0 | | {{!}}style="vertical-align:top;"{{!}}
{{#ifeq: {{#arraysize:col1}} | 0 | | {{!}}style="vertical-align:top;"{{!}}
<ul><li>{{#arrayprint:col1|</li><li>}}</li></ul>}}
<ul><li>{{#arrayprint:col1|</li><li>}}</li></ul>}}

Revision as of 21:57, 22 October 2014

  • {{{1}}}