diff --git a/web/js/damus.js b/web/js/damus.js index 0f8856a..dbf1aa6 100644 --- a/web/js/damus.js +++ b/web/js/damus.js @@ -1033,24 +1033,28 @@ function is_video_url(path) { return VID_REGEX.test(path) } -const URL_REGEX = /(https?:\/\/[^\s]+)[,:)]?(\w|$)/g; +const URL_REGEX = /(^|\s)(https?:\/\/[^\s]+)[,:)]?(\w|$)/g; function linkify(text, show_media) { - return text.replace(URL_REGEX, function(url) { + return text.replace(URL_REGEX, function(match, p1, p2, p3) { + const url = p2 const parsed = new URL(url) - if (show_media && is_img_url(parsed.pathname)) - return ` + let html; + if (show_media && is_img_url(parsed.pathname)) { + html = ` `; - else if (show_media && is_video_url(parsed.pathname)) - return ` + } else if (show_media && is_video_url(parsed.pathname)) { + html = ` `; - else - return `${url}`; + } else { + html = `${url}`; + } + return p1+html; }) }