2010年11月23日火曜日

coderay

rubyでプログラミングのコードをhighlightしてくれるライブラリ、CodeRay

Lokkaで使えるようにできないかなあ、と考えていたのを、本日のハイな状態でやってみました。(^^;)

ただ、Post全体を検索して、code部分をcoderayでscanして差し替える、というところまでは行き着いていないです。とりあえず、最初に出てくる「pre」tagをHpricotで抜き出して、それをCodeRay.highlightで処理する、というところまでです。

def coder(body)
      doc=Hpricot(body)
      coded=(doc/'pre').first.inner_text
      coded=CodeRay.highlight(coded,:ruby)
    end

書いたコードはたったこれだけ。で、viewの中で
= coder(post.body)
を記述してみると、

えーとこれは
coderay-stylesheet
で生成される.cssを適用している状態です。タブの入り方が変ですねえ。

自前でやるより、このサイトで使わせてもらっているhighlighterを組み込んだほうがいいような気がするなあ。

0 件のコメント:

コメントを投稿