У меня было то же желание, и я написал функцию, которая использует gulp-rename для перезаписи путей к файлам по мере их обработки.
После того, как вы запустите pug()
, запустите rename()
с этой функцией:
// custom pathbuilder function
const pathbuilder = (path) => {
if ('index' !== path.basename) {
path.dirname = path.basename.split('_').join('/')
path.basename = 'index'
}
}
gulp.task('html', function(){
return gulp.src(['src/**/*.pug', ...ignorePug])
.pipe( pug() )
.pipe( rename((path) => { pathbuilder(path) }) )
.pipe( gulp.dest('build') )
})
Он настроен на то, что вы ищете.Кроме того, вы можете использовать подчеркивания, чтобы углубиться в каталоги.
src/index.pug -> build/index.html
src/team.pug -> build/team/index.html
src/team_alexander.pug -> build/team/alexander/index.html
src/somepage.pug -> build/somepage/index.html
Обязательно установите и сначала потребуется пакет переименования.