[Grunt & Yeoman] grunt-contrib-copy でファイルをコピーする

grunt-contrib-copy

インストール

% npm install grunt-contrib-copy --save-dev

Gruntfile

Bower でインストールしたフォントを移動するイメージ。
grunt.initConfig の一部のみ抜粋。
Gruntfile.coffee

# grunt-contrib-copy
copy:
  dev:
    files: [ {
        expand: true,
        flatten: true,
        src: 'src/vendor/bootstrap/fonts/*',
        dest: 'src/fonts/',
        filter: 'isFile'
      }, {
        expand: true,
        flatten: true,
        src: 'src/vendor/font-awesome/fonts/*'
        dest: 'src/fonts/',
        filter: 'isFile'
      } ]

flatten というのは、結果にこんな違いがあるよう。

flatten: false

src/fonts
└── src
    └── vendor
        ├── bootstrap
        │   └── fonts
        │       ├── glyphicons-halflings-regular.eot
        │       ├── glyphicons-halflings-regular.svg
        │       ├── glyphicons-halflings-regular.ttf
        │       └── glyphicons-halflings-regular.woff
        └── font-awesome
            └── fonts
                ├── FontAwesome.otf
                ├── fontawesome-webfont.eot
                ├── fontawesome-webfont.svg
                ├── fontawesome-webfont.ttf
                └── fontawesome-webfont.woff

flatten: true

src/fonts
├── FontAwesome.otf
├── fontawesome-webfont.eot
├── fontawesome-webfont.svg
├── fontawesome-webfont.ttf
├── fontawesome-webfont.woff
├── glyphicons-halflings-regular.eot
├── glyphicons-halflings-regular.svg
├── glyphicons-halflings-regular.ttf
└── glyphicons-halflings-regular.woff