现在网络上优秀的代码美化插件很多,如coolcode,wp-geshi等等,然而他们或多或少的都有一些不足,比如coolcode插件调用的js太多且庞大,wp-geshi更新不够及时等等。其实更加让人郁闷的是wordpress的文本编辑器和后台处理的php函数往往会自作聪明的为我们纠正某些xhtml的错误,导致代码总是被粗暴的修改掉,鉴于此,cosbeta决定自己发布一款插件,当然,同其他高亮插件一样,所有的高亮php处理函数都来自于伟大的geshi,下面言归正传,开始介绍这款插件。
插件名:AjaxCodeRender(Ajax代码高亮器);
插件作用:通过ajax的方式,将文中代码进行高亮处理;
插件的缺点:不支持googlereader高亮显示,但是能显示代码;其他你认为是缺点的缺点
插件的安装和激活:同常规插件一样。注意:若是你的模板已经集成了jquery或者你打算将插件中的css集成到当前模板文件中,请打开AjaxCodeRender.php,编辑第12、13行。
插件支持高亮的语言有:同geshi(支持117种主流和非主流语言)
插件的优点:平常我们在wordpress中发布代码的时候都是在“代码编辑器”的模式下将代码输入到编辑器中,这样就很容易导致wp自动纠正代码。
插件高亮用法:发布程序代码的时候,请一定在RTF(富文本)模式下输入或者复制代码代码,然后切换到源文件模式下,将代码框在<div class=”code” lang=”php”></div>之间即可。或者在富文本模式下直接将代码嵌入到
之间,两个code之间最好不要换行和有空格。由于代码直接在富文本模式下编辑,已经被转化成HTML,所以WP就不会擅自改动内容了。
插件下载地址:ajaxcoderender
插件高亮演示(大家可以看看本页html源代码):
define(’GESHI_VERSION’, ‘1.0.8.1′);
// Define the root directory for the GeSHi code tree
if (!defined(’GESHI_ROOT’)) {
/** The root directory for GeSHi */
define(’GESHI_ROOT’, dirname(__FILE__) . DIRECTORY_SEPARATOR);
}
/** The language file directory for GeSHi
@access private */
define(’GESHI_LANG_ROOT’, GESHI_ROOT . ‘geshi’ . DIRECTORY_SEPARATOR);
// Define if GeSHi should be paranoid about security
if (!defined(’GESHI_SECURITY_PARANOID’)) {
/** Tells GeSHi to be paranoid about security settings */
define(’GESHI_SECURITY_PARANOID’, false);
}
// Line numbers – use with enable_line_numbers()
/** Use no line numbers when building the result */
define(’GESHI_NO_LINE_NUMBERS’, 0);
/** Use normal line numbers when building the result */
define(’GESHI_NORMAL_LINE_NUMBERS’, 1);
/** Use fancy line numbers when building the result */
define(’GESHI_FANCY_LINE_NUMBERS’, 2);
// Container HTML type
/** Use nothing to surround the source */
define(’GESHI_HEADER_NONE’, 0);
/** Use a “div” to surround the source */
define(’GESHI_HEADER_DIV’, 1);
用过的朋友请给一下反馈意见!
演示一下【code】int i=0;
i++;
print "hello";
再来一个更加随意的测试测试
<?php
echo "这次代码输入来的是硬换行";
echo "硬换行会产生一个p标签";
echo "所以我会在代码中过滤掉";
echo "感谢rex http://iregex.org 在正则表达式上的协助";
?>

沙发~~
网速慢的人,刚打开时代码都是灰的,等js全部加载完之后代码才高亮起来
我觉得这个思路挺好的,比代码里面夹一堆颜色代码好多了