Simple container . ::: name content ::: .
Delimiters too short . :: name content :: .
Could contain block elements too . ::: name
::: .
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 .
Or in blockquotes .
::: name xxx
yyy zzz ::: .
List indentation quirks .
::: name xxx yyy :::
::: name xxx yyy ::: .