2015年8月11日 星期二

在 asciidoc 文件中使用語法高亮

許久前照著範例輸入,卻怎麼也作不出上面講的語法高亮的效果。輸出的 HTML 還是「平平的純文字」,後來才發現,原來要在文件的開頭加上宣告,似乎這樣會多引入一些額外的 CSS  ,才能讓高亮的效果出現。

在主標題(文件最開頭,寫大標題的那區)加上⋯

:source-highlighter: pygments
這樣在輸入高亮語法時,就會被處理了。

除了 pygents 之外,還可以改成 coderay, highlightjs, prettify 。應該是其它幾種 CSS 主題吧~ 就沒有特別再去測試了,目前這種就讓我很滿意了。

語法的宣告很簡單,只要「[source,語法名稱]」就可以了。像是 javascript, php 這種比較單純,有一些則是要嘗試一下,像是我試了「shell, bashell, hash」三種,最後只有 bash 才被正確解析。

哪天有空再找找有沒有什麼表格,把所有支援的語法都列出好在未來作查詢。

另外,讓我有點意外的,也有支援 livescript 語法。算是一個驚喜吧~

[2015-10-5 補充]
重灌 mac 後發現,如果要使用 pygments 樣式的話,需要安裝 pygments.rb 這個套件。不確定在原來在打這篇文章之前就裝過,還是因為後來的 asciidoctor 安裝不會將它裝入。總之包含其它的樣式(coderay, hightlightjs, prettify)應該都要先安裝對應套件才能使用。

[2016-10-23 補充]
使用以下指令安裝 pygments.rb

gem install pygments.rb

沒有留言:

張貼留言