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

本文介绍CodeRay,一款高效的Ruby语法高亮库,支持多种编程语言。通过简单的安装步骤和配置,即可在Rails应用中实现代码片段的美观展示,并提供定制化的样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[url=http://coderay.rubychan.de/]CodeRay[/url]是一个语法高亮的Ruby库,效率很不错。
CodeRay目前支持的语法包括:
[list=1]
[*]Ruby
[*]C
[*]Delphi
[*]HTML
[*]RHTML (Rails)
[*]Nitro-XHTML
[*]YAML
[*]SQL
[*]Python
[*]Perl
[*]PHP
[*]Java
[/list]

[url=http://www.railscasts.com]railscasts[/url]的播主Ryan Bates自定义了一些css,让ruby、rhtml等代码看起来非常cool!

1,安装coderay gem
[code]
gem install coderay
[/code]

2,在application.rb中
[code]
require 'coderay'
[/code]

3,在application_helper.rb里添加一个helper方法
[code]
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标签了:
[code]
\[code:ruby\]
def aaa
puts "aaaa"
end
\[\/code\]
[/code]
code:ruby这样的标签中ruby可以用上面提到的支持的语言来替代

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

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

效果如下:
[img]http://www.iteye.com/upload/attachment/27903/90c8ab2a-465c-3ed9-b6ad-c228f84920c3.jpg[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值