erusev / parsedown-extra

Markdown Extra Extension for Parsedown
MIT License
822 stars 124 forks source link

Html entity < escaped in code block if inside html container #183

Open samuelgfeller opened 3 months ago

samuelgfeller commented 3 months ago

There is a weird escaping going on in certain cases in code blocks that are inside html tags with markdown="1" In reality I'm using a <details markdown="1"> tag as container but will use a <p> for the demonstration.

I have set

$markdownParser->setMarkupEscaped(false);

Steps to reproduce

  1. Feed this code to parsedown extra v.0.8.1: https://pastebin.com/V9v2mtnk
    $output = $ParsedownExtra->text($markdownCodeFromPastebin);
    echo $output;
  2. Have a look at the generated HTML

Actual result

< converted to &lt; sometimes

The following:

image

results to this: image

Expected result

The code inside a markdown code block should not be escaped as it's expected to be code.

Edit

If I remove the markdown="1" from the p tag the markdown is taken literally as html which I don't understand if this comment meant that markdown inside html tags are supposed to work even without the markdown="1" addition, just like github for instance. image

If I remove the html parent block, the markdown code block is interpreted correctly:

image