【问题标题】:How to highlight source code in HTML? [closed]如何在 HTML 中突出显示源代码? [关闭]
【发布时间】:2010-09-09 08:51:10
【问题描述】:

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

我该怎么做?

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

【问题讨论】:

标签: html syntax-highlighting


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            【解决方案6】:

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

            【讨论】:

              【解决方案7】:

              我在my blog 上使用SyntaxHighligher

              【讨论】:

                【解决方案8】:

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

                【讨论】:

                  【解决方案9】:

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

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

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2021-11-05
                    • 1970-01-01
                    • 2011-04-17
                    • 2011-02-06
                    • 2013-02-09
                    • 2020-10-31
                    相关资源
                    最近更新 更多