Simple container . ::: name content ::: .

Delimiters too short . :: name content :: .

Could contain block elements too . ::: name

heading


::: .

Ending marker could be longer . ::::: name ::::: hello world :::::::::::::::: .

Nested blocks . ::::: name :::: name xxx :::: ::::: .

Incorrectly nested blocks . :::: name this block is closed with 5 markers below

::::: name auto-closed block

::::: :::: .

Marker could be indented up to 3 spaces . ::: name content ::: ::: .

But that's a code block . ::: name content ::: .

.

Some more indent checks . ::: name not a code block

code block

::: .

Name could be adjacent to marker . :::name xxx ::: .

Or several spaces apart . ::: name xxx ::: .

It could contain params . ::: name arg=123 foo=456 xxx ::: .

But closing marker can't . ::: name xxx ::: arg=123 .

This however isn't a valid one . ::: namename xxx ::: .

Containers self-close at the end of the document . ::: name xxx .

They should terminate paragraphs . blah blah ::: name content ::: .

They could be nested in lists .

  • ::: name
    • xxx ::: .

Or in blockquotes .

::: name xxx

yyy zzz ::: .

List indentation quirks .

  • ::: name xxx yyy :::

  • ::: name xxx yyy ::: .