1
0
mirror of https://github.com/erusev/parsedown.git synced 2023-08-10 21:13:06 +03:00

Merge pull request #576 from aidantwoods/enhancement/moar-ast

Produce AST prior to render
This commit is contained in:
Aidan Woods
2018-03-31 23:11:45 +01:00
committed by GitHub
3 changed files with 254 additions and 138 deletions

View File

@@ -4,15 +4,15 @@ class UnsafeExtension extends Parsedown
{
protected function blockFencedCodeComplete($Block)
{
$text = $Block['element']['text']['text'];
unset($Block['element']['text']['text']);
$text = $Block['element']['element']['text'];
unset($Block['element']['element']['text']);
// WARNING: There is almost always a better way of doing things!
//
// This example is one of them, unsafe behaviour is NOT needed here.
// Only use this if you trust the input and have no idea what
// the output HTML will look like (e.g. using an external parser).
$Block['element']['text']['rawHtml'] = "<p>$text</p>";
$Block['element']['element']['rawHtml'] = "<p>$text</p>";
return $Block;
}
@@ -23,8 +23,8 @@ class TrustDelegatedExtension extends Parsedown
{
protected function blockFencedCodeComplete($Block)
{
$text = $Block['element']['text']['text'];
unset($Block['element']['text']['text']);
$text = $Block['element']['element']['text'];
unset($Block['element']['element']['text']);
// WARNING: There is almost always a better way of doing things!
//
@@ -32,8 +32,8 @@ class TrustDelegatedExtension extends Parsedown
// Only use this if you are sure that the result being added into
// rawHtml is safe.
// (e.g. using an external parser with escaping capabilities).
$Block['element']['text']['rawHtml'] = "<p>$text</p>";
$Block['element']['text']['allowRawHtmlInSafeMode'] = true;
$Block['element']['element']['rawHtml'] = "<p>$text</p>";
$Block['element']['element']['allowRawHtmlInSafeMode'] = true;
return $Block;
}

View File

@@ -1,30 +1,30 @@
<ul>
<li>li
<ul>
<li>li
<ul>
<li>li<ul>
<li>li<ul>
<li>li</li>
<li>li</li>
</ul></li>
</ul>
</li>
<li>li</li>
</ul></li>
</ul>
</li>
<li>li</li>
</ul>
<hr />
<ul>
<li>level 1
<ul>
<li>level 2
<ul>
<li>level 3
<ul>
<li>level 4
<ul>
<li>level 1<ul>
<li>level 2<ul>
<li>level 3<ul>
<li>level 4<ul>
<li>level 5</li>
</ul></li>
</ul></li>
</ul></li>
</ul></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<hr />
<ul>