Prism 代码高亮修改不包含 Code 标签的支持(prism添加数据标签)深度揭秘

随心笔谈12个月前发布 admin
88 0


….

highlightAll: function(async, callback) {

//var elements=document.querySelectorAll(‘code[class*=”language-“], [class*=”language-“] code, code[class*=”lang-“], [class*=”lang-“] code’);
//for (var i=0, element; element=elements[i++];) {
// _.highlightElement(element, async===true, callback);
//}

//支持 PRE 标签,修改为
var clsReg=/\s*\blanguage-\b\s*/;
var pres=document.querySelectorAll(“pre”);
for (var i=0, pre; pre=pres[i++];) {
var isCode=false;
if ((pre.firstChild
&& (isCode=(pre.firstChild.tagName===”CODE”))
&& clsReg.test(pre.firstChild.className))
|| clsReg.test(pre.className)) {
if (!isCode) pre.innerHTML=”<code>” + pre.innerHTML + “</code>”;
_.highlightElement(pre.firstChild, async===true, callback);
}
}
}

….

© 版权声明

相关文章