Есть таск для сборки SVG
gulp.task('svg', function () {
var svgSrc = gulp.src(['app/img/svg/**.*','!app/img/svg/defs.svg','!app/img/svg/sprite.svg']);
svgSrc
.pipe(svgmin({
js2svg: {
pretty: true
}
}))
.pipe(cheerio({
run: function ($) {
$('[fill]').removeAttr('fill'); //remove if need color icon
$('[style]').removeAttr('style');
},
parserOptions: {xmlMode: true }
}))
.pipe(svgSprite( {
mode:{
symbol: true,
}
}))
.pipe(rename("pack.html"))
.pipe(gulp.dest('app/img/'))
.pipe(gulp.dest('dist/img/'))
svgSrc
.pipe(svgSpriteTempl())
.pipe(gulp.dest('app/img/'))
.pipe(gulp.dest('dist/img/'))
var svgArray =[];
fs.writeFile("app/html/block_html/_svg.pug",'');
fs.readdirSync('app/img/svg').forEach(file => {
svgArray.push("\'"+file+"\'");
})
fs.writeFile("app/html/block_html/_svg.pug",'- svgArray = ['+ svgArray+'];');
});
Как реализовать данное:
Если в имени файла есть приставка к имени.
К примеру, в файле fileName--color.svg есть " --color ", то данный pipe не запускать
.pipe(cheerio({
run: function ($) {
$('[fill]').removeAttr('fill'); //remove if need color icon
$('[style]').removeAttr('style');
},
parserOptions: {xmlMode: true }
}))
Заранее благодарю за Ваш совет.