我想在我的网站上突出显示C/C++/Java/C#等源代码.
我怎样才能做到这一点?
突出显示源代码是一项CPU密集型工作吗?
您可以执行此服务器端或客户端.它不是处理器密集型,但如果你在客户端(使用Javascript)这样做,将会有明显的滞后.大多数客户端解决方案都围绕着Google Code的语法突出显示引擎.这似乎是最受欢迎的:SyntaxHighlighter
服务器端解决方案往往更灵活,特别是在定义新语言和配置突出显示方式(例如使用的颜色)方面.我使用GeSHi,这是一个PHP解决方案,带有适度的Wordpress插件.还有一些为Java构建的库,甚至一些基于VIM的库(通常需要从CPAN安装Perl模块).
简而言之:您有很多选择,您的标准是什么?在不了解您的要求的情况下很难做出可靠的建议.
我在pastebin.com上使用GeSHi("通用语法荧光笔")
pastebin有很高的流量,所以我会缓存转换的结果,这肯定会减少负载.
就个人而言,我更喜欢离线工具:我没有看到为每个服务页面反复解析代码(特别是大型代码),甚至更糟糕的是,在每个浏览器上(对于JS库),因为如上所述,这些库经常滞后(您经常在格式化之前看到原始源).
有一些工具可以完成这项工作,上面有一些指出.我只是使用我最喜欢的编辑器(SciTE)的导出功能,因为它只是尊重我精心设置的颜色选择... :-)它也可以输出XML,PDF,RTF和LaTeX.
我使用google-code-prettify.它是最简单的设置和适用于所有C风格的语言.
Pygment是一个很好的Python库,用于生成HTML,RTF,ANSI(终端样式)或LaTeX代码.它支持多种语言(C,C++,Lua,Erlang,...),您甚至可以编写自己的输出格式化程序.