【问题标题】:Using syntax highlight from GitHub使用来自 GitHub 的语法高亮
【发布时间】:2011-09-08 22:17:37
【问题描述】:

在查看源代码文件时,GitHub 上使用了哪些语法高亮(用于 HTML、CSS、JavaScript、C#)以及是否可供公众使用

它在页面上工作,并且在嵌入页面时工作(来自 Gist),如下所示:

<script src="https://gist.github.com/1009439.js"></script>

但是我可以只包含他们的 JavaScript 库并让它突出显示我的代码吗?

【问题讨论】:

    标签: html github syntax-highlighting


    【解决方案1】:

    Github 使用pygments 来高亮语法。 Pygments 在服务器上运行,而不是纯 Javascript 客户端解决方案。如果您正在寻找各种选项的 Javascript 解决方案 check out this review

    【讨论】:

    • 有趣的是,虽然 GitHub 使用了 pygments,但 pygments 没有使用 GitHub。他们在 Bitbucket 上
    • 这可能是因为他们在创建 Github 时从一开始就使用了 Pygments 吗?这意味着考虑到 Github 还不存在,Pygments 必须在其他地方托管。
    • Github 不再使用 pygments。它现在使用一个名为“Linguist”的 Ruby 包,可以处理与 TextMate 兼容的高亮语法,请参阅 github.com/github/linguist
    【解决方案2】:

    根据this help page,GitHub 目前使用 Ruby 的开源 Linguist 库突出显示语法。语言学家使用vendor/grammars 中链接的tmLanguage 文件突出显示每种语言。

    由于 Linguist 是用 Ruby 编写的,因此只能在服务器上使用。如果您想要一个可以仅包含在页面中的客户端 JavaScript 库,则必须find a different library

    【讨论】:

      【解决方案3】:

      据此:http://www.infoq.com/news/2008/03/github-git-repository-hosting

      他们正在使用Python Pygments

      Chris Wanstrath 分享了一些 有关内部运作的信息 GitHub 与 InfoQ:

      GitHub 主要在 Rails 中实现。 提交后集成小应用 我们正在努力的都写在 Merb,我们使用 Python Pygments 语法高亮,我们使用 Ara T。 Howard 的 Bj 加上一些 Ruby 脚本 我们的排队系统。而且当然, 我们使用 Ruby Grit 库 与 Git 的接口。

      【讨论】:

      • Pygments 被很多东西使用,包括 Trac。很酷。
      【解决方案4】:

      我相信他们会使用他们的albino gem。它是 pygments 语法高亮的 Ruby 包装器。

      这是我最近阅读的一篇关于基于 javascript 的语法荧光笔的比较文章(如果您需要的话):http://softwaremaniacs.org/blog/2011/05/22/highlighters-comparison/

      【讨论】:

        【解决方案5】:

        正如其他人之前所说,GitHub 使用Pygments。和pygments-style-github一起使用也可以达到同样的效果。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-02-11
          • 1970-01-01
          • 2017-08-06
          • 1970-01-01
          • 2017-06-30
          • 2013-01-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多