有一個page on GitHub Help描述如何使用語法高亮的代碼塊。在該頁面上,有說明如何將語言與其關鍵字匹配用於此目的:如何使用語言YAML文件來確定哪些關鍵字適用於任何給定的語言?
我們使用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。 我該如何編寫這樣的程序?