1<?php 2 3declare(strict_types=1); 4 5/* 6 * This file is part of the clockoon/dokuwiki-commonmark-plugin package. 7 * 8 * (c) Sungbin Jeon <clockoon@gmail.com> 9 * 10 * Original code based on the followings: 11 * - CommonMark JS reference parser (https://bitly.com/commonmark-js) (c) John MacFarlane 12 * - league/commonmark (https://github.com/thephpleague/commonmark) (c) Colin O'Dell <colinodell@gmail.com> 13 * - Commonmark Table extension (c) Martin Hasoň <martin.hason@gmail.com>, Webuni s.r.o. <info@webuni.cz>, Colin O'Dell <colinodell@gmail.com> 14 * 15 * For the full copyright and license information, please view the LICENSE 16 * file that was distributed with this source code. 17 */ 18 19namespace DokuWiki\Plugin\Commonmark\Extension\Renderer\Block; 20 21use League\CommonMark\Block\Element\AbstractBlock; 22use League\CommonMark\Block\Renderer\BlockRendererInterface; 23use League\CommonMark\ElementRendererInterface; 24use League\CommonMark\Extension\Table\TableSection; 25 26final class TableSectionRenderer implements BlockRendererInterface 27{ 28 public function render(AbstractBlock $block, ElementRendererInterface $DWRenderer, bool $inTightList = false) 29 { 30 if (!$block instanceof TableSection) { 31 throw new \InvalidArgumentException('Incompatible block type: ' . get_class($block)); 32 } 33 34 if (!$block->hasChildren()) { 35 return ''; 36 } 37 38 $result = $DWRenderer->renderBlocks($block->children()); 39 return $result; 40 41 } 42} 43