middleman buildしたらGruntを実行したかった


Middleman単体でもHTML,CSS,JavaScriptの圧縮はしてくれるんだけど、CSScombとかもしたかったので別途Gruntを動かしてた。

…けど、2回もコマンド叩いてウェーイするのはアレだと思ってなんとかしたかった。

やりかた

  1. config.rbを編集する。
  2. middleman buildをたたく。

config.rbを編集する。

config.rb
class StartGrunt < Middleman::Extension
    def initialize(app, options_hash={}, &block)
        super
        app.after_build do |builder|
            builder.run 'grunt'
        end
    end
end
::Middleman::Extensions.register(:grunt, StartGrunt)

activate :grunt

参考

Middleman: カスタム拡張

middleman buildをたたく

$ middleman build
create …
・
・
・
run  grunt from "."
Running "csscomb:dist" (csscomb) task
>> Using default config file...
>> Sorting file "build/css/style.css"...

まとめ

もうちょっとなんとかなる気がしますが、
とりあえず、こんな拡張方法もあるよってことで。
チラ裏でした。