From 058f24bd7cd46b6986893da931d93422998f5dee Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 4 Sep 2024 11:39:38 +0200 Subject: [PATCH] [#56779] Allow empty lines https://community.openproject.org/work_packages/56779 --- src/commonmark/commonmarkdataprocessor.js | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/commonmark/commonmarkdataprocessor.js b/src/commonmark/commonmarkdataprocessor.js index f3c9a21..feea657 100644 --- a/src/commonmark/commonmarkdataprocessor.js +++ b/src/commonmark/commonmarkdataprocessor.js @@ -155,9 +155,13 @@ export default class CommonMarkDataProcessor { return node.nodeName === 'FIGURE' && tables.length; }, replacement: function (_content, node) { - // Remove filler nodes - node.querySelectorAll('td br[data-cke-filler]') - .forEach((node) => node.remove()); + node.querySelectorAll('td p.op-uc-p') + .forEach((node) => { + if (node.childNodes.length === 0) { + node.parentElement.insertBefore(document.createElement("br"), node); + node.remove(); + } + }); return node.outerHTML; } @@ -189,6 +193,15 @@ export default class CommonMarkDataProcessor { replacement: ( _content, node ) => node.outerHTML, }); + turndownService.addRule( 'emptyLines', { + filter: (node) => { + console.log(node); + return (node.nodeName === 'BR') || + (node.nodeName === 'P' && node.childNodes.length === 1 && node.childNodes[0].nodeName === 'BR'); + }, + replacement: ( _content, node ) => "
", + }); + let turndown = turndownService.turndown( domFragment ); // Escape non-breaking space characters return turndown.replace(/\u00A0/, ' ');