Viewing file: ChildRenderer.php (1.39 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* * This file is part of the league/commonmark package. * * (c) Colin O'Dell <colinodell@gmail.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */
namespace League\CommonMark\Extension\InlinesOnly;
use League\CommonMark\Block\Element\AbstractBlock; use League\CommonMark\Block\Element\Document; use League\CommonMark\Block\Element\InlineContainerInterface; use League\CommonMark\Block\Renderer\BlockRendererInterface; use League\CommonMark\ElementRendererInterface; use League\CommonMark\Inline\Element\AbstractInline;
/** * Simply renders child elements as-is, adding newlines as needed. */ final class ChildRenderer implements BlockRendererInterface { public function render(AbstractBlock $block, ElementRendererInterface $htmlRenderer, bool $inTightList = false) { $out = '';
if ($block instanceof InlineContainerInterface) { /** @var iterable<AbstractInline> $children */ $children = $block->children(); $out .= $htmlRenderer->renderInlines($children); } else { /** @var iterable<AbstractBlock> $children */ $children = $block->children(); $out .= $htmlRenderer->renderBlocks($children); }
if (!($block instanceof Document)) { $out .= "\n"; }
return $out; } }
|