From f786690f1e91ec99799c1ca530ba40a7d0509543 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Thu, 1 Feb 2024 15:58:10 +0200 Subject: [PATCH 1/2] markdown fix --- client/src/view-helper.js | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/client/src/view-helper.js b/client/src/view-helper.js index 2be1c445a9..d4d54343f0 100644 --- a/client/src/view-helper.js +++ b/client/src/view-helper.js @@ -42,16 +42,18 @@ class ViewHelper { /** @private */ this.mdBeforeList = [ - { - regex: /```\n?([\s\S]*?)```/g, + /*{ + regex: /```\n?([\s\S]*?)```/g, value: (s, string) => { - return '```\n' + string + '```'; + return '```\n' + string.replace(/\\\>/g, '>') + '```'; }, - }, + },*/ { - regex: /`([\s\S]*?)`/g, + // Also covers triple-backtick blocks. + regex: /`([\s\S]*?)`/g, value: (s, string) => { - return '`' + string + '`'; + // noinspection RegExpRedundantEscape + return '`' + string.replace(/\\\>/g, '>') + '`'; }, }, ]; @@ -689,7 +691,8 @@ class ViewHelper { transformMarkdownText(text, options) { text = text || ''; - text = Handlebars.Utils.escapeExpression(text).replace(/>+/g, '>'); + // noinspection RegExpRedundantEscape + text = text.replace(/\>/g, '\\>'); this.mdBeforeList.forEach(item => { text = text.replace(item.regex, item.value); @@ -697,12 +700,9 @@ class ViewHelper { options = options || {}; - if (options.inline) { - text = marked.parseInline(text); - } - else { - text = marked.parse(text); - } + text = options.inline ? + marked.parseInline(text) : + marked.parse(text); text = DOMPurify.sanitize(text, {}).toString(); From aced5fcab91acf947f0241472109a9ca23a4e47a Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Thu, 1 Feb 2024 16:14:48 +0200 Subject: [PATCH 2/2] 8.1.3 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index a2b881a95b..e7685cd0e4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "espocrm", - "version": "8.1.2", + "version": "8.1.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "espocrm", - "version": "8.1.2", + "version": "8.1.3", "hasInstallScript": true, "license": "AGPL-3.0-or-later", "dependencies": { diff --git a/package.json b/package.json index f65468239a..543fbf4277 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "espocrm", - "version": "8.1.2", + "version": "8.1.3", "description": "Open-source CRM.", "repository": { "type": "git",