--- /dev/null
+<?php
+
+namespace Cubist\Util;
+
+use League\CommonMark\Environment\Environment;
+use League\CommonMark\Extension\Autolink\AutolinkExtension;
+use League\CommonMark\Extension\CommonMark\CommonMarkCoreExtension;
+use League\CommonMark\Extension\Table\TableExtension;
+use League\CommonMark\MarkdownConverter;
+
+class Markdown
+{
+ public static function toHTML($md, $images = true)
+ {
+ $config = [
+ 'table' => [
+ 'wrap' => [
+ 'enabled' => false,
+ 'tag' => 'div',
+ 'attributes' => [],
+ ],
+ 'alignment_attributes' => [
+ 'left' => ['align' => 'left'],
+ 'center' => ['align' => 'center'],
+ 'right' => ['align' => 'right'],
+ ],
+ ],
+ ];
+
+ $environment = new Environment($config);
+ $environment->addExtension(new CommonMarkCoreExtension());
+ $environment->addExtension(new TableExtension());
+ $environment->addExtension(new AutolinkExtension());
+
+ $converter = new MarkdownConverter($environment);
+
+ $h = $converter->convert($md)->getContent();
+ if (!$images) {
+ $h = preg_replace('/<p><img.*<\/p>/U', '', $h);
+ $h = str_replace("/\n+/", "\n", $h);
+ }
+ return $h;
+ }
+}
\ No newline at end of file