WordPress插件SHLwhenneed – 按需加载SyntaxHighlighter
SyntaxHighlighter是一款非常优秀的代码高亮插件,支持多种常见语言的语法高亮。当需要对某种语言的代码进行高亮展示时,加载该语言对应的规则文件即可,如shBrushAS3.js、shBrushJScript.js、shBrushCss.js等。
大多数的做法,是将所有的语法规则文件都加载,页面内含哪种代码,就调用哪种brush。这样的缺点显而易见,如果页面没有任何代码,是不需要这些brush文件的,甚至这个插件本身都可以不要加载;即算是页面包含需要高亮的代码,一般情况下只是2-3种brush文件就够了,其他的也是不用加载的。浪费流量,处理不当还是影响页面呈现时间。
对这种情况,SHLwhenneed基于SyntaxHighlighter,实现按需加载。即在检测到页面有需要高亮效果的代码后,才会加载SyntaxHighlighter和相应的brush文件。
SHLwhenneed调用方式
在页面已加载jquery.js的情况下,再引入shlwhenneed.js即可。或直接安装SHLwhenneed的wordpress插件即可。
SHLwhenneed支持以下的调用方式:
<pre class="brush:javascript"> function damon() { var a = 'hello '; var b = 'world'; document.write(a + b); // output } </pre>
<pre class="javascript" name="code"> function damon() { var a = 'hello '; var b = 'world'; document.write(a + b); // output } </pre>
<pre class="lang:javascript">
function damon() {
var a = 'hello ';
var b = 'world';
document.write(a + b); // output
}
</pre>
推荐使用第一种方式,即<pre class=”brush:xxxx”>,xxxx代表的是代码语言的种类。本页的效果即采用SHLwhenneed插件呈现。
SHLwhenneed下载
wordpress插件下载:
主要源码下载:
SHLwhenneed.source.zip(1.0.5,源码)
当我快完成这个插件的时候,才发现SyntaxHighlighter的最新版本已经增加了类似的功能,但对比起来,还是缺乏那么一点“智能”,并且在页面不含任何代码的时候,会比SHLwhenned要多加载几个文件。