hoist pre blocks last

This commit is contained in:
Sam 2015-07-31 18:27:23 +10:00
parent 568adc49c0
commit d8d849ee84
1 changed files with 7 additions and 8 deletions

View File

@ -188,14 +188,6 @@ function hoistCodeBlocksAndSpans(text) {
// /!\ the order is important /!\ // /!\ the order is important /!\
// <pre>...</pre> code blocks
text = text.replace(/(\s|^)<pre>([\s\S]*?)<\/pre>/ig, function(_, before, content) {
var hash = md5(content);
hoisted[hash] = escape(showBackslashEscapedCharacters(removeEmptyLines(content)));
return before + "<pre>" + hash + "</pre>";
});
// fenced code blocks (AKA GitHub code blocks) // fenced code blocks (AKA GitHub code blocks)
text = text.replace(/(^\n*|\n)```([a-z0-9\-]*)\n([\s\S]*?)\n```/g, function(_, before, language, content) { text = text.replace(/(^\n*|\n)```([a-z0-9\-]*)\n([\s\S]*?)\n```/g, function(_, before, language, content) {
var hash = md5(content); var hash = md5(content);
@ -219,6 +211,13 @@ function hoistCodeBlocksAndSpans(text) {
return before + " " + hash + "\n"; return before + " " + hash + "\n";
}); });
// <pre>...</pre> code blocks
text = text.replace(/(\s|^)<pre>([\s\S]*?)<\/pre>/ig, function(_, before, content) {
var hash = md5(content);
hoisted[hash] = escape(showBackslashEscapedCharacters(removeEmptyLines(content)));
return before + "<pre>" + hash + "</pre>";
});
// code spans (double & single `) // code spans (double & single `)
["``", "`"].forEach(function(delimiter) { ["``", "`"].forEach(function(delimiter) {
var regexp = new RegExp("(^|[^`])" + delimiter + "([^`\\n]+?)" + delimiter + "([^`]|$)", "g"); var regexp = new RegExp("(^|[^`])" + delimiter + "([^`\\n]+?)" + delimiter + "([^`]|$)", "g");