]> BookStack Code Mirror - bookstack/blobdiff - app/Entities/Tools/Markdown/CustomStrikethroughRenderer.php
added routes for zip export
[bookstack] / app / Entities / Tools / Markdown / CustomStrikethroughRenderer.php
index 4371fb84ce8292a18d844d44d439f6729f0a6cb0..01b09377bb768913dfce09eaf806462fff695c6a 100644 (file)
@@ -1,24 +1,24 @@
-<?php namespace BookStack\Entities\Tools\Markdown;
+<?php
+
+namespace BookStack\Entities\Tools\Markdown;
 
-use League\CommonMark\ElementRendererInterface;
 use League\CommonMark\Extension\Strikethrough\Strikethrough;
-use League\CommonMark\HtmlElement;
-use League\CommonMark\Inline\Element\AbstractInline;
-use League\CommonMark\Inline\Renderer\InlineRendererInterface;
+use League\CommonMark\Node\Node;
+use League\CommonMark\Renderer\ChildNodeRendererInterface;
+use League\CommonMark\Renderer\NodeRendererInterface;
+use League\CommonMark\Util\HtmlElement;
 
 /**
  * This is a somewhat clone of the League\CommonMark\Extension\Strikethrough\StrikethroughRender
  * class but modified slightly to use <s> HTML tags instead of <del> in order to
  * match front-end markdown-it rendering.
  */
-class CustomStrikethroughRenderer implements InlineRendererInterface
+class CustomStrikethroughRenderer implements NodeRendererInterface
 {
-    public function render(AbstractInline $inline, ElementRendererInterface $htmlRenderer)
+    public function render(Node $node, ChildNodeRendererInterface $childRenderer)
     {
-        if (!($inline instanceof Strikethrough)) {
-            throw new \InvalidArgumentException('Incompatible inline type: ' . get_class($inline));
-        }
+        Strikethrough::assertInstanceOf($node);
 
-        return new HtmlElement('s', $inline->getData('attributes', []), $htmlRenderer->renderInlines($inline->children()));
+        return new HtmlElement('s', $node->data->get('attributes'), $childRenderer->renderNodes($node->children()));
     }
-}
\ No newline at end of file
+}