Skip to content

Instantly share code, notes, and snippets.

@cyocun
Created January 28, 2015 14:40
Show Gist options
  • Save cyocun/938a1c1b68a4994dfd10 to your computer and use it in GitHub Desktop.
Save cyocun/938a1c1b68a4994dfd10 to your computer and use it in GitHub Desktop.
gulp sprite
// load Node.js API
var fs = require('fs'),
path = require('path');
// function.getFolders
var getFolders = function (dir) {
return fs.readdirSync(dir)
.filter(function (file) {
return fs.statSync(path.join(dir, file)).isDirectory();
});
}
// task.sprites
gulp.task('sprite', function () {
// set target folders
var folders = getFolders('app/assets/sprite/');
// generate image & sass files
folders.map(function (folder) {
var spriteData = gulp.src('app/assets/sprite/' + folder + '/*.png')
.pipe($.plumber())
.pipe($.spritesmith({
imgName: 'sprite-' + folder + '.png',
imgPath: '../img/sprite-' + folder + '.png', //scssからみたpath
cssName: '_' + folder + '.scss',
// algorithm: 'binary-tree',
// padding: 4,
cssFormat: 'scss',
cssVarMap: function (sprite) {
sprite.name = 'sprite-' + sprite.name; //VarMap(生成されるScssにいろいろな変数の一覧を生成)
}
}));
spriteData.img.pipe(gulp.dest('app/assets/img'));
spriteData.css.pipe(gulp.dest('app/assets/css/sprite/'));
});
});
@cyocun
Copy link
Author

cyocun commented Jan 28, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment