Syntax Highlight 套件
出自我的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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章