Syntaxhighlighter Evolved是一款Javascript的语法高亮插件,高亮是在用户的浏览器完成,这样可以减轻服务器的压力。而WP-Syntax恰恰相反,它是在服务器完成语法高亮。WP-Syntax比Syntaxhighlighter Evolved更有优势的地方是支持rss高亮,而且支持的语言众多,使用了GeSHi高亮引擎,可定制性相当强,至于高亮带来的压力,我们可以用缓存插件来解决。
Syntaxhighlighter Evolved Plugin Usage
Just wrap your code in [language]
, such as [php]code here[/php]**
or [css]code here[/css]
.
WP-Syntax Basic Usage
Wrap code blocks with <pre lang="LANGUAGE" line="1">
and </pre>
我们很明显就可以看到两者之间的区别。Syntaxhighlighter Evolved用的是非常特殊的高亮标记**[language]**,如果我们直接卸载Syntaxhighlighter Evolved然后装上WP-Syntax就会导致Syntaxhighlighter Evolved的高亮标记直接输出,而且代码不会被高亮。
我们必须将Syntaxhighlighter Evolved的高亮标记全部替换成WP-Syntax的高亮标记。
对于这种这么繁琐的事情,我们就把它交给Python来完成吧。
代码
1 |
|
最新源码:https://github.com/cedricporter/et-python/blob/master/migrate-db/migrant.py
使用
1 | mysqldump -u root -p wordpress_db | ./migrant.py > fix.sql |
整个过程就是
- 使用mysqldump将数据库dump成文本
- 通过我们的过滤器程序migrant.py将syntaxhighlighter evolved的高亮风格变成wp-syntax的高亮风格。
- 导入回数据库。
搞定!
对于WP-Syntax的Python多行字符串高亮的bug解决请见:
http://everet.org/2012/06/fix-wp-syntax-python-string-bug.html