总觉得不是很理想的方案,对 Python 没有排斥,只是觉得应该有纯 Ruby 的代码高亮工具。
文章可以看看 [Ruby][教學] 如何打包一個 Asset Gem http://blog.xdite.net/posts/2012/01/04/how-to-pack-a-asset-gem/
#3 楼 @Rei 谢谢,受启发做了一个 gem,syntax_highlighter-rails https://github.com/richfisher/syntax_highlighter-rails
Rails3,CodeRay gem 高亮代码:http://www.everyday-cn.com/en/show_blog/rails3-coderay-gem
#18 楼 @tualatrix Ruby 调用 Pygments 简单的方式就是调用 Shell 不过 ruby-china 不是这样做的,用了 pygments.rb 这个 Gem,它是将 Python 签入到 Ruby 里面的(这个我的猜测) https://github.com/tmm1/pygments.rb
大家为啥觉得 js 来实现 highlight 不好,我的第一感觉就是用 js 来实现,以前也都是用 js 来实现的 http://softwaremaniacs.org/soft/highlight/en/
我喜欢服务端的原因是因为可以选择 cache 下来,比如目前 Wiki 里面的 Markdown 结果就是直接以 HTML 存放的,读取的时候前后端都不需要运算了
其实要看你的代码高亮是要做什么,如果不是类似 github 这种应用的话,怎么搞都行。
但是如果要做专业的,各种乱七八糟的代码库的高亮的话,其他高亮库跟 pygments 有数量级上的差距。