在Stblog中定制你的代码高亮功能
发布于: May 25, 2010, 12:20 am 分类: 项目日志 作者: Saturn
首先感谢目前正在使用stblog的朋友,正是你们的使用和批评才有了我不断改进->思考->改进的动力。当前版本还有诸多BUG和不完善的地方,我会在最近发布一个新的patch修正和完善这些功能。希望大家多提建议,感谢大家!
国内玩博客的人大部分都是Geek,他们的特点大多是:个性,最求完美,而且或多或少懂些编程的知识。这就是为什么我在开发stblog的第一个版本就引入了代码高亮功能。
stblog的代码高亮采用JavaScript渲染工具SyntaxHighlighter,使用和Hack方法也与其一致。
具体来说,要在stblog中定制和高亮你所需的代码,仅需要在模板中添加和删除对应高亮语法JS文件即可。
比如,朋友 rockics提到,当他在后台编辑器中添加C++代码时出现如下弹窗错误:
“can't find brush for :cpp”
这是因为没有引入Cpp的高亮语法,解决方法很简单。
用支持代码编辑的文本编辑器(请勿使用windows自带的记事本)打开模板文件:
./themes/default/footer.php
找到如下代码并修改:
<script type="text/javascript" src="<?php echo base_url(). ST_PLUGINS_DIR;?>/editor/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="<?php echo base_url(). ST_PLUGINS_DIR;?>/editor/syntaxhighlighter/scripts/shBrushPhp.js"></script> <script type="text/javascript" src="<?php echo base_url(). ST_PLUGINS_DIR;?>/editor/syntaxhighlighter/scripts/shBrushXml.js"></script> <script type="text/javascript" src="<?php echo base_url(). ST_PLUGINS_DIR;?>/editor/syntaxhighlighter/scripts/shBrushCSharp.js"></script> <script type="text/javascript" src="<?php echo base_url(). ST_PLUGINS_DIR;?>/editor/syntaxhighlighter/scripts/shBrushCss.js"></script> <script type="text/javascript" src="<?php echo base_url(). ST_PLUGINS_DIR;?>/editor/syntaxhighlighter/scripts/shBrushJava.js"></script> <script type="text/javascript" src="<?php echo base_url(). ST_PLUGINS_DIR;?>/editor/syntaxhighlighter/scripts/shBrushJScript.js"></script> <script type="text/javascript" src="<?php echo base_url(). ST_PLUGINS_DIR;?>/editor/syntaxhighlighter/scripts/shBrushSql.js"></script> <script type="text/javascript" src="<?php echo base_url(). ST_PLUGINS_DIR;?>/editor/syntaxhighlighter/scripts/shBrushBash.js"></script> <script type="text/javascript" src="<?php echo base_url(). ST_PLUGINS_DIR;?>/editor/syntaxhighlighter/scripts/shBrushPython.js"></script> <script type="text/javascript"> SyntaxHighlighter.config.clipboardSwf = '<?php echo base_url(). ST_PLUGINS_DIR;?>/editor/syntaxhighlighter/scripts/clipboard.swf'; SyntaxHighlighter.all(); </script>
加入你需要的高亮语法JS文件,比如这里是C++的,那么加入:
<script type="text/javascript" src="<?php echo base_url(). ST_PLUGINS_DIR;?>/editor/syntaxhighlighter/scripts/shBrushCpp.js"></script>
请注意以上shBrushCpp.js,这里是我们要引入的Cpp高亮语法JS文件。对应SyntaxHighlighter所支持的语法,请详见./st_plugins/editor/syntaxhighlighter/scripts目录或参考SyntaxHighilighter的说明。
修改完成后,请上传至服务器并覆盖掉原文件。
Update:本来修改模板文件可以在后台进行,不过现在发现在后台修改模板会将部分代码转义,从而使模板功能失效。这里证实是一个BUG(下一个小版本中修正),请手动修改并上传服务器。
回应此文
你也可以选择引用此文章.