/**
  * @param ListBlock $block
  * @param HtmlRendererInterface $htmlRenderer
  * @param bool $inTightList
  *
  * @return HtmlElement
  */
 public function render(AbstractBlock $block, HtmlRendererInterface $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 ? array() : array('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"));
 }
Esempio n. 2
0
 /**
  * @param Aside                 $block
  * @param HtmlRendererInterface $htmlRenderer
  * @param bool                  $inTightList
  *
  * @return HtmlElement
  */
 public function render(AbstractBlock $block, HtmlRendererInterface $htmlRenderer, $inTightList = false)
 {
     if (!$block instanceof Aside) {
         throw new \InvalidArgumentException('Incompatible block type: ' . get_class($block));
     }
     $filling = $htmlRenderer->renderBlocks($block->getChildren());
     if ($filling === '') {
         return new HtmlElement('aside', array(), $htmlRenderer->getOption('inner_separator'));
     }
     return new HtmlElement('aside', array(), $htmlRenderer->getOption('inner_separator', "\n") . $filling . $htmlRenderer->getOption('inner_separator', "\n"));
 }
Esempio n. 3
0
 /**
  * @param Newline $inline
  * @param HtmlRendererInterface $htmlRenderer
  *
  * @return HtmlElement|string
  */
 public function render(AbstractInline $inline, HtmlRendererInterface $htmlRenderer)
 {
     if (!$inline instanceof Newline) {
         throw new \InvalidArgumentException('Incompatible inline type: ' . get_class($inline));
     }
     if ($inline->getType() === Newline::HARDBREAK) {
         return new HtmlElement('br', [], '', true) . "\n";
     } else {
         return $htmlRenderer->getOption('soft_break', "\n");
     }
 }