diff --git a/src/utils/handle-content-links.js b/src/utils/handle-content-links.js index 33f0e795..af17d618 100644 --- a/src/utils/handle-content-links.js +++ b/src/utils/handle-content-links.js @@ -6,7 +6,9 @@ function handleContentLinks(opts) { let { target } = e; target = target.closest('a'); if (!target) return; - if (target.classList.contains('u-url')) { + const prevText = target.previousSibling?.textContent; + const textBeforeLinkIsAt = prevText?.endsWith('@'); + if (target.classList.contains('u-url') || textBeforeLinkIsAt) { const targetText = ( target.querySelector('span') || target ).innerText.trim(); @@ -36,7 +38,8 @@ function handleContentLinks(opts) { }; } } else if (!previewMode) { - if (target.classList.contains('hashtag')) { + const textBeforeLinkIsHash = prevText?.endsWith('#'); + if (target.classList.contains('hashtag') || textBeforeLinkIsHash) { e.preventDefault(); e.stopPropagation(); const tag = target.innerText.replace(/^#/, '').trim();