再议 语法高亮插件的选择
之前一篇《為博客園選擇一個小巧霸氣的語法高亮插件》介紹了語法高亮插件的選擇,當(dāng)時只注重速度了。
這些天在做深度定制的時候發(fā)現(xiàn)一個嚴(yán)重的問題,匹配精度不夠。
什么是匹配精度呢?
簡單說就是沒有把代碼分塊,是否分的足夠細(xì),如果精度不夠,會導(dǎo)致很多關(guān)鍵詞,符號什么的都沒法實(shí)現(xiàn)高亮。
精度越高,就能美化的更具體,具體到每個單詞,每個操作符,甚至每個括號。
來看幾個圖吧
可以看到他們渲染后的精度。(節(jié)點(diǎn)越多,表示精度越高)
| 1 | Pretiffy | 59802 節(jié)點(diǎn) |
| 2 | Snippet | 43775 節(jié)點(diǎn) |
| 3 | SHJS | 33985 節(jié)點(diǎn) |
| 4 | Highlight | 8432 節(jié)點(diǎn) |
再結(jié)合他們渲染速度。
| 1 | SHJS | 627ms | 33985 節(jié)點(diǎn) |
| 2 | Pretiffy | 1.26s | 59802 節(jié)點(diǎn) |
| 3 | Highlight | 567ms | 8432 節(jié)點(diǎn) |
| 4 | Snippet | 9.40s | 43775 節(jié)點(diǎn) |
這么看來 SHJS 才是最霸氣的,Pretiffy 次之。
當(dāng)然據(jù)我所知目前最霸氣的還是要數(shù) CodeMirror, 人家是在線代碼編輯器,精度和本地的編輯器幾乎一樣,能精確到每個標(biāo)點(diǎn)符號。
而且渲染速度也極快,我沒具體測試,只是把這個 jQuery 代碼復(fù)制進(jìn)去,它能直接高亮顯示出來不會有卡的感覺,必然是毫秒級的神器。
但是他不符合我的選擇標(biāo)準(zhǔn),我要小巧霸氣的。
Highlight 已經(jīng)讓我對他失去了信心,SHJS 才是首選。
當(dāng)然如果你不在乎這1,2秒,那選擇 Pretiffy,CodeMirror 是最合適的了。
CodeMirror 還能直接編輯,畢竟它是編輯器,而且支持 emmet 快捷鍵呢。
好了,今天水了一篇,明天盡量寫技術(shù)。。
轉(zhuǎn)載于:https://www.cnblogs.com/52cik/p/js-highlight-perfect.html
總結(jié)
以上是生活随笔為你收集整理的再议 语法高亮插件的选择的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用3DMM进行人脸重建中的配准方法
- 下一篇: 使用 iPerf 测试路由器局域网性能