Advertisement
Guest User

Untitled

a guest
May 25th, 2015
291
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. var gulp = require('gulp');
  2. var imagemin = require('gulp-imagemin');
  3. var pngquant = require('imagemin-pngquant');
  4. var spritesmith = require('gulp.spritesmith');
  5.  
  6. gulp.task('generate-sprites', function () {
  7. var spriteData = gulp.src('path-das-suas-imagens/*.png')
  8. .pipe(spritesmith({
  9. retinaSrcFilter: ['filtro-para-as-imagens-de-retina/*-2x.png'],
  10. imgName: 'nome-do-sprite-que-vai-ser-gerado.png',
  11. retinaImgName: 'nome-do-sprite-retina-que-vai-ser-gerado.png',
  12. imgPath: 'url-da-imagem-que-vai-ser-colocado-no-css', // dica: da pra colocar um if ternário com a url de dev e outra de prod
  13. retinaImgPath : 'url-da-imagem-de-retina-que-vai-ser-colocado-no-css', // dica: da pra colocar um if ternário com a url de dev e outra de prod
  14. cssName: 'nome-do-arquivo-css-que-vai-sergerado.css',
  15. algorithm : 'left-right', // algoritmo que vai montar os sprites, pode ser um destes: top-down left-right diagonal alt-diagonal binary-tree
  16. padding: 2, // espaçamento entre as imagens
  17. cssTemplate: 'tpl-sprite.handlebars' // template pra gerar o css
  18. }));
  19.  
  20. // antes de salvar as imagens no disco, aproveita o stream e já minifica a imagem
  21. spriteData.img.pipe(imagemin({
  22. progressive: true,
  23. svgoPlugins: [{removeViewBox: false}],
  24. use: [pngquant()]
  25. }))
  26. .pipe(gulp.dest('diretorio-onde-sera-salva-a-imagem/'));
  27.  
  28. // Pipe CSS stream through CSS optimizer and onto disk
  29. spriteData.css.pipe(gulp.dest('diretorio-onde-sera-salvo-o-css/'));
  30.  
  31.  
  32. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement