diff --git a/app/assets/javascripts/discourse/dialects/dialect.js b/app/assets/javascripts/discourse/dialects/dialect.js index 07ebc7947d2..5f6c754b156 100644 --- a/app/assets/javascripts/discourse/dialects/dialect.js +++ b/app/assets/javascripts/discourse/dialects/dialect.js @@ -21,6 +21,11 @@ var parser = window.BetterMarkdown, **/ function initializeDialects() { MD.buildBlockOrder(dialect.block); + var index = dialect.block.__order__.indexOf("code"); + if (index > -1) { + dialect.block.__order__.splice(index, 1); + dialect.block.__order__.unshift("code"); + } MD.buildInlinePatterns(dialect.inline); initialized = true; } diff --git a/test/javascripts/lib/markdown-test.js.es6 b/test/javascripts/lib/markdown-test.js.es6 index 56639193efc..a07d3b07753 100644 --- a/test/javascripts/lib/markdown-test.js.es6 +++ b/test/javascripts/lib/markdown-test.js.es6 @@ -379,6 +379,14 @@ test("Code Blocks", function() { cooked("```\nline1\n```\n```\nline2\n\nline3\n```", "
line1
\n\nline2\n\nline3
",
"it does not consume next block's trailing newlines");
+
+ cooked(" test", + "
<pre>test</pre>
",
+ "it does not parse other block types in markdown code blocks");
+
+ cooked(" [quote]test[/quote]",
+ "[quote]test[/quote]
",
+ "it does not parse other block types in markdown code blocks");
});
test("sanitize", function() {