columns

14 cases. Source: tests/columns.json.

#1 canonical

Source

::::columns{ratio="2:1"}
The main argument, at full paragraph length.

::col

:::card{tone=neutral}
A supporting sidebar.
:::
::::

Rendered

The main argument, at full paragraph length.

A supporting sidebar.

Downgrade

The main argument, at full paragraph length.

A supporting sidebar.

#2 three equal columns

Source

:::columns
A

::col

B

::col

C
:::

Rendered

A

B

C

Downgrade

A

B

C

#3 three-term ratio and gap

Source

:::columns{ratio=1:2:1 gap=sm}
A

::col

B

::col

C
:::

Rendered

A

B

C

Downgrade

A

B

C

#4 id and classes on the separator

Source

:::columns
A

::col{#side .narrow}

B
:::

Rendered

A

B

Downgrade

A

B

#5 empty columns

Source

:::columns
A

::col

::col

C
:::

Rendered

A

C

Downgrade

A

C

#6 nested inside a card

Source

:::::card
::::columns
A

::col

:::card
B
:::
::::
:::::

Rendered

A

B

Downgrade

A

B

#7 empty content is a single empty column

Source

:::columns
:::

Rendered

Downgrade

(empty)

Diagnostics: COLUMNS_SINGLE

#8 single column warns

Source

:::columns
A
:::

Rendered

A

Downgrade

A

Diagnostics: COLUMNS_SINGLE

#9 unknown attribute on a separator warns

Source

:::columns
A

::col{width=50}

B
:::

Rendered

A

B

Downgrade

A

B

Diagnostics: DIRECTIVE_UNKNOWN_ATTRIBUTE

#10 unclosed fence

Source

:::columns
A

::col

B

Rendered

A

B

Downgrade

A

B

Diagnostics: DIRECTIVE_UNCLOSED

#11 ratio term count must match the columns

invalid

Source

:::columns{ratio=1:1:1}
A

::col

B
:::

Rendered

A

B

Downgrade

A

B

Diagnostics: COLUMNS_RATIO_MISMATCH

#12 malformed ratio

invalid

Source

:::columns{ratio=2/1}
A

::col

B
:::

Rendered

A

B

Downgrade

A

B

Diagnostics: DIRECTIVE_INVALID_ATTRIBUTE

#13 ratio terms must be positive

invalid

Source

:::columns{ratio=0:1}
A

::col

B
:::

Rendered

A

B

Downgrade

A

B

Diagnostics: DIRECTIVE_INVALID_ATTRIBUTE

#14 invalid gap

invalid

Source

:::columns{gap=huge}
A

::col

B
:::

Rendered

A

B

Downgrade

A

B

Diagnostics: DIRECTIVE_INVALID_ATTRIBUTE