From 17e5f438021b6bd68b5be48f350bcfdb6720de1b Mon Sep 17 00:00:00 2001 From: Colin O'Dell Date: Thu, 8 Jul 2021 11:41:10 -0400 Subject: [PATCH] Add support for both CommonMark 1.x and 2.x --- composer.json | 2 +- src/Illuminate/Mail/Markdown.php | 11 ++++------- src/Illuminate/Mail/composer.json | 2 +- src/Illuminate/Support/Str.php | 2 +- src/Illuminate/Support/composer.json | 2 +- 5 files changed, 8 insertions(+), 11 deletions(-) diff --git a/composer.json b/composer.json index 8c463a41e65b..38674f54fd46 100644 --- a/composer.json +++ b/composer.json @@ -22,7 +22,7 @@ "doctrine/inflector": "^1.4|^2.0", "dragonmantank/cron-expression": "^3.0.2", "egulias/email-validator": "^2.1.10", - "league/commonmark": "^1.3", + "league/commonmark": "^1.3|^2.0", "league/flysystem": "^1.1", "monolog/monolog": "^2.0", "nesbot/carbon": "^2.31", diff --git a/src/Illuminate/Mail/Markdown.php b/src/Illuminate/Mail/Markdown.php index 9a1706d383b1..9bd083605c60 100644 --- a/src/Illuminate/Mail/Markdown.php +++ b/src/Illuminate/Mail/Markdown.php @@ -6,7 +6,6 @@ use Illuminate\Support\HtmlString; use Illuminate\Support\Str; use League\CommonMark\CommonMarkConverter; -use League\CommonMark\Environment; use League\CommonMark\Extension\Table\TableExtension; use TijsVerkoyen\CssToInlineStyles\CssToInlineStyles; @@ -104,15 +103,13 @@ public function renderText($view, array $data = []) */ public static function parse($text) { - $environment = Environment::createCommonMarkEnvironment(); - - $environment->addExtension(new TableExtension); - $converter = new CommonMarkConverter([ 'allow_unsafe_links' => false, - ], $environment); + ]); + + $converter->getEnvironment()->addExtension(new TableExtension()); - return new HtmlString($converter->convertToHtml($text)); + return new HtmlString((string) $converter->convertToHtml($text)); } /** diff --git a/src/Illuminate/Mail/composer.json b/src/Illuminate/Mail/composer.json index 433271509886..98dd9bc144bb 100755 --- a/src/Illuminate/Mail/composer.json +++ b/src/Illuminate/Mail/composer.json @@ -21,7 +21,7 @@ "illuminate/contracts": "^8.0", "illuminate/macroable": "^8.0", "illuminate/support": "^8.0", - "league/commonmark": "^1.3", + "league/commonmark": "^1.3|^2.0", "psr/log": "^1.0", "swiftmailer/swiftmailer": "^6.0", "tijsverkoyen/css-to-inline-styles": "^2.2.2" diff --git a/src/Illuminate/Support/Str.php b/src/Illuminate/Support/Str.php index 355998801b54..f1ab26d383f2 100644 --- a/src/Illuminate/Support/Str.php +++ b/src/Illuminate/Support/Str.php @@ -391,7 +391,7 @@ public static function markdown($string, array $options = []) { $converter = new GithubFlavoredMarkdownConverter($options); - return $converter->convertToHtml($string); + return (string) $converter->convertToHtml($string); } /** diff --git a/src/Illuminate/Support/composer.json b/src/Illuminate/Support/composer.json index 657c625c5eb3..4493dac3dab4 100644 --- a/src/Illuminate/Support/composer.json +++ b/src/Illuminate/Support/composer.json @@ -42,7 +42,7 @@ }, "suggest": { "illuminate/filesystem": "Required to use the composer class (^8.0).", - "league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^1.3).", + "league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^1.3|^2.0).", "ramsey/uuid": "Required to use Str::uuid() (^4.0).", "symfony/process": "Required to use the composer class (^5.1.4).", "symfony/var-dumper": "Required to use the dd function (^5.1.4).",