MMD6: Rendering bug with inline CSS

When rendered, this Markdown

<style>
:is(body) {
  background-color: pink;
}
</style>

A single line of text

should display a document with a single line of text on a pink background. It does not, however. The culprit trigger is the :is selector.

It makes the MMD renderer output the style element as

<dl>
<dt><style></dt>
<dd>is(body) {<br />
background-color: pink;<br />
}<br />
</style></dd>
</dl>

which is of course bollocks. Note that the DT renderer works just fine.

I suppose that the MMD6 renderer treats the :is as a metadata line. Which it should of course not do in the middle of a HTML element.

Everything is fine if I indent the :is with at least four spaces (two is not enough).

One can live without :is in CSS, but IMO the renderer shouldn’t even dare to look at what I put in my style element (or any other HTML element, for that matter).

Note The bug is gone from MMD7, which is still in alpha.

Thanks for the bug report! However, there are no plans to support future versions of MultiMarkdown and support for version 6 will only stay as long as necessary. DEVONthink 4.3.1 seems to have fixed all reported issues of our own parser so far.

Fair enough.

It looks like a definition list, triggered by starting a line with a colon:

Term
: First definition
: Second definition

Ah, that’s a better explanation. Anyway, it’s broken and won’t be fixed, which is fine by me. No use fixating on MMD6 – it’s already superseeded by version 7, and DT is dropping MMD altogether.