如何在HTML中突出显示源代码?

时间:2008-09-16 07:48:52

标签: html syntax-highlighting

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

我该怎么做?

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

9 个答案:

答案 0 :(得分:27)

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

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

简而言之:您有很多选择,您的标准是什么?如果不了解您的要求,很难提出可靠的建议。

答案 1 :(得分:11)

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

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

答案 2 :(得分:6)

就个人而言,我更喜欢离线工具:我没有看到为每个服务页面反复解析代码(特别是大型代码),甚至更糟糕的是,在每个浏览器上(对于JS库),因为as如上所述,这些库通常会滞后(在格式化之前,您经常会看到原始源。)

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

答案 3 :(得分:5)

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

答案 4 :(得分:5)

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

答案 5 :(得分:1)

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

答案 6 :(得分:0)

我在SyntaxHighligher上使用my blog

答案 7 :(得分:0)

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

答案 8 :(得分:0)

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

除非您打算一次性显示兆字节,否则我不会考虑突出显示CPU密集型。即使这样,CPU负载也会很小,而你的主要问题就是传输速度。