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

时间:2020-03-05 18:55:21  来源:igfitidea点击:

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

我怎样才能做到这一点?

突出显示源代码是否需要占用大量CPU资源?

解决方案

回答

我在博客上使用SyntaxHighligher。

回答

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

回答

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

pastebin的流量很高,因此我确实缓存了转换的结果,这当然减少了负载。

回答

我们可以在服务器端或者客户端执行此操作。它不是处理器密集型设备,但是如果我们在客户端(使用Javascript)进行操作,则会出现明显的延迟。大多数客户端解决方案都围绕着Google Code的语法突出显示引擎。这似乎是最受欢迎的一种:SyntaxHighlighter

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

简而言之:我们有很多选择,标准是什么?不知道要求就很难提出可靠的建议。

回答

如果使用的是PHP,则可以使用GeSHi突出显示许多不同的语言。我以前用过它,而且效果很好。快速搜索还将发现用于wordpress和drupal的GeSHi插件。

除非我们打算一次显示所有字节,否则我不会考虑突出显示会占用大量CPU。即使那样,CPU负载也将是最小的,而主要问题将是所有这一切的传输速度。

回答

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

回答

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

回答

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

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