藏井阁

" Scientists ask why, engineers ask why not? "

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之wordpress插件

主要源码下载:

SHLwhenneed.source.zip(1.0.5,源码)

当我快完成这个插件的时候,才发现SyntaxHighlighter的最新版本已经增加了类似的功能,但对比起来,还是缺乏那么一点“智能”,并且在页面不含任何代码的时候,会比SHLwhenned要多加载几个文件。

类别: Web开发

Tags: SHLwhenneed,SyntaxHighlighter,Wordpress插件

damon pang

大魔

Damo

i#impng.com

专注Web开发,爱电影,爱One Piece.