/** * @param AbstractBlock|Document $block * @param ElementRendererInterface $htmlRenderer * @param bool $inTightList * * @return string */ public function render(AbstractBlock $block, ElementRendererInterface $htmlRenderer, $inTightList = false) { if (!$block instanceof Document) { throw new \InvalidArgumentException('Incompatible block type: ' . get_class($block)); } $wholeDoc = $htmlRenderer->renderBlocks($block->children()); return $wholeDoc === '' ? '' : $wholeDoc . "\n"; }
/** * @param ListBlock $block * @param ElementRendererInterface $htmlRenderer * @param bool $inTightList * * @return HtmlElement */ public function render(AbstractBlock $block, ElementRendererInterface $htmlRenderer, $inTightList = false) { if (!$block instanceof ListBlock) { throw new \InvalidArgumentException('Incompatible block type: ' . get_class($block)); } $listData = $block->getListData(); $tag = $listData->type === ListBlock::TYPE_UNORDERED ? 'ul' : 'ol'; $attr = $listData->start === null || $listData->start === 1 ? [] : ['start' => (string) $listData->start]; return new HtmlElement($tag, $attr, $htmlRenderer->getOption('inner_separator', "\n") . $htmlRenderer->renderBlocks($block->getChildren(), $block->isTight()) . $htmlRenderer->getOption('inner_separator', "\n")); }
/** * @param BlockQuote $block * @param ElementRendererInterface $htmlRenderer * @param bool $inTightList * * @return HtmlElement */ public function render(AbstractBlock $block, ElementRendererInterface $htmlRenderer, $inTightList = false) { if (!$block instanceof BlockQuote) { throw new \InvalidArgumentException('Incompatible block type: ' . get_class($block)); } $filling = $htmlRenderer->renderBlocks($block->getChildren()); if ($filling === '') { return new HtmlElement('blockquote', [], $htmlRenderer->getOption('inner_separator', "\n")); } return new HtmlElement('blockquote', [], $htmlRenderer->getOption('inner_separator', "\n") . $filling . $htmlRenderer->getOption('inner_separator', "\n")); }
public function render(AbstractBlock $block, ElementRendererInterface $htmlRenderer, $inTightList = false) { if (!$block instanceof TableRow) { throw new \InvalidArgumentException('Incompatible block type: ' . get_class($block)); } $attrs = []; foreach ($block->getData('attributes', []) as $key => $value) { $attrs[$key] = $htmlRenderer->escape($value, true); } $separator = $htmlRenderer->getOption('inner_separator', "\n"); return new HtmlElement('tr', $attrs, $separator . $htmlRenderer->renderBlocks($block->children()) . $separator); }
/** * @param ListItem $block * @param ElementRendererInterface $htmlRenderer * @param bool $inTightList * * @return string */ public function render(AbstractBlock $block, ElementRendererInterface $htmlRenderer, $inTightList = false) { if (!$block instanceof ListItem) { throw new \InvalidArgumentException('Incompatible block type: ' . get_class($block)); } $contents = $htmlRenderer->renderBlocks($block->getChildren(), $inTightList); if (substr($contents, 0, 1) === '<') { $contents = "\n" . $contents; } if (substr($contents, -1, 1) === '>') { $contents .= "\n"; } $li = new HtmlElement('li', [], $contents); return trim($li); }
/** * @param ListBlock $block * @param ElementRendererInterface $htmlRenderer * @param bool $inTightList * * @return HtmlElement */ public function render(AbstractBlock $block, ElementRendererInterface $htmlRenderer, $inTightList = false) { if (!$block instanceof ListBlock) { throw new \InvalidArgumentException('Incompatible block type: ' . get_class($block)); } $listData = $block->getListData(); $tag = $listData->type === ListBlock::TYPE_UNORDERED ? 'ul' : 'ol'; $attrs = []; foreach ($block->getData('attributes', []) as $key => $value) { $attrs[$key] = $htmlRenderer->escape($value, true); } if ($listData->start !== null && $listData->start !== 1) { $attrs['start'] = (string) $listData->start; } return new HtmlElement($tag, $attrs, $htmlRenderer->getOption('inner_separator', "\n") . $htmlRenderer->renderBlocks($block->getChildren(), $block->isTight()) . $htmlRenderer->getOption('inner_separator', "\n")); }
/** * @param ListItem $block * @param ElementRendererInterface $htmlRenderer * @param bool $inTightList * * @return string */ public function render(AbstractBlock $block, ElementRendererInterface $htmlRenderer, $inTightList = false) { if (!$block instanceof ListItem) { throw new \InvalidArgumentException('Incompatible block type: ' . get_class($block)); } $contents = $htmlRenderer->renderBlocks($block->children(), $inTightList); if (substr($contents, 0, 1) === '<') { $contents = "\n" . $contents; } if (substr($contents, -1, 1) === '>') { $contents .= "\n"; } $attrs = []; foreach ($block->getData('attributes', []) as $key => $value) { $attrs[$key] = $htmlRenderer->escape($value, true); } $li = new HtmlElement('li', $attrs, $contents); return $li; }
public function render(AbstractBlock $block, ElementRendererInterface $htmlRenderer, $inTightList = false) { return $htmlRenderer->renderBlocks($block->children()); }