From 33e09bdc61b2746f60fb2ff0e4718a8eb8736edd Mon Sep 17 00:00:00 2001 From: christophboecker Date: Fri, 2 Oct 2020 22:48:31 +0200 Subject: [PATCH] markdown: setBreaksEnabled( ) einstellbar machen (#3885) --- .editorconfig | 1 + redaxo/src/core/lib/be/controller.php | 2 +- redaxo/src/core/lib/util/markdown.php | 8 ++++---- redaxo/src/core/pages/packages.php | 4 ++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.editorconfig b/.editorconfig index f2a39827de..b57e073ec8 100644 --- a/.editorconfig +++ b/.editorconfig @@ -12,6 +12,7 @@ indent_size = 4 [*.md] max_line_length = 80 +trim_trailing_whitespace = false [COMMIT_EDITMSG] max_line_length = 0 diff --git a/redaxo/src/core/lib/be/controller.php b/redaxo/src/core/lib/be/controller.php index c0c5146dcc..2cfea3c245 100644 --- a/redaxo/src/core/lib/be/controller.php +++ b/redaxo/src/core/lib/be/controller.php @@ -437,7 +437,7 @@ public static function includeCurrentPageSubPath(array $context = []) $path = $languagePath; } - [$toc, $content] = rex_markdown::factory()->parseWithToc(rex_file::get($path)); + [$toc, $content] = rex_markdown::factory()->parseWithToc(rex_file::get($path), 2, 3, false); $fragment = new rex_fragment(); $fragment->setVar('content', $content, false); $fragment->setVar('toc', $toc, false); diff --git a/redaxo/src/core/lib/util/markdown.php b/redaxo/src/core/lib/util/markdown.php index 5d5561f136..56690a2690 100644 --- a/redaxo/src/core/lib/util/markdown.php +++ b/redaxo/src/core/lib/util/markdown.php @@ -31,10 +31,10 @@ public static function factory() * * @return string HTML code */ - public function parse($code) + public function parse($code, bool $softLineBreaks = true) { $parser = new ParsedownExtra(); - $parser->setBreaksEnabled(true); + $parser->setBreaksEnabled($softLineBreaks); return rex_string::sanitizeHtml($parser->text($code)); } @@ -48,10 +48,10 @@ public function parse($code) * * @return array tupel of table-of-content and content */ - public function parseWithToc($code, $topLevel = 2, $bottomLevel = 3) + public function parseWithToc($code, $topLevel = 2, $bottomLevel = 3, bool $softLineBreaks = true) { $parser = new rex_parsedown_with_toc(); - $parser->setBreaksEnabled(true); + $parser->setBreaksEnabled($softLineBreaks); $parser->topLevel = $topLevel; $parser->bottomLevel = $bottomLevel; diff --git a/redaxo/src/core/pages/packages.php b/redaxo/src/core/pages/packages.php index 73d4d099a2..95ad9bbf71 100644 --- a/redaxo/src/core/pages/packages.php +++ b/redaxo/src/core/pages/packages.php @@ -26,13 +26,13 @@ $package->includeFile('help.php'); $content .= ob_get_clean(); } elseif (is_readable($package->getPath('README.'. rex_i18n::getLanguage() .'.md'))) { - [$readmeToc, $readmeContent] = rex_markdown::factory()->parseWithToc(rex_file::get($package->getPath('README.'. rex_i18n::getLanguage() .'.md'))); + [$readmeToc, $readmeContent] = rex_markdown::factory()->parseWithToc(rex_file::get($package->getPath('README.'. rex_i18n::getLanguage() .'.md')), 2, 3, false); $fragment = new rex_fragment(); $fragment->setVar('content', $readmeContent, false); $fragment->setVar('toc', $readmeToc, false); $content .= $fragment->parse('core/page/docs.php'); } elseif (is_readable($package->getPath('README.md'))) { - [$readmeToc, $readmeContent] = rex_markdown::factory()->parseWithToc(rex_file::get($package->getPath('README.md'))); + [$readmeToc, $readmeContent] = rex_markdown::factory()->parseWithToc(rex_file::get($package->getPath('README.md')), 2, 3, false); $fragment = new rex_fragment(); $fragment->setVar('content', $readmeContent, false); $fragment->setVar('toc', $readmeToc, false);