do not highlight code blocks without lang specified by default

This commit is contained in:
Le Tan 2017-12-18 21:53:40 +08:00
parent 2373a0326e
commit f6cf98c827
5 changed files with 37 additions and 12 deletions

View File

@ -3,11 +3,15 @@ var placeholder = document.getElementById('placeholder');
// Use Marked to highlight code blocks in edit mode.
marked.setOptions({
highlight: function(code, lang) {
if (lang && hljs.getLanguage(lang)) {
if (lang) {
if (hljs.getLanguage(lang)) {
return hljs.highlight(lang, code).value;
} else {
return hljs.highlightAuto(code).value;
}
} else {
return code;
}
}
});
@ -37,9 +41,11 @@ var updateHtml = function(html) {
}
}
if (listContainsRegex(code.classList, /language-.*/)) {
hljs.highlightBlock(code);
}
}
}
addClassToCodeBlock();
renderCodeBlockLineNumber();
@ -63,4 +69,3 @@ var highlightText = function(text, id, timeStamp) {
var html = marked(text);
content.highlightTextCB(html, id, timeStamp);
}

View File

@ -44,11 +44,15 @@ var mdit = window.markdownit({
typographer: true,
langPrefix: 'lang-',
highlight: function(str, lang) {
if (lang && hljs.getLanguage(lang)) {
if (lang) {
if (hljs.getLanguage(lang)) {
return hljs.highlight(lang, str).value;
} else {
return hljs.highlightAuto(str).value;
}
} else {
return str;
}
}
});

View File

@ -844,3 +844,13 @@ var addClassToCodeBlock = function() {
}
}
};
var listContainsRegex = function(strs, exp) {
for (var i = 0, len = strs.length; i < len; ++i) {
if (exp.test(strs[i])) {
return true;
}
}
return false;
}

View File

@ -17,11 +17,15 @@ renderer.heading = function(text, level) {
// Highlight.js to highlight code block
marked.setOptions({
highlight: function(code, lang) {
if (lang && hljs.getLanguage(lang)) {
if (lang) {
if (hljs.getLanguage(lang)) {
return hljs.highlight(lang, code).value;
} else {
return hljs.highlightAuto(code).value;
}
} else {
return code;
}
}
});

View File

@ -60,7 +60,9 @@ var highlightCodeBlocks = function(doc, enableMermaid, enableFlowchart) {
} if (enableFlowchart && code.classList.contains('language-flowchart')) {
// Flowchart code block.
continue;
} else {
}
if (listContainsRegex(code.classList, /language-.*/)) {
hljs.highlightBlock(code);
}
}