Template:Div col/doc

From Wayne's Dusty Box of Words

{{#ifeq:doc |doc

    | 

{{#ifeq:show |show

|

        }}{{#if: |
         |   {{#ifexist:Template:Div col
                  | [[Category:{{#switch:Template |Template=Template |Module=Module |User=User |#default=Wikipedia}} documentation pages]]
                  |
                 }}
        }}
    | 
   }}

{{Div col}} formats a list into columns that wrap properly and compatibly with portable computer devices, especially PAD operating systems and small screens.

Purpose

It automatically breaks the available screen space into equal parts, meaning, for instance, that it is not necessary to guess how many columns to use and then figure out the dividing point(s), e.g., the halfway point to divide the list into two columns, or the one-third and two-thirds points to divide the list into three columns.

  • The list content is either provided by the |{{SAFESUBST:#if:content|content=}} parameter (which can be restrictive of what content is allowed; e.g., wiki markup such as the | character must somehow be escaped), or terminated with {{div col end}}. The {{columns-list}} wrapper uses the parameter method for providing content (including its limitations).
  • The template system (family) also offers parameter options to set a smaller (90%) font-size parameter (|{{SAFESUBST:#if:small|small=}}yes), place vertical lines parameter ("rules") between the columns (|{{SAFESUBST:#if:rules|rules=}}) and to add other custom styling (|{{SAFESUBST:#if:style|style=}}).

{{Div col}} can create multiple columns in web browsers which support the following CSS properties:

By default, the template creates columns that are 30em wide.

This template's parameters

Descriptions

There are six parameters for this template:

|{{SAFESUBST:#if:colwidth|colwidth=}}
Specifies the minimum width of the columns so that the number of columns is automatically based on screen width (that is, more columns will be shown on wider displays). Can be specified in any CSS unit of measure, for instance, the em (about the width of the capital "M" of the displayed typeface), e.g., colwidth=20em. If no value is supplied, the template uses a default of 30em.
|{{SAFESUBST:#if:rules|rules=}}
Adds vertical lines ("rules") between the columns if set to yes or some CSS styling (e.g. 1px dashed blue;).
|{{SAFESUBST:#if:gap|gap=}}
Specifies the space between the content of adjacent columns. Specified in any CSS unit, e.g, gap=2em. The default spacing (set by browser) is 1em.
|{{SAFESUBST:#if:style|style=}}
CSS styling to apply to the columns.
|{{SAFESUBST:#if:small|small=}}yes
sets font size to 90%.
|{{SAFESUBST:#if:content|content=}}
content to apply to the columns.

Example of "colwidth" parameter

Example with column width of 10em
{{div col|colwidth=10em}}
* a
* b
* c
* d
* e
* f
* g
* h
{{div col end}}
produces
{{#if:|{{{content}}}

}}{{#ifeq:|yes|}}

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

Example of "rules" parameter

Example
{{Div col|rules=yes}}
* a
* b
* c
* d
* e
* f
* g
* h
{{Div col end}}
produces
{{#if:|{{{content}}}

}}{{#ifeq:|yes|}}

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

Example of "gap" parameter

Example
{{Div col|colwidth=10em|rules=yes|gap=2em}}
* a
* b
* c
* d
* e
* f
* g
* h
{{Div col end}}
produces
{{#if:|{{{content}}}

}}{{#ifeq:|yes|}}

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

Example of "small" parameter

Example showing how setting "small" parameter to "yes" produces smaller font size
{{Div col|small=yes}}
* a
* b
* c
* d
* e
* f
* g
* h
{{Div col end}}
produces
{{#if:|{{{content}}}

}}{{#ifeq:yes|yes|}}

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

Example of "content" parameter

Example showing how to provide "content" parameter without using {{[[{{#if:|{{{SISTER}}}Template|Template}}:Div col end|Div col end]]{{#if:||{{{2}}}}}{{#if:||{{{3}}}}}{{#if:||{{{4}}}}}{{#if:||{{{5}}}}}{{#if:||{{{6}}}}}{{#if:||{{{7}}}}}{{#if:||...}}}}
{{Div col|colwidth=10em|content=
* a
* b
* c
* d
* e
* f
* g
* h
}}
produces
{{#if:* a
  • b
  • c
  • d
  • e
  • f
  • g
  • h|* a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

}}{{#ifeq:|yes|}}

Usage with multiple parameters

Parameters can be used in any order. Example:

{{Div col|colwidth=10em|rules=yes|gap=2em|small=yes}}
* a
* b
* c
* d
* e
* f
* g
* h
{{Div col end}}

or

{{Div col|rules=yes|gap=2em|small=yes|colwidth=10em}}
* a
* b
* c
* d
* e
* f
* g
* h
{{Div col end}}
produces
{{#if:|{{{content}}}

}}{{#ifeq:yes|yes|}}

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h

and exactly the same result below

{{#if:|{{{content}}}

}}{{#ifeq:yes|yes|}}

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
Example with column width of 20em
{{div col|colwidth=20em}}
* a
* b
* c
* d
* e
* f
* g
* h
{{div col end}}
produces
{{#if:|{{{content}}}

}}{{#ifeq:|yes|}}

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
Example with column width of 30em
{{div col|colwidth=30em}}
* a
* b
* c
* d
* e
* f
* g
* h
{{div col end}}
produces
{{#if:|{{{content}}}

}}{{#ifeq:|yes|}}

  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
Example of how this template behaves if no bullets (generated by asterisk mark) are used.
{{div col|colwidth=10em}}
a
b
c
d
e
f
g
h
{{div col end}}
produces
{{#if:|{{{content}}}

}}{{#ifeq:|yes|}}

a b c d e f g h

Tracking categories

TemplateData

{{#if:|{{#switch:
|=[https://bambots.brucemyers.com/TemplateParam.php?wiki=enwiki&template=%7B%7B%23if%3A%7C%7CDiv+col%7D%7D {{#ifeq:{{safesubst:#switch: {{{lc}}}
|no
|n
|f
|false
|off
|0        = no
|         = no
|¬        = no
|yes
|y
|t
|true
|on
|1        = yes
|#default = no

}}|no|C|c}}lick here] to see a monthly parameter usage report for {{#if:|[[Template:]]|this template}}{{#ifeq:{{safesubst:#switch: y

|no
|n
|f
|false
|off
|0        = no
|         = no
|¬        = no
|yes
|y
|t
|true
|on
|1        = yes
|#default = no

}}|yes| based on {{#if:|its|this}} TemplateData}}.

|None|none=[https://bambots.brucemyers.com/TemplateParam.php?wiki=enwiki&template=%7B%7B%23if%3A%7C%7CDiv+col%7D%7D {{#ifeq:{{safesubst:#switch: {{{lc}}}
|no
|n
|f
|false
|off
|0        = no
|         = no
|¬        = no
|yes
|y
|t
|true
|on
|1        = yes
|#default = no

}}|no|P|p}}arameter usage report]{{#ifeq:{{safesubst:#switch: y

|no
|n
|f
|false
|off
|0        = no
|         = no
|¬        = no
|yes
|y
|t
|true
|on
|1        = yes
|#default = no

}}|yes| based on {{#if:|its|this}} TemplateData}}

|for|For=[https://bambots.brucemyers.com/TemplateParam.php?wiki=enwiki&template=%7B%7B%23if%3A%7C%7CDiv+col%7D%7D {{#ifeq:{{safesubst:#switch: {{{lc}}}
|no
|n
|f
|false
|off
|0        = no
|         = no
|¬        = no
|yes
|y
|t
|true
|on
|1        = yes
|#default = no

}}|no|P|p}}arameter usage report] for {{#if:|[[Template:]]|Template:Div col}}{{#ifeq:{{safesubst:#switch: y

|no
|n
|f
|false
|off
|0        = no
|         = no
|¬        = no
|yes
|y
|t
|true
|on
|1        = yes
|#default = no

}}|yes| based on {{#if:|its|this}} TemplateData}}.

|#default=[1]{{#ifeq:{{safesubst:#switch: y
|no
|n
|f
|false
|off
|0        = no
|         = no
|¬        = no
|yes
|y
|t
|true
|on
|1        = yes
|#default = no

}}|yes| based on {{#if:|its|this}} TemplateData}} }}|This is the {{#if:|TemplateData|TemplateData}} for this template used by TemplateWizard, VisualEditor and other tools. {{#switch:

|=[https://bambots.brucemyers.com/TemplateParam.php?wiki=enwiki&template=%7B%7B%23if%3A%7C%7CDiv+col%7D%7D {{#ifeq:{{safesubst:#switch: {{{lc}}}
|no
|n
|f
|false
|off
|0        = no
|         = no
|¬        = no
|yes
|y
|t
|true
|on
|1        = yes
|#default = no

}}|no|C|c}}lick here] to see a monthly parameter usage report for {{#if:|[[Template:]]|this template}}{{#ifeq:{{safesubst:#switch: y

|no
|n
|f
|false
|off
|0        = no
|         = no
|¬        = no
|yes
|y
|t
|true
|on
|1        = yes
|#default = no

}}|yes| based on {{#if:|its|this}} TemplateData}}.

|None|none=[https://bambots.brucemyers.com/TemplateParam.php?wiki=enwiki&template=%7B%7B%23if%3A%7C%7CDiv+col%7D%7D {{#ifeq:{{safesubst:#switch: {{{lc}}}
|no
|n
|f
|false
|off
|0        = no
|         = no
|¬        = no
|yes
|y
|t
|true
|on
|1        = yes
|#default = no

}}|no|P|p}}arameter usage report]{{#ifeq:{{safesubst:#switch: y

|no
|n
|f
|false
|off
|0        = no
|         = no
|¬        = no
|yes
|y
|t
|true
|on
|1        = yes
|#default = no

}}|yes| based on {{#if:|its|this}} TemplateData}}

|for|For=[https://bambots.brucemyers.com/TemplateParam.php?wiki=enwiki&template=%7B%7B%23if%3A%7C%7CDiv+col%7D%7D {{#ifeq:{{safesubst:#switch: {{{lc}}}
|no
|n
|f
|false
|off
|0        = no
|         = no
|¬        = no
|yes
|y
|t
|true
|on
|1        = yes
|#default = no

}}|no|P|p}}arameter usage report] for {{#if:|[[Template:]]|Template:Div col}}{{#ifeq:{{safesubst:#switch: y

|no
|n
|f
|false
|off
|0        = no
|         = no
|¬        = no
|yes
|y
|t
|true
|on
|1        = yes
|#default = no

}}|yes| based on {{#if:|its|this}} TemplateData}}.

|#default=[2]{{#ifeq:{{safesubst:#switch: y
|no
|n
|f
|false
|off
|0        = no
|         = no
|¬        = no
|yes
|y
|t
|true
|on
|1        = yes
|#default = no

}}|yes| based on {{#if:|its|this}} TemplateData}} }}}}

TemplateData for Div col

{{#switch:

 {{#if:
 | {{{demospace}}}    
 | {{#ifeq:Template|Template
   | template
   | other
   }}
 }}

| template = {{#if:{{#ifeq:doc|sandbox|1}}{{#ifeq:doc|doc|1}}||

}} | other | #default = }} {{#switch: Div col |Div col=<templatedata> {

"description": "Breaks a list into columns. It automatically breaks each column to an equal space, so you do not manually have to find the half way point on two columns. The list is provided by |content= or closed with .",

"params": { "colwidth": { "label": "Column width", "description": "Specifies the width of columns, and determines dynamically the number of columns based on screen width; more columns will be shown on wider displays.", "type": "string", "example": "30em" }, "rules": { "label": "Rules", "description": "Produces vertical rules between the columns if set to yes.", "type": "string", "example": "'yes' or '1px dashed blue'" }, "gap": { "label": "Gap size", "description": "Specifies the space between the content of adjacent columns.", "type": "string", "example": "2em" }, "style": { "label": "CSS style", "description": "Specifies any custom styling.", "type": "string" }, "content": { "label": "Content", "description": "Specifies the content to divide into columns", "type": "string" }, "small": { "label": "Small font", "description": "Use a smaller font size (90%)", "example": "yes", "type": "string", "default": "no" } } } </templatedata> |Div col end=<templatedata> {

"description": "Ends a multi-column list started by

{{#if:|{{{content}}}

}}{{#ifeq:|yes|}}. It takes no parameters.",

   "params": {
   }

} </templatedata> }}