在GitHub的Wiki上突出显示语法:指定编程语言

时间:2012-07-19 19:40:18

标签: github markdown github-linguist

GitHub使用称为“GitHub Flavored Markdown”的消息,问题和评论。我的问题是:

  • GitHub是否也将这种语法用于他们的Wiki?
  • 根据我的理解,可以使用以下语法指定语法高亮的编程语言:

    ```ruby  
    require 'redcarpet'  
    markdown = Redcarpet.new("Hello World!")  
    puts markdown.to_html  
    ```
    

    可以在```字符串后指定编程语言(例如```ruby

    我的问题是:如何查找编程语言的说明符?(例如C似乎不适用于C编程语言)

3 个答案:

答案 0 :(得分:7)

有关github wiki可以使用的可能词法分析器列表,请参阅此处:http://pygments.org/docs/lexers/

如果您发现某个词法分析器不受支持,github建议分叉他们的代码并通过拉取请求提交:https://github.com/blog/774-git-powered-wikis-improved

答案 1 :(得分:3)

引用GitHub's documentation on the subject

  

我们使用Linguist来执行语言检测和语法突出显示。您可以在the languages YAML file中找出哪些关键字有效。

语言学家的“Grammar index”可能也很有用。

答案 2 :(得分:1)

  

如何查找编程语言的说明符?

最新的语言说明符列表可以从the Linguist repositorylanguages.yml的主配置文件中推断出来。对于该列表中的每种语言,您可以使用as specifiers:

  1. 语言名称
  2. 任何语言aliases
  3. 任何文件扩展名,包含或不包含前导.
  4. 必须用短划线替换空格(例如,emacs-lispEmacs Lisp的一个说明符)。带有tm_scope: none条目的语言没有定义语法,也不会在github.com上突出显示。

    jmm做了这项逆向工程,并得到了GitHub工程师之一的确认。他提出了Linguist上所有信息的问题,并维护a wiki page with the specifiers for all languages(可能不是最新的)。

      

    GitHub是否也将这种语法用于他们的Wiki?

    是的,但github.com的wiki还支持其他几种格式。您可以在the markup repository上找到完整列表。