Prism 代码高亮修改不包含 Code 标签的支持
(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun)
在 WordPress 中加入了百度的 UEditor 编辑器后,由于自带的代码插件在使用时只会在代码外层加入 pre 标签,如图:
但实际 Prism 高亮需要下面这种格式的支持:
<pre class="line-numbers language-csharp"> <code> //高亮代码 </code> </pre>
所以为了能够支持 pre 中没有 code 标签的情况,在文件 Prism.js 中查找 highlightAll 并修改如下代码:
.... 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); } } } ....
修改后进行 Js 压缩,然后覆盖原文件,然后在 WordPress UEditor 中插入的代码在前端页面就能高亮显示了。
Prism 高亮官网地址:http://prismjs.com/
Prism GitHub 地址:https://github.com/PrismJS/prism
相关文章
asp.net+FCKeditor上传图片显示叉叉图片无法显示的问题的解决方法
今天用FCKeditor上传图片的时候,图片可以上传成功,可是预览的时候却显示个叉叉,前台也是显示不出来,原来服务器需要配置下。2011-07-07asp.net 为FCKeditor开发代码高亮插件实现代码
昨天已经将BlogEngine的可视化编辑器换成了FCKeditor,作为一个程序员,在博客中插入代码是很重要的一块。网上现有的都是修改FCKeditor的fckeditorcode_gecko.js和fckeditorcode_ie.js以达到InsertCode的目的。这个方法非常麻烦,当要使用FCKeditor新版本时都要重新修改这两个文件,非常影响我们的效率。2008-08-08关于jsp版ueditor1.2.5的部分问题解决(上传图片失败)
这篇文章主要介绍大家在使用jsp版ueditor1.2.5的碰到的一些问题解决方法,需要的朋友可以参考下2013-06-06整合ckeditor+ckfinder,解决上传文件路径问题
现在fckeditor已经改名为ckeditor,上传控件也分离为ckfinder,按照说明文档的默认配置会出现上传路径不正确的情况,因为我们的网站可以通过定义默认网站、虚拟目录、以及放在网站的子目录下进行访问2011-11-11
最新评论