@vovkka

Как сгенерировать обычный спрайт и под ретину spritesmith gulp в одном таске?

Добрый день. Подскажите пожалуйста можно ли через плагин spritesmith сгенерировать два спрайта и два файла .scss...
Сейчас у меня в папке img две папки icon и icon_retina. ну и соответственно два таска...

// add sprite png
gulp.task('sprite', function() {
    var spriteData = 
        gulp.src('app/img/icon/*.*') // путь, откуда берем картинки для спрайта
            .pipe(spritesmith({
                imgName: 'sprite.png',
                cssName: '_sprite.scss',
                cssFormat: 'scss', // в каком формате выводить css
                algorithm: 'binary-tree', // алгоритм сортировки иконок в спрайте
                imgPath: 'img/sprite.png', // путь до спрайта
                padding: 1,
                // retinaSrcFilter: '*-2x.png',
                // retinaImgName: 'sprite-2x.png'
                //cssTemplate: 'stylus.template.mustache',
                // cssVarMap: function(sprite) {
                //     sprite.name = 's-' + sprite.name
                // }
            }));

    spriteData.img.pipe(gulp.dest('app/img/')); // путь, куда сохраняем картинку
    spriteData.css.pipe(gulp.dest('app/sass/')); // путь, куда сохраняем стили
});

// add sprite retina
gulp.task('spriteRetina', function () {
  var spriteData = gulp.src('app/img/icon_retina/*.png')
  .pipe(spritesmith({
    retinaSrcFilter: 'app/img/icon_retina/*@2x.png', // шаблон по которому ищем ретина иконки
    imgName: 'spriteRetina.png',
    retinaImgName: 'spriteRetina.png',
    cssName: '_spriteRetina.scss'
  }));

 		spriteData.img.pipe(gulp.dest('app/img/')); // путь, куда сохраняем картинку
    spriteData.css.pipe(gulp.dest('app/sass/')); // путь, куда сохраняем стили
});


Как лучше сделать ? спасибо!
  • Вопрос задан
  • 600 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы