summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWu Cheng-Han2016-10-18 00:14:50 +0800
committerWu Cheng-Han2016-10-18 00:14:50 +0800
commite311a1f6202d02e0bb869d8141b67ee04fec8ab4 (patch)
tree8082a193f0c4d5498d729c7c2800daf66b408f35
parente097622098b9c77a91f40306547b4b07fd258402 (diff)
Fix code block which in deeper level will not be parsed issue
-rw-r--r--public/js/extra.js9
-rw-r--r--public/js/syncscroll.js3
2 files changed, 7 insertions, 5 deletions
diff --git a/public/js/extra.js b/public/js/extra.js
index ad1e19b5..61e010c6 100644
--- a/public/js/extra.js
+++ b/public/js/extra.js
@@ -434,12 +434,12 @@ function finishView(view) {
});
});
//syntax highlighting
- view.find("pre.raw").removeClass("raw")
+ view.find("pre > code.raw").removeClass("raw")
.each(function (key, value) {
- var langDiv = $(value).find('code.hljs');
+ var langDiv = $(value);
if (langDiv.length > 0) {
var reallang = langDiv[0].className.replace(/hljs|wrap/g, '').trim();
- var codeDiv = $(value).find('.code');
+ var codeDiv = langDiv.find('.code');
var code = "";
if (codeDiv.length > 0) code = codeDiv.html();
else code = langDiv.html();
@@ -894,6 +894,7 @@ md.renderer.rules.fence = function (tokens, idx, options, env, self) {
if (/\!$/.test(info)) token.attrJoin('class', 'wrap');
token.attrJoin('class', options.langPrefix + langName.replace(/\=$|\=\d+$|\=\+$|\!$|\=\!$/, ''));
token.attrJoin('class', 'hljs');
+ token.attrJoin('class', 'raw');
}
if (options.highlight) {
@@ -906,7 +907,7 @@ md.renderer.rules.fence = function (tokens, idx, options, env, self) {
return highlighted + '\n';
}
- return '<pre class="raw"><code' + self.renderAttrs(token) + '>'
+ return '<pre><code' + self.renderAttrs(token) + '>'
+ highlighted
+ '</code></pre>\n';
};
diff --git a/public/js/syncscroll.js b/public/js/syncscroll.js
index c2de2d0d..b2fee76c 100644
--- a/public/js/syncscroll.js
+++ b/public/js/syncscroll.js
@@ -64,6 +64,7 @@ md.renderer.rules.fence = function (tokens, idx, options, env, self) {
if (/\!$/.test(info)) token.attrJoin('class', 'wrap');
token.attrJoin('class', options.langPrefix + langName.replace(/\=$|\=\d+$|\=\+$|\!$|\=\!/, ''));
token.attrJoin('class', 'hljs');
+ token.attrJoin('class', 'raw');
}
if (options.highlight) {
@@ -79,7 +80,7 @@ md.renderer.rules.fence = function (tokens, idx, options, env, self) {
if (tokens[idx].map && tokens[idx].level === 0) {
var startline = tokens[idx].map[0] + 1;
var endline = tokens[idx].map[1];
- return '<pre class="part raw" data-startline="' + startline + '" data-endline="' + endline + '"><code' + self.renderAttrs(token) + '>'
+ return '<pre class="part" data-startline="' + startline + '" data-endline="' + endline + '"><code' + self.renderAttrs(token) + '>'
+ highlighted
+ '</code></pre>\n';
}