總之,我現在沒有在用 macport,而 homebrew 中沒有 pygments 可以裝。所以稍微奮鬥了一下看能不能暴力裝進
/usr/local/cell/pygments/1.4/
裡面去。最後發現說,pygments 被當作 python 的一個 package,而硬是給我裝到 /Library/Python/2.6/site-packages
裡面去。好吧,既然 cabal 下面灌的 agda 我沒做 brew link,這個我看也算了。一方面是懶惰,另一方面是想說趕快看是為什麼不能用。前言結束
補充一點
首先,為了避免有人和我說沒有 twilight 可以用,先扯一下 style 的事情:
請在
/Library/Python/2.6/site-packages/Pygments-1.4-py2.6.egg/pygments/styles/
下面開一個檔案叫做 twilight.py。然後把這篇裡面最下面的那一塊 twilight.py 的內容複製並且貼進去自己的 twilight.py 檔案中。正文開始
基本上和以前沒差多少嘛,到底是哪哩不能用 T▽T
> pygmentize -f html -o out.html -O full,style=twilight,linenos=1 p.hs
-f html ≡ 指定輸出格式為 html [1]
-o out.html ≡ 指定輸出檔名
-O ≡ lexer 和 formatter 額外的設定
full ≡ 產生完整的 HTML 4 檔案
style=twilight ≡ 指定 style [2]
linenos=1 ≡ 開啟line number
p.hs ≡ 輸入的檔名
PS.
每個 formatter 可以用的參數不一樣
可以翻翻 formatter 的 source code
禮面會有寫,而且寫的蠻清楚的 [1]
不過上述的方法對於想要把 style 和 code 分開來的用的人來說,比較麻煩一點。因為變成要手動去把 html 中無關 code layout 的部份刪掉。因此就可以利用下面這種方式來輸出:
> pygmentize -f html -o skeleton.html p.hs
然後用 browser 打開 skeleton.html 以後會發現是黑白的。
而且用 editor 打開的話會發現他根本只有
換句話說這只是一個 html 的"片段"
所以我們可以用
> pygmentize -f html -S twilight > style.css
來取得名為twilight的style的css檔
然後打開之前輸出的 skeleton.html
補上 html, head, body 和 css 的 link
這樣就可以看見顏色了
(不過看不到 background color)
[1]
關於可以輸出的格式還有相對應的參數可以去這裡看看有哪些東西
/Library/Python/2.6/site-packages/Pygments-1.4-
py2.6.egg/pygments/formatters
[2]
關於可以 style 可以去這裡看看有哪些東西
/Library/Python/2.6/site-packages/Pygments-1.4-
py2.6.egg/pygments/styles