guard-coffeescript と guard-shell で Coffeescript と jade を自動ビルド

jade だけだったら watch とか使えば良いと思うんですが, Coffeescript も自動ビルドしたい. しかしぱっと見 guard-jade とかなさそう.

Coffeescript の自動ビルドは guard-coffeescript でなんとかして頂きたい. ということで jade については自分で書く.

$ gem install guard
$ gem install guard-coffeescript
$ gem install guard-shell
$ gem install jade

諸事情で jade は実は npm でインストールしてあるんだが, 恐らく大丈夫.

Guardfile はこんな感じ.

# jade/ にある .jade ファイルの変更を検知してビルドしたものを public に出力
# .swp ファイルは排除 ( vim で書いてるので... )
# -P フラグで HTML 出力を人間が読みやすいようにしてくれる
guard :shell, :all_on_start => true do
  if watch /jade\/.*\.jade(?!\.swp)/ do |m|
    `jade -P -O public/ #{m}`
  end
end

# coffee/ にある .coffee ファイルの変更を検知してビルドしたものを public/js に出力
guard 'coffeescript', :input => 'coffee', :output => 'public/js', :bare => false, :all_on_start => true

all_on_start を true にすると guard を実行した瞬間にすべてビルドします.

こんな感じ. guard-jade ないかなあ. ( というか guard-coffeescript とかがどう実装しているのかは知らない )