相変わらずgulpに振り回されているけーすけです。どう考えても使わない方が早い。
さて、爆速らしいテンプレートエンジン、ECTをgulpで使うgulp-ectですが、npm install gulp-ectして適当に
// ECT gulp.task('ect', function(){ return gulp.src(['app/ect/**/*.ect','!app/ect/**/_*.ect'], {base: 'app/ect'}) .pipe(ect({data: function (filename, cb) { console.log(filename); cb({foo: "bar"}); }})) .pipe(gulp.dest('app')); });
とかやって(デバッグ用コンソール出力はこちら様を参考に)、
app │ ├─about ├─company ├─css ├─ect │ ├─partials │ ├─about │ └─company ├─images └─js
みたいな構造で、ect以下、partialsを除いてaboutとかcompanyとか全てにindex.htmlがある状態で動かしても、何故か、aboutにもcompanyにもect直下のindex.ectが書き出されてしまう。
はて、gulpfile.jsの問題かしらんと思っていじくったりぐぐったりで3時間。
考えて見たら、階層構造自体は再現されているのだからgulpfile.jsの問題とは思えないということで、gulp-ectのindex.jsの23行目辺りを
//var filePath = file.base; var filePath = path.dirname(file.path);
改変。まだちゃんと使ってないですが、とりあえずディレクトリ1個に関しては上書きされずに動作することを確認したので、これでようやくまともにサイトのコーディングに使えるかなという感じです。
爆速爆速という割りに、意外と使われてないのかなぁ。