Match CommonMark's rendering a bit better

This commit is contained in:
Aidan Woods 2019-01-27 18:08:57 +00:00
parent 2e0ad27c5e
commit eab734b457
No known key found for this signature in database
GPG Key ID: 9A6A8EFAA512BBB9
2 changed files with 23 additions and 17 deletions

View File

@ -195,25 +195,25 @@ final class Element implements Renderable
if ($this->Contents !== null) { if ($this->Contents !== null) {
$html .= '>'; $html .= '>';
$First = \reset($this->Contents);
if (
$First instanceof Element
&& ! \array_key_exists(\strtolower($First->name()), self::$TEXT_LEVEL_ELEMENTS)
) {
$html .= "\n";
}
if (! empty($this->Contents)) { if (! empty($this->Contents)) {
foreach ($this->Contents as $C) { foreach ($this->Contents as $C) {
$html .= $C->getHtml();
if ( if (
$C instanceof Element $C instanceof Element
&& ! \array_key_exists(\strtolower($C->name()), self::$TEXT_LEVEL_ELEMENTS) && ! \array_key_exists(\strtolower($C->name()), self::$TEXT_LEVEL_ELEMENTS)
) { ) {
$html .= "\n"; $html .= "\n";
} }
$html .= $C->getHtml();
}
$Last = \end($this->Contents);
if (
$Last instanceof Element
&& ! \array_key_exists(\strtolower($Last->name()), self::$TEXT_LEVEL_ELEMENTS)
) {
$html .= "\n";
} }
} }

View File

@ -1,6 +1,8 @@
<ul> <ul>
<li>li<ul> <li>li
<li>li<ul> <ul>
<li>li
<ul>
<li>li</li> <li>li</li>
<li>li</li> <li>li</li>
</ul> </ul>
@ -12,10 +14,14 @@
</ul> </ul>
<hr /> <hr />
<ul> <ul>
<li>level 1<ul> <li>level 1
<li>level 2<ul> <ul>
<li>level 3<ul> <li>level 2
<li>level 4<ul> <ul>
<li>level 3
<ul>
<li>level 4
<ul>
<li>level 5</li> <li>level 5</li>
</ul> </ul>
</li> </li>