From a648625700f525e15bbbaa137b0217b9462a7022 Mon Sep 17 00:00:00 2001 From: Tom Moor Date: Thu, 21 Mar 2024 20:40:36 -0400 Subject: [PATCH] fix: Trailing slash on exported markdown files closes #6672 --- shared/utils/MarkdownHelper.test.ts | 18 ++++++++++++++++++ shared/utils/MarkdownHelper.ts | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 shared/utils/MarkdownHelper.test.ts diff --git a/shared/utils/MarkdownHelper.test.ts b/shared/utils/MarkdownHelper.test.ts new file mode 100644 index 000000000..24713a4c7 --- /dev/null +++ b/shared/utils/MarkdownHelper.test.ts @@ -0,0 +1,18 @@ +import MarkdownHelper from "./MarkdownHelper"; + +describe("#MarkdownHelper", () => { + it("should serialize title and text", () => { + expect(MarkdownHelper.toMarkdown({ title: "Title", text: "Test" })).toEqual( + "# Title\n\nTest" + ); + }); + + it("should trim backslashes", () => { + expect( + MarkdownHelper.toMarkdown({ + title: "Title", + text: "One\n\\\nTest\n\\", + }) + ).toEqual("# Title\n\nOne\n\nTest"); + }); +}); diff --git a/shared/utils/MarkdownHelper.ts b/shared/utils/MarkdownHelper.ts index b40edfdda..d7167487b 100644 --- a/shared/utils/MarkdownHelper.ts +++ b/shared/utils/MarkdownHelper.ts @@ -13,7 +13,7 @@ export default class MarkdownHelper { */ static toMarkdown(document: DocumentInterface) { const text = document.text - .replace(/\n\\\n/g, "\n\n") + .replace(/\n\\(\n|$)/g, "\n\n") .replace(/“/g, '"') .replace(/”/g, '"') .replace(/‘/g, "'")