use BookStack\Facades\Theme;
use BookStack\Theming\ThemeEvents;
-use League\CommonMark\Block\Element\ListItem;
-use League\CommonMark\CommonMarkConverter;
-use League\CommonMark\Environment;
+use League\CommonMark\Environment\Environment;
+use League\CommonMark\Extension\CommonMark\CommonMarkCoreExtension;
+use League\CommonMark\Extension\CommonMark\Node\Block\ListItem;
use League\CommonMark\Extension\Table\TableExtension;
use League\CommonMark\Extension\TaskList\TaskListExtension;
+use League\CommonMark\MarkdownConverter;
class MarkdownToHtml
{
public function convert(): string
{
- $environment = Environment::createCommonMarkEnvironment();
+ $environment = new Environment();
+ $environment->addExtension(new CommonMarkCoreExtension());
$environment->addExtension(new TableExtension());
$environment->addExtension(new TaskListExtension());
$environment->addExtension(new CustomStrikeThroughExtension());
$environment = Theme::dispatch(ThemeEvents::COMMONMARK_ENVIRONMENT_CONFIGURE, $environment) ?? $environment;
- $converter = new CommonMarkConverter([], $environment);
+ $converter = new MarkdownConverter($environment);
- $environment->addBlockRenderer(ListItem::class, new CustomListItemRenderer(), 10);
+ $environment->addRenderer(ListItem::class, new CustomListItemRenderer(), 10);
- return $converter->convertToHtml($this->markdown);
+ return $converter->convert($this->markdown)->getContent();
}
}