作者giive (lala)
看板Ruby
标题Syntax Highlight 套件
时间Sat Oct 21 18:09:54 2006
出自我的Blog
http://lightyror.blogspot.com/2006/10/syntax-highlight.html
我在这个 Blog 写的程式码都是用 nopaste 这个网站帮我转的,他会自动帮我 Syntax Highlight,实在很方便,不过我最近发现到 JAVAEye 有一个很棒的功能,当你在论坛发表文章,文章里面放上程式码的时候,如果你用 [code] [/code] 将他包起来。他会自动帮你作 Syntax Highlight。大家都知道 JavaEye是 Ruby on Rails 作的,那他是怎麽做到的呢?我发现到也有人跟我有一样的问题,有人的回答是
有一个叫Syntax的lib
我上网去找,找到他的官方网站,并且测试一下,发现到他的 Syntax Highlight 是CSS class 包起来的
<span class="keyword">yield</span>
需要自己写 CSS Class 才可以成功显示颜色,并且缩排有问题。既然这样的话,有没有可能是另外一个套件呢?又花点时间 survey ,发现到 CodeRay 这个套件,一经适用,发现到他产生的 HTML 是呈现
<span style="color:#080; font-weight:bold">case</span>
这样的格式,所以不需 CSS 就可以直接显示了。很不幸的,他的缩排还是有问题,会呈现这样的惨状
! /usr/bin/ruby
when 'Net::HTTPServiceUnavailable'
puts now+ ' '+res.class.to_s
when 'Net::HTTPMethodNotAllowed'
puts now+ ' '+res.class.to_s
else
puts now + ' '+res.class.to_s
end
真是够惨的,是我那里使用错误吗?有人知道吗?
以下是我目前试出来的用法。
Syntax :
安装 : gem i syntax
使用方式:
require 'syntax/convertors/html'
convertor = Syntax::Convertors::HTML.for_syntax "ruby"
html = convertor.convert( File.read( "program.rb" ) )
puts html
CodeRay :
安装:gem i coderay
使用方式:
require 'coderay'
print CodeRay.scan(File.read('ruby.rb'), :ruby).div
PS. typo 有 CodeRay 的套件,可以到这里看看怎麽安装
--
lighty RoR 是一个介绍 lighttpd , SQLite , Ruby and Rails 的 Blog
http://lightyror.blogspot.com/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.174.208.56