tm_syntax_highlighting是一個rails的syntax高亮plugin。
這類型的plugin有許多選擇,有一篇文章對常見的此類rails plugin做了評比
直接說結論:最好的兩套是 harsh 和 tm_syntax_highlighting
這兩套其實差不多,都是用 ultraviolet + textpow 來做高亮,因此在安裝這兩套之前需要先安裝 ultraviolet。
正常來說直接gem install ultraviolet就可以了,但我在我的mac上面碰到了一些問題,gem install無法正常安裝 oniguruma。
2011/03/07更新:homebrew有oniguruma,直接brew install oniguruma
所以只好直接下載 oniguruma 下來一樣三步驟 ./configure;make;make install 後再繼續安裝ultraviolet 就可以了。
但如果直接用gem install tm_syntax_highlighting,安裝的版本非常奇怪,在rails 3 環境根本 run 不起來,generator 也沒有作用。去作者的 github 比對一下原始碼可以發現有許多修改都沒有放進去。好在 rails 3 的 Gemfile 可以指定git作為source了!但指定原作者的github為source,卻傳回錯誤訊息?
稍微 google一下,發現有別人 release了 for rails 3的此套件,使用這個github來當source:
gem 'tm_syntax_highlighting', :git=>'http://github.com/dasil003/tm_syntax_highlighting.git'
這樣就可以正常使用這個套件了,他的generator說明有點錯誤,直接下rails g syntax_css 就會把所有css檔案統統複製到public下面了,什麼list, all那些參數完全沒有作用。
ultraviolet 支援的 syntax 列表在這
使用時,傳:lang進去時記得要:
str.downcase.gsub(" ","_")