From 6542804f44d95a7d0e76f1da1670aa88af3ba310 Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Wed, 27 Aug 2025 22:01:49 +0300 Subject: [PATCH] fix markdown --- app/javascript/submission_form/markdown_content.vue | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/javascript/submission_form/markdown_content.vue b/app/javascript/submission_form/markdown_content.vue index f28b85ef..91cd3a80 100644 --- a/app/javascript/submission_form/markdown_content.vue +++ b/app/javascript/submission_form/markdown_content.vue @@ -60,7 +60,15 @@ export default { return ['UL', 'I', 'EM', 'B', 'STRONG', 'P'] }, dom () { - const text = this.string.replace(/(? `[${url}](${url})`) + const linkParts = this.string.split(/(https?:\/\/[^\s)]+)/g) + + const text = linkParts.map((part, index) => { + if (part.match(/^https?:\/\//) && !linkParts[index - 1]?.match(/\(\s*$/) && !linkParts[index + 1]?.match(/^\s*\)/)) { + return `[${part}](${part})` + } else { + return part + } + }).join('') return new DOMParser().parseFromString(snarkdown(text.replace(/\n/g, '
')), 'text/html') }