Jade(Pug)でディレクトリ構造を維持して出力する方法
最近、gulp を使わずに npm-scripts を使ってタスク管理していたら HTML テンプレートエンジンの Jade で少し躓いた。
gulp を使っていれば、下記のように書けば階層構造を維持したまま出力してくれる。
gulp = require 'gulp'
jade = require 'gulp-jade'
gulp.task 'jade', ->
gulp
.src('./src/**/*.jade')
.pipe(jade())
.pipe(gulp.dest('./public'))
├── public
│ ├── hoge
│ │ └── index.html
│ └── index.html
└── src
├── hoge
│ └── index.jade
└── index.jade
しかし、jade コマンドで下記のように実行するとフラットな状態で出力されていた。
$ jade src --out public
├── public
│ └── index.html
└── src
├── hoge
│ └── index.jade
└── index.jade
オフィシャルのドキュメントを読んでもそれっぽいオプションがなかったので、GitHub の issueを漁ってたら hierarchy オプションが追加されてた…
$ jade src --hierarchy --out public
オフィシャルのドキュメントが信用ならないパターンもある。