Проект собирается сборщиком gulp. Есть таски под разные задачи. Изначально из pug-файлов собирались .html-файлы. Потом появилась потребность одновременно сохранять эти же страницы в формате php. Использую rename для переименования html -> php
Вот таск сборки html/php:
module.exports = function() {
$.gulp.task('pug', ()=> {
return $.gulp.src('./dev/pug/pages/*.pug')
.pipe($.gp.pug({
locals : {
nav: JSON.parse($.fs.readFileSync('./data/navigation.json', 'utf8')),
content: JSON.parse($.fs.readFileSync('./data/content.json', 'utf8')),
},
pretty: true
}))
.on('error', $.gp.notify.onError(function(error) {
return {
title: 'Pug',
message: error.message
};
}))
.pipe($.gulp.dest('./build/'))
.on('end', $.browserSync.reload);
});
$.gulp.task('pugphp', ()=> {
return $.gulp.src('./dev/pug/pages/*.pug')
.pipe($.gp.pug({
locals : {
nav: JSON.parse($.fs.readFileSync('./data/navigation.json', 'utf8')),
content: JSON.parse($.fs.readFileSync('./data/content.json', 'utf8')),
},
pretty: true
}))
.on('error', $.gp.notify.onError(function(error) {
return {
title: 'Pug',
message: error.message
};
}))
.pipe($.rename(function (path) {
path.extname = ".php"
}))
.pipe($.gulp.dest('./build/'))
.on('end', $.browserSync.reload);
});
};
А вот gulp-файл:
global.$ = {
path: {
task: require('./gulp/paths/tasks.js')
},
gulp: require('gulp'),
del: require('del'),
fs: require('fs'),
browserSync: require('browser-sync').create(),
gp: require('gulp-load-plugins')(),
scss: require('gulp-sass'),
rename: require('gulp-rename')
};
$.path.task.forEach(function(taskPath) {
require(taskPath)();
});
$.gulp.task('dev', $.gulp.series(
'clean',
$.gulp.parallel('favicon', 'styles:dev', 'pug', 'pugphp', 'libsJS:dev', 'js:copy', 'libsCSS:dev', 'libs:dev', 'svg', 'img:dev', 'fonts','svg:copy')));
$.gulp.task('build', $.gulp.series(
'clean',
$.gulp.parallel('favicon', 'styles:build', 'pug', 'libsJS:build', 'js:copy', 'libsCSS:build','libs:build', 'svg', 'img:build', 'fonts','svg:copy')));
$.gulp.task('default', $.gulp.series(
'dev',
$.gulp.parallel(
'watch',
'serve'
)
));
Хотелось бы в php-файлы добавлять php-код автоматически, а не ручками (в частности нужно прописать
?v=<?=time()?>
В двух местах каждого php-файла.
Вопрос состоит в том, возможно ли это?