diff --git a/app/assets/javascripts/discourse/components/markdown.js b/app/assets/javascripts/discourse/components/markdown.js index afa9f27a6a9..6a485f96afa 100644 --- a/app/assets/javascripts/discourse/components/markdown.js +++ b/app/assets/javascripts/discourse/components/markdown.js @@ -142,9 +142,9 @@ Discourse.Markdown = { converter.hooks.chain("postConversion", function(text) { if (!text) return ""; - // don't do @username mentions inside
blocks - text = text.replace(/([\s\S]*@[\s\S]*)<\/pre>/gi, function(wholeMatch, inner) { - return "" + (inner.replace(/@/g, '@')) + ""; + // don't do @username mentions insideorblocks + text = text.replace(/<(pre|code>([\s\S]*?@[\s\S]*?)<\/(pre|code)>)/gi, function(wholeMatch, m1, m2, m3) { + return "<" + m1 + ">" + (m2.replace(/@/g, '@')) + "" + m3 + ">"; }); // add @username mentions, if valid; must be bounded on left and right by non-word characters