gulp + pug(jade)で静的ファイルをjsonで一気に書き出す


出来たやつ

import rename from 'gulp-rename';

ar pageData = readConfig(`${CONFIG}/result.json`);
pageData = pageData.pages;
var tacks = [];
for (var key in pageData) {
    (function(key) {
        gulp.task(pageData[key].id, function() {
            return gulp.src(`${SRC}/jade/result/index.jade`)
                .pipe(jade({
                    locals: pageData[key],
                    pretty: true
                }))
                .pipe(rename("result/"+pageData[key].id + ".html")) //出力ファイル名を指定
                .pipe(gulp.dest(`${DEST}`)); //ファイル出力先を設定
        });
    })(key);
    tacks.push(pageData[key].id);
}

//その他のとまとめて
gulp.task('build', gulp.parallel('css', 'js', 'html', tacks));

json を読み込む

var pageData = require(`${SRC}/config/result.json`);

ファイルの名前を変更する

テンプレートの名前のままにするわけにはいかないから

import rename from require('gulp-rename');
.pipe(rename(pageData[key].id+".html"))

参考サイト

gulpinfoの書き方

リネームとか基本的なの