论坛首页 编程语言技术论坛

使用coderay和railscasts样式进行代码高亮

浏览 4095 次
精华帖 (0) :: 良好帖 (5) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-06-17  
CodeRay是一个语法高亮的Ruby库,效率很不错。
CodeRay目前支持的语法包括:
  1. Ruby
  2. C
  3. Delphi
  4. HTML
  5. RHTML (Rails)
  6. Nitro-XHTML
  7. YAML
  8. SQL
  9. Python
  10. Perl
  11. PHP
  12. Java


railscasts的播主Ryan Bates自定义了一些css,让ruby、rhtml等代码看起来非常cool!

1,安装coderay gem
gem install coderay


2,在application.rb中
require 'coderay'


3,在application_helper.rb里添加一个helper方法
def parse_coderay(text)
  text.scan(/(\[code\:([a-z].+?)\](.+?)\[\/code\])/m).each do |match|
    text.gsub!(match[0],CodeRay.scan(match[2].strip, match[1].to_sym).div( :line_numbers => :table,:css => :class))
  end
  return text
end

这样,我们的文本输入框就支持这样的code标签了:
\[code:ruby\]
def aaa
   puts "aaaa"
end
\[\/code\]

code:ruby这样的标签中ruby可以用上面提到的支持的语言来替代

4,借用railscasts的coderay样式
http://railscasts.com/stylesheets/coderay.css

5,在html.erb页面中
<div class="CodeRay"><%= parse_coderay @post.content %></div>


效果如下:
   发表时间:2008-06-26  
javaeye自己用的是什么highlight什么的吗?
0 请登录后投票
   发表时间:2008-06-27  
不错,很爽,如果能显示成textmate那样的就好了。
0 请登录后投票
   发表时间:2008-07-08  
飘过~~~
代码发芽网可以不用插件支持blog代码高亮
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics