精華區beta Ruby 關於我們 聯絡資訊
出自我的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 > -------------------------------------------------------------------------- < 作者: yzugsr (Bird) 看板: Ruby 標題: Re: Syntax Highlight 套件 時間: Sun Oct 22 00:34:31 2006 ※ 引述《giive (lala)》之銘言: : ! /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 : 真是夠慘的,是我那裡使用錯誤嗎?有人知道嗎? 我完全按照你的教學用coderay,一次成功耶 @@ 結果像這樣 http://gsr.no-ip.org/drupal/node/69 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.216.176.233