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\n

line2\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() {