webbyでpukipa

デフォルトのTextitleがなんか具合悪いのでpukiwikiに変えてみた。
webby-genで作られたlibディレクトリか
/usr/lib/ruby19/gems/1.9.1/gems/webby-0.9.4/lib/webby/filters

pukipa.rbというファイル名で以下の内容のファイルを作る。

http://jp.rubyist.net/magazine/?0010-CodeReview-pukiwikiparser.rb
のpukipaをコピーして修正する。

# http://jp.rubyist.net/magazine/?0010-CodeReview-pukiwikiparser.rb
# の内容をコピペ
# initializeのlogger引数を除く
# @loggerのある行を全部削除

Webby::Filters.register :pukiwiki do |input, cursor|
  PukiWikiParser.new.to_html(input, [])
end

このままだとerbが置き換えたhtmlがあった場合に
再度pukiwikiエスケープされるので、
これを防止するために
PukiWikiParser#to_html内のcase文elseの前に以下のコードを追加してみる。

      when /\A</
        buf.concat take_block(lines, /\A(?![*\s>:\-\+]|----|\z)/)

content/index.txt

filter:
  - erb
  - pukiwiki

という感じでtextileを置き換えてwebbyする。
内部リンクはaタグで書くかerbの方で扱う必要があるが
とりあえず動いた。