UNPKG

light-boilerplate

Version:

Lightweight and powerfull startkit for your next project!

62 lines (57 loc) 1.59 kB
/** * Build SVG Sprite File * @description Build an SVG Vector Sprite and a Map file */ import meow from '../../config.json'; import gulp from 'gulp'; import gulpLoadPlugins from 'gulp-load-plugins'; import svgo from 'imagemin-svgo'; const $ = gulpLoadPlugins(); function buildVectorSpriteTask() { return gulp .src(meow.src.images.vectorSprite.files + '**/*.svg') .pipe( $.imagemin([ $.imagemin.svgo({ plugins: meow.minify.images.svgoPlugins, }), ]) ) .pipe( $.svgSprite({ shape: { dimension: { // Set maximum dimensions maxWidth: meow.src.images.vectorSprite.maxWidth, maxHeight: meow.src.images.vectorSprite.maxHeight, }, spacing: { // Add padding padding: meow.src.images.vectorSprite.padding, }, dest: meow.dist.vectors, }, mode: { view: { // Activate the «view» mode sprite: meow.dist.cssimg + meow.src.images.vectorSprite.name, dest: '.', bust: false, prefix: '%%svg', render: { scss: { template: meow.src.system + 'tpl_svgsprite.scss', dest: meow.src.style + 'maps/_sprite-svg.scss', }, }, }, symbol: { sprite: meow.src.images.vectorSprite.symbolName, dest: meow.dist.cssimg, }, }, }) ) .pipe(gulp.dest('./')); } export default buildVectorSpriteTask;