Skip to content

Instantly share code, notes, and snippets.

@juanpablocs
Last active December 10, 2015 21:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save juanpablocs/f70d75be81850d798f0e to your computer and use it in GitHub Desktop.
Save juanpablocs/f70d75be81850d798f0e to your computer and use it in GitHub Desktop.
tarea para concatenar todos los archivos css por modulo
```javascript
/*!!
* @author: Juan Pablo
* Tarea para comprimir y combinar todos los archivos compilados
* a un archivo final
* http://stackoverflow.com/a/23731040
*
* tarea : gulp build
* instalar : npm install event-stream --save-dev
*/
function Task(gulp, path, options, plugins, settings, callback) {
function getFolders(settings, dir) {
return settings.fs.readdirSync(dir)
.filter(function(file) {
return settings.fs.statSync(dir+file).isDirectory();
});
}
function format_gulp(name){
return name + '/*.css';
}
gulp.task('dist', function () {
var output = path.dest.css;
var random = Math.round(Math.random()*99999999999999);
var dir_helpers = output + '_helpers/';
var dir_layouts = output + 'layouts/';
var dir_modules = output + 'modules/';
var folders = getFolders(settings, dir_modules);
var task_modules_css = folders.map(function(folder)
{
var files_layout = format_gulp(dir_layouts + folder);
var files_module = format_gulp(dir_modules + folder);
var src_gulp = (folder=='all') ? [] : [files_layout, files_module];
return gulp.src(src_gulp)
.pipe(plugins.concat(folder + '.min.css'))
.pipe(gulp.dest(output + 'dist'));
});
var task_files_css = gulp.src([
dir_modules + 'all/all.css',
dir_layouts + 'layout.css',
dir_helpers + '**/*.css',
dir_modules + '/*.css',
])
.pipe(plugins.concat('all.min.css'))
.pipe(gulp.dest(output + '/dist'));
return plugins.merge(task_modules_css, task_files_css);
});
}
module.exports = Task;
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment