From f26b87b9aeaafb021efdf6a492576dae2a0764e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Dufraisse?= Date: Wed, 22 Feb 2023 19:27:37 +0100 Subject: [PATCH 1/3] shore(composer): update parsedown --- composer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index b231861..6246aa6 100644 --- a/composer.json +++ b/composer.json @@ -35,8 +35,8 @@ "ext-mbstring": "*", "twig/twig": "^2.12", "symfony/yaml" : "^3.4", - "erusev/parsedown": "1.7.4", - "erusev/parsedown-extra": "0.8.1" + "erusev/parsedown": "^2.0.0-beta-1", + "erusev/parsedown-extra": "^2.0.0-beta-1" }, "suggest": { "picocms/pico-theme": "Pico requires a theme to actually display the contents of your website. This is Pico's official default theme.", From 107cb3fafec386b418c70fd6b869906c2b1921db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Dufraisse?= Date: Wed, 22 Feb 2023 19:40:18 +0100 Subject: [PATCH 2/3] fix(ParsedownExtra): update namespace --- lib/Pico.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/Pico.php b/lib/Pico.php index d3036d5..37057aa 100644 --- a/lib/Pico.php +++ b/lib/Pico.php @@ -42,6 +42,10 @@ * @license http://opensource.org/licenses/MIT The MIT License * @version 3.0 */ + +use Erusev\Parsedown\Parsedown; +use Erusev\ParsedownExtra\ParsedownExtra; + class Pico { /** @@ -1561,7 +1565,7 @@ class Pico public function getParsedown() { if ($this->parsedown === null) { - $className = $this->config['content_config']['extra'] ? 'ParsedownExtra' : 'Parsedown'; + $className = $this->config['content_config']['extra'] ? ParsedownExtra::class : Parsedown::class; $this->parsedown = new $className(); $this->parsedown->setBreaksEnabled((bool) $this->config['content_config']['breaks']); From fca0c92b606ed2351445cb045688214da04abb31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Dufraisse?= Date: Mon, 27 Feb 2023 09:06:39 +0100 Subject: [PATCH 3/3] fix(Pico): call to new parsedown --- lib/Pico.php | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/lib/Pico.php b/lib/Pico.php index 37057aa..0bab820 100644 --- a/lib/Pico.php +++ b/lib/Pico.php @@ -43,7 +43,9 @@ * @version 3.0 */ +use Erusev\Parsedown\Configurables\Breaks; use Erusev\Parsedown\Parsedown; +use Erusev\Parsedown\State; use Erusev\ParsedownExtra\ParsedownExtra; class Pico @@ -1565,12 +1567,13 @@ class Pico public function getParsedown() { if ($this->parsedown === null) { - $className = $this->config['content_config']['extra'] ? ParsedownExtra::class : Parsedown::class; - $this->parsedown = new $className(); - - $this->parsedown->setBreaksEnabled((bool) $this->config['content_config']['breaks']); - $this->parsedown->setMarkupEscaped((bool) $this->config['content_config']['escape']); - $this->parsedown->setUrlsLinked((bool) $this->config['content_config']['auto_urls']); + $state = new State([ + new Breaks((bool) $this->config['content_config']['breaks']) + ]); + if ($this->config['content_config']['extra']){ + $state = new ParsedownExtra($state); + } + $this->parsedown = new Parsedown($state); $this->triggerEvent('onParsedownRegistered', array(&$this->parsedown)); } @@ -1670,14 +1673,13 @@ class Pico * @see Pico::getFileContent() * * @param string $markdown Markdown contents of a page - * @param bool $singleLine whether to parse just a single line of markup * * @return string parsed contents (HTML) */ - public function parseFileContent($markdown, $singleLine = false) + public function parseFileContent($markdown) { $markdownParser = $this->getParsedown(); - return !$singleLine ? @$markdownParser->text($markdown) : @$markdownParser->line($markdown); + return @$markdownParser->toHtml($markdown); } /**