SyntaxHighlighter Evolved是我一直在用,并且比较好用的代码高亮插件,相比JavaScript code prettifier、highlight.js的优点是高亮html代码时,不需要去转译标签。但是SyntaxHighlighter Evolved也有个缺点,就是短代码[json][/json]
是无效的,这是我在使用了n年之后的今天才发现的。
插件并没有shBrushJson.js
这个文件,在插件的syntaxhighlighter/syntaxhighlighter3/scripts/shBrushJScript.js
中找到了一段关于json
的代码解析短代码:
Brush.aliases = ['js', 'jscript', 'javascript', 'json'];
即,是通过[json][/json]
个短代码来解析json代码,但是其实是无效的。
那是不是SyntaxHighlighter Evolved就不好用了?
当然不是,就冲着无需转译html代码这个优点,我还是推荐SyntaxHighlighter Evolved。
可能在之后的版本会修正这个问题,或者使用代替方案:
1、如通过pre
或者code
标签直接来格式化。因为json代码可以看做是文本内容。
2、如通过这个短代码来解析json代码。