diff --git a/app/assets/javascripts/discourse/components/markdown.js b/app/assets/javascripts/discourse/components/markdown.js index afa9f27a6a..6a485f96af 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 inside or blocks
+ 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