我想在我的网站中突出显示 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 风格的语言。
我在我的博客上使用SyntaxHighligher。
只需通过以下工具运行它:http ://www.gnu.org/software/src-highlite/