26

我想在我的网站中突出显示 C/C++/Java/C# 等源代码。

我怎样才能做到这一点?

突出显示源代码是一项 CPU 密集型工作吗?

4

9 回答 9

27

您可以在服务器端或客户端执行此操作。它不是非常密集的处理器,但如果你在客户端(使用 Javascript)这样做,将会有明显的延迟。大多数客户端解决方案都围绕着 Google Code 的语法高亮引擎。这似乎是最受欢迎的一个:SyntaxHighlighter

服务器端解决方案往往更加灵活,尤其是在定义新语言和配置它们的突出显示方式(例如使用的颜色)方面。我使用 GeSHi,这是一个 PHP 解决方案,带有一个相当不错的 Wordpress 插件。还有一些为 Java 构建的库,甚至一些基于 VIM(通常需要从 CPAN 安装 Perl 模块)。

简而言之:您有很多选择,您的标准是什么?在不了解您的要求的情况下很难做出可靠的建议。

于 2008-09-16T07:53:41.037 回答
11

我在pastebin.com上使用GeSHi(“通用语法荧光笔”)

pastebin 的流量很大,所以我会缓存转换的结果,这肯定会减少负载。

于 2008-09-16T07:52:12.273 回答
6

就个人而言,我更喜欢离线工具:我看不到在每个浏览器(对于 JS 库)上一遍又一遍地解析代码(尤其是大代码)的意义,因为如上所述,这些库经常滞后(您经常会在格式化之前看到原始源代码)。

有许多工具可以完成这项工作,其中一些已在上面指出。我只是使用我最喜欢的编辑器 (SciTE) 的导出功能,因为它只尊重我精心设置的颜色选择... :-) 它也可以输出 XML、PDF、RTF 和 LaTeX。

于 2009-10-24T16:04:33.900 回答
5

我使用google-code-prettify。它是最简单的设置并且适用于所有 C 风格的语言。

于 2008-09-16T08:04:37.050 回答
5

Pygment是一个很好的 Python 库,用于生成 HTML、RTF、ANSI(终端样式)或 LaTeX 代码。它支持多种语言(C、C++、Lua、Erlang...),您甚至可以编写自己的输出格式化程序。

于 2008-09-16T08:06:19.913 回答
1

如果您使用jEdit,您可能想要使用Code2HTML插件。

于 2012-02-21T17:58:02.607 回答
0

我在我的博客上使用SyntaxHighligher

于 2008-09-16T07:50:29.983 回答
0

只需通过以下工具运行它:http ://www.gnu.org/software/src-highlite/

于 2008-09-16T07:50:53.727 回答
0

如果您使用的是 PHP,您可以使用GeSHi来突出显示许多不同的语言。我以前用过,效果很好。快速谷歌搜索还将发现用于wordpressdrupal的 GeSHi 插件。

我不会认为突出显示是 CPU 密集型的,除非您打算一次显示所有兆字节。即使这样,CPU 负载也将是最小的,而您的主要问题将是传输速度。

于 2008-09-16T07:54:31.177 回答