From 8b771f06ea9d27ba5a755ada8859698502105698 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Haso=C5=88?= Date: Mon, 16 Nov 2015 11:26:21 +0100 Subject: [PATCH] Replaced Parsedown with CommonMark --- composer.json | 7 ++++--- src/Module/Markdown/config.php | 26 ++++++++++++++++++++++++-- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/composer.json b/composer.json index be56e453..32d5614b 100644 --- a/composer.json +++ b/composer.json @@ -22,10 +22,11 @@ "symfony/process": "~2.6", "symfony/yaml": "~2.6", "twig/twig": "~1.10", - "erusev/parsedown": "~1.5", - "erusev/parsedown-extra": "~0.7", + "league/commonmark": "~0.12", + "webuni/commonmark-table-extension": "~0.4", + "webuni/commonmark-attributes-extension": "~0.3", "phine/phar": "~1.0", - "mnapoli/front-yaml": "~1.5", + "mnapoli/front-yaml": "^1.5.1", "php-di/php-di": "~5.0", "psr/log": "~1.0" }, diff --git a/src/Module/Markdown/config.php b/src/Module/Markdown/config.php index 64c910e4..50612dbb 100644 --- a/src/Module/Markdown/config.php +++ b/src/Module/Markdown/config.php @@ -1,11 +1,33 @@ DI\object() ->constructorParameter('markdownParser', DI\get('Mni\FrontYAML\Markdown\MarkdownParser')), - 'Mni\FrontYAML\Markdown\MarkdownParser' => DI\object('Mni\FrontYAML\Bridge\Parsedown\ParsedownParser') - ->constructor(DI\get('ParsedownExtra')), + 'Mni\FrontYAML\Markdown\MarkdownParser' => DI\object('Mni\FrontYAML\Bridge\CommonMark\CommonMarkParser') + ->constructor(DI\get('League\CommonMark\Converter')), + + 'League\CommonMark\Converter' => DI\object() + ->constructor(DI\get('League\CommonMark\DocParser'), DI\get('League\CommonMark\HtmlRenderer')), + + 'League\CommonMark\DocParser' => DI\object() + ->constructor(DI\get('League\CommonMark\Environment')), + + 'League\CommonMark\HtmlRenderer' => DI\object() + ->constructor(DI\get('League\CommonMark\Environment')), + + 'League\CommonMark\Environment' => function (ContainerInterface $c) { + $env = \League\CommonMark\Environment::createCommonMarkEnvironment(); + $env->addExtension($c->get('Webuni\CommonMark\TableExtension\TableExtension')); + $env->addExtension($c->get('Webuni\CommonMark\AttributesExtension\AttributesExtension')); + + return $env; + }, + + 'Webuni\CommonMark\TableExtension\TableExtension' => DI\object(), + 'Webuni\CommonMark\AttributesExtension\AttributesExtension' => DI\object(), ];