executablebooks / MyST-Parser

An extended commonmark compliant parser, with bridges to docutils/sphinx
https://myst-parser.readthedocs.io
MIT License
759 stars 196 forks source link

Nested directives combined with colon fences do not parse YAML blocks correctly #963

Open iso2013 opened 3 months ago

iso2013 commented 3 months ago

What version of myst-parser are you using?

2.0.0

What version dependencies are you using?

docutils 0.20.1 sphinx 7.4.7

What operating system are you using?

Linux

Describe the Bug

When using this syntax:

::::{outer-directive}
:key: value
:::{inner-directive}
:::
::::

This warning message is displayed: WARNING: 'outer-directive': Invalid options format (bad YAML) [myst.directive_parse]

This is because the directives.py file from MyST parser determines the end of the YAML block solely by looking at which lines begin with a colon.

I have a proposed fix which I will open a PR for momentarily.

Expected Behavior

No response

To Reproduce

No response