From 0c5ff656393f377ecbc4ef6c030d6779888a0df0 Mon Sep 17 00:00:00 2001 From: Ajay Bura <32841439+ajbura@users.noreply.github.com> Date: Tue, 4 Mar 2025 17:32:13 +1100 Subject: [PATCH] fix backslash inserted in links upon edit (#2246) * fix backslash appear in url with inline markdown sequences * fix markdown chars not escaping on edit --- src/app/plugins/markdown/inline/rules.ts | 1 + src/app/plugins/markdown/utils.ts | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/app/plugins/markdown/inline/rules.ts b/src/app/plugins/markdown/inline/rules.ts index bc76f60a..77bcbd57 100644 --- a/src/app/plugins/markdown/inline/rules.ts +++ b/src/app/plugins/markdown/inline/rules.ts @@ -112,6 +112,7 @@ export const LinkRule: InlineMDRule = { }; export const INLINE_SEQUENCE_SET = '[*_~`|]'; +export const CAP_INLINE_SEQ = `${URL_NEG_LB}${INLINE_SEQUENCE_SET}`; const ESC_SEQ_1 = `\\\\(${INLINE_SEQUENCE_SET})`; const ESC_REG_1 = new RegExp(`${URL_NEG_LB}${ESC_SEQ_1}`); export const EscapeRule: InlineMDRule = { diff --git a/src/app/plugins/markdown/utils.ts b/src/app/plugins/markdown/utils.ts index 5ebd958c..0038df13 100644 --- a/src/app/plugins/markdown/utils.ts +++ b/src/app/plugins/markdown/utils.ts @@ -1,6 +1,6 @@ import { findAndReplace } from '../../utils/findAndReplace'; import { ESC_BLOCK_SEQ, UN_ESC_BLOCK_SEQ } from './block/rules'; -import { EscapeRule, INLINE_SEQUENCE_SET } from './inline/rules'; +import { EscapeRule, CAP_INLINE_SEQ } from './inline/rules'; import { runInlineRule } from './inline/runner'; import { replaceMatch } from './internal'; @@ -27,7 +27,7 @@ export const unescapeMarkdownInlineSequences = (text: string): string => * @returns The plain-text with markdown escape sequences added (e.g., `"some \*italic\*"`) */ export const escapeMarkdownInlineSequences = (text: string): string => { - const regex = new RegExp(`(${INLINE_SEQUENCE_SET})`, 'g'); + const regex = new RegExp(`(${CAP_INLINE_SEQ})`, 'g'); const parts = findAndReplace( text, regex,