diff options
Diffstat (limited to 'app/Factories')
| -rw-r--r-- | app/Factories/MarkdownFactory.php | 61 |
1 files changed, 24 insertions, 37 deletions
diff --git a/app/Factories/MarkdownFactory.php b/app/Factories/MarkdownFactory.php index 8e3994932a..3f3054d6c1 100644 --- a/app/Factories/MarkdownFactory.php +++ b/app/Factories/MarkdownFactory.php @@ -24,19 +24,17 @@ use Fisharebest\Webtrees\CommonMark\ResponsiveTableExtension; use Fisharebest\Webtrees\CommonMark\XrefExtension; use Fisharebest\Webtrees\Contracts\MarkdownFactoryInterface; use Fisharebest\Webtrees\Tree; -use League\CommonMark\Environment\Environment; +use League\CommonMark\Block\Element\Document; +use League\CommonMark\Block\Element\Paragraph; +use League\CommonMark\Block\Renderer\DocumentRenderer; +use League\CommonMark\Block\Renderer\ParagraphRenderer; +use League\CommonMark\CommonMarkConverter; +use League\CommonMark\Environment; use League\CommonMark\Extension\Autolink\AutolinkExtension; -use League\CommonMark\Extension\CommonMark\CommonMarkCoreExtension; -use League\CommonMark\Extension\CommonMark\Node\Inline\Link; -use League\CommonMark\Extension\CommonMark\Renderer\Inline\LinkRenderer; -use League\CommonMark\MarkdownConverter; -use League\CommonMark\Node\Block\Document; -use League\CommonMark\Node\Block\Paragraph; -use League\CommonMark\Node\Inline\Text; -use League\CommonMark\Renderer\Block\DocumentRenderer; -use League\CommonMark\Renderer\Block\ParagraphRenderer; -use League\CommonMark\Renderer\Inline\TextRenderer; -use League\CommonMark\Util\HtmlFilter; +use League\CommonMark\Inline\Element\Link; +use League\CommonMark\Inline\Element\Text; +use League\CommonMark\Inline\Renderer\LinkRenderer; +use League\CommonMark\Inline\Renderer\TextRenderer; /** * Create a markdown converter. @@ -45,22 +43,22 @@ class MarkdownFactory implements MarkdownFactoryInterface { protected const CONFIG = [ 'allow_unsafe_links' => false, - 'html_input' => HtmlFilter::ESCAPE, + 'html_input' => Environment::HTML_INPUT_ESCAPE, ]; /** * @param Tree|null $tree * - * @return MarkdownConverter + * @return CommonMarkConverter */ - public function autolink(Tree $tree = null): MarkdownConverter + public function autolink(Tree $tree = null): CommonMarkConverter { // Create a minimal commonmark processor - just add support for auto-links. - $environment = new Environment(static::CONFIG); - $environment->addRenderer(Document::class, new DocumentRenderer()); - $environment->addRenderer(Paragraph::class, new ParagraphRenderer()); - $environment->addRenderer(Text::class, new TextRenderer()); - $environment->addRenderer(Link::class, new LinkRenderer()); + $environment = new Environment(); + $environment->addBlockRenderer(Document::class, new DocumentRenderer()); + $environment->addBlockRenderer(Paragraph::class, new ParagraphRenderer()); + $environment->addInlineRenderer(Text::class, new TextRenderer()); + $environment->addInlineRenderer(Link::class, new LinkRenderer()); $environment->addExtension(new AutolinkExtension()); // Optionally create links to other records. @@ -68,19 +66,19 @@ class MarkdownFactory implements MarkdownFactoryInterface $environment->addExtension(new XrefExtension($tree)); } - return new MarkdownConverter($environment); + return new CommonMarkConverter(static::CONFIG, $environment); } /** * @param Tree|null $tree * - * @return MarkdownConverter + * @return CommonMarkConverter */ - public function markdown(Tree $tree = null): MarkdownConverter + public function markdown(Tree $tree = null): CommonMarkConverter { - $environment = $this->commonMarkEnvironment(); + $environment = Environment::createCommonMarkEnvironment(); - // Wrap tables to support horizontal scrolling with bootstrap. + // Wrap tables so support horizontal scrolling with bootstrap. $environment->addExtension(new ResponsiveTableExtension()); // Convert webtrees 1.x style census tables to commonmark format. @@ -91,17 +89,6 @@ class MarkdownFactory implements MarkdownFactoryInterface $environment->addExtension(new XrefExtension($tree)); } - return new MarkdownConverter($environment); - } - - /** - * @return Environment - */ - protected function commonMarkEnvironment(): Environment - { - $environment = new Environment(static::CONFIG); - $environment->addExtension(new CommonMarkCoreExtension()); - - return $environment; + return new CommonMarkConverter(static::CONFIG, $environment); } } |
