【发布时间】:2017-08-04 22:17:33
【问题描述】:
有一个page on GitHub Help 描述了如何使用语法高亮代码块。在该页面上有说明如何为此目的将语言与其关键字匹配:
我们使用Linguist 来执行语言检测和语法高亮。您可以在the languages YAML file中找出哪些关键字是有效的。
但是,该 YAML 中有很多数据,我发现如何准确地使用它来确定哪些关键字适用于任何给定语言,我并不十分清楚。
我写了一个简单的Bootscript 来尝试将此 YAML 解析为更易读的JSON 文件,从每种语言映射到其有效关键字列表:
curl https://raw.githubusercontent.com/github/linguist/f75c5707a62a3d66501993116826f4e64c3ca4dd/lib/linguist/languages.yml | ./languages.boot > languages.json
但我完全不相信这是正确的。例如,我的脚本生成的许多关键字都包含空格,我的印象是those would not work:
代码围栏的内容被视为文字文本,而不是被解析为内联。 info string 的第一个单词通常用于指定代码示例的语言,并呈现在
code标签的class属性中。
我正在寻找的是对这个 YAML 文件的“模式”的理解,因为它与 GitHub Markdown 中的语法突出显示有关。理想情况下,我希望能够使用这种理解来编写一个程序,该程序接受语言 YAML 文件并生成类似 list of language codes for Stack Exchange syntax highlighting 的内容,但用于 GitHub 上的 Markdown。 如何编写这样的程序?
【问题讨论】:
标签: github markdown github-flavored-markdown github-linguist