最近在写项目管理的时候,领导提出可以贴代码的需求,贴代码,自然就需要代码高亮;
关于为什么选用UEditor,虽然这款百度出品的所见即所得编辑器已经很久没有更新了,但是现有的功能还是足够用的;
第二点是UEditor的文档无比详细,而且中文对于国人来讲还是比CK之类的英文文档来的友好;
第三点是个人觉得UEditor用起来比CK要方便一些。
话不多说,大家一起来看一下:
首先这边讲一下两种代码高亮方法;
第一种是UE自带的shCore
//接入css
<link rel="stylesheet" type="text/css" href="ueditor/third-party/SyntaxHighlighter/shCoreDefault.css"/>
//接入js
<script type="text/javascript" charset="utf-8" src="ueditor/third-party/SyntaxHighlighter/shCore.js"></script>
<script type="text/javascript">
SyntaxHighlighter.all();//js调用
</script>
第二种是我在用的 highlight.js
//有很多的代码风格,可以自己选择,切换css文件即可
<link rel="stylesheet" href="highlight/styles/zenburn.css">
<script src="highlight/highlight.pack.js"></script>
<script>
//因为UEditor的pre里面不包code,所以需要一段代码来包上code标签
//jquery版
$('pre').each( function() {
$(this).html('<code id="mycode">'+ $(this).html() +'</code>')
})
//原生js版
const pre = document.getElementsByTagName('pre')
for(let me of pre){
me.innerHTML = '<code id="mycode">' + me.innerHTML + '</code>'
}
//再调用highlight
hljs.initHighlightingOnLoad();
</script>