SyntaxHighlighter 是 Alex Gorbatchev 2004年开始开发的一个Javascript web客户端代码高亮库。之前的主页在google code,现在已经转移到了alexgorbatchev.com。当前最新的版本是3.0.83,兼容的浏览器有:Internet Explorer 7.0 / Mozilla Firefox 3.0 / Google Chrome 0.2 / Safari 3.1 / Opera 9.6,IE6并不被支持。1.x的版本应该是支持的。 对于一个技术博客来说这样的代码高亮库肯定是必不可少的。wordpress上安装syntaxhighlighter非常简单,直接在插件里面搜索后安装即可。安装后就可以使用了,非常简单。
js
<!-- You also need to add some content to highlight, but that is covered elsewhere. -->
function foo()
{
}
这种方法行不通,不知道怎么回事。还有一种方法。
js
alert("hello world!");
这一咱方法在前台可以看到代码高亮,但是在tinyMCE编辑器下会把缩进的空格给处理掉,真是个杯具的事情。
于是,又只有用pre的方式了,下载另一个插件 sh TinyMCE button 这个会有个编辑框,里面粘贴进去代码会会插入到编辑器里,经过对其的小小的修改。当然了,这个方法是有点笨,不过对于一个对php 以及wordpress插件编程非常不了解的人来说,达到了目的。修改tinymce.js里面的一方法(insertSHTBADVCODEBOXcode();):
php
tinyMCEPopup.editor.execCommand('mceInsertContent', false, tagtext+classAttribs+'"<'+html+'</pre><div style="display:none;">['+langname+'] [/'+ langname+']</div>');
加入一个隐藏的div,这里面有[ ] 这种东西,插件会自动添加处理js来处理的。
其实更好的方法是修改这个插件,比如这个函数:
php
function parse_shortcodes( $content ) {
global $shortcode_tags;
$shortcode_tags_org = $shortcode_tags;
remove_all_shortcodes();
$this->add_shortcodes();
$content = do_shortcode( $content );
$shortcode_tags = $shortcode_tags_org;
}
今天就先研究到此吧,以后再做研究。