diff --git a/app/javascript/submission_form/markdown_content.vue b/app/javascript/submission_form/markdown_content.vue index f3df2d41..e136d143 100644 --- a/app/javascript/submission_form/markdown_content.vue +++ b/app/javascript/submission_form/markdown_content.vue @@ -51,7 +51,17 @@ export default { }, computed: { items () { - return snarkdown(this.string.replace(/(?')).split(htmlSplitRegexp) + 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 snarkdown(text.replace(/\n/g, '
')).split(htmlSplitRegexp) } }, methods: {