[Middleman 3] grunt watch で middleman build する

CSS や JavaScript などのコンパイルをまるごと Middleman におまかせして楽したい。

“`prettyprinted
% middleman version
Middleman 3.3.6
“`

引き続き検討しています。

> * [Middleman と Grunt の役割分担 | deadwood](https://www.d-wood.com/blog/2014/10/15_7038.html)
> * [middleman server -h オプションでサーバを起動する | deadwood](https://www.d-wood.com/blog/2014/10/16_7043.html)

サーバは vagrant の方が何かと都合が良いです。
ということで `middleman build` コマンドが grunt から実行できれば良さそうです。

## grunt-middleman

grunt-middleman で実現できそうです。

> * [patrickarlt/grunt-middleman](https://github.com/patrickarlt/grunt-middleman)

### インストール

“`prettyprinted
% npm install –save-dev grunt-middleman
“`

### Gruntfile.coffee

設定はこんな形。拡張子で指定しても良さそうです。

“`ruby:Gruntfile.coffee
#
# watch tasks
#
# grunt-middleman
middleman:
options:
useBundle: true
build:
options:
command: “build”
# grunt-contrib-watch
watch:
middlemanBuild:
files: [‘<%= dir.src %>/**/*.{scss,js,erb}’]
tasks: [‘middleman’]
“`

あっさりできました。ありがたい。

## 補遺

> * [Grunt + TypeScript + Middleman によるフロントエンド開発環境を作ってみる | Developers.IO](http://dev.classmethod.jp/client-side/javascript/grunt-typescript-middleman/#toc-201452-grunt-external-daemon–middleman-)