Created
January 19, 2015 10:04
-
-
Save raank/bad907a1ed9453362393 to your computer and use it in GitHub Desktop.
GulpFile.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"use strict"; | |
var gulp = require( "gulp" ), | |
plugins = require( "gulp-load-plugins" )({ lazy: false }), | |
argv = require( "minimist" )(process.argv.slice(1)), | |
comb = require( "./csscomb.json" ), | |
path = require( "path" ); | |
gulp.task( "task:styles", function() { | |
gulp.src( "../assets/sass/**/*.scss" ) | |
.pipe( plugins.plumber({errorHandler: plugins.notify.onError("Erro ao compilar os styles, <%= error.message %>")})) | |
.pipe( plugins.rubySass({ | |
loadPath : [ "../assets/components" ], | |
noCache : true, | |
compass : true, | |
style : "compressed", | |
trace : true, | |
"sourcemap=none": true | |
})) | |
.pipe( plugins.autoprefixer(["last 2 version", "> 1%", "ie 8", "ie 7"], {cascade: false}) ) | |
.pipe( plugins.rename( { suffix: ".min" } ) ) | |
.pipe( plugins.if( !( argv.d || argv.debug ), plugins.minifyCss() ) ) | |
.pipe( gulp.dest( "../build/css" ) ) | |
.pipe( plugins.if( argv.n || argv.notify, plugins.notify("CSS Compilado: <%= file.relative %>")) ) | |
}); | |
gulp.task( "task:javascripts", function() { | |
gulp.src( [ "../assets/js/**/*.js", "!../assets/js/**/_*.js"] ) | |
.pipe( plugins.plumber({errorHandler: plugins.notify.onError("Erro ao compilar os scripts, <%= error.message %>")}) ) | |
.pipe( plugins.dynamic({ paths: [ "../assets/components" ] }) ) | |
.pipe( plugins.if( !( argv.d || argv.debug ), plugins.uglify() ) ) | |
.pipe( plugins.rename( { suffix: ".min" } ) ) | |
.pipe( gulp.dest( "../build/js" ) ) | |
.pipe( plugins.if(argv.n || argv.notify, plugins.notify("JS Compilado: <%= file.relative %>")) ) | |
}); | |
gulp.task( "task:images:retina", function() { | |
gulp.src( [ "../build/images/**/*@2x.png", "../build/images/**/*@2x.gif", "../build/images/**/*@2x.jpg" ] ) | |
//gulp.src( "../build/images/colecao/*[email protected]" ) | |
.pipe( plugins.gm(function (gmfile, done) { | |
done(null, gmfile.resize(50, "%")); | |
})) | |
.pipe( plugins.rename(function(path) { | |
path.basename = path.basename.replace("@2x", ""); | |
})) | |
.pipe( gulp.dest("../build/images") ) | |
}); | |
gulp.task( "task:clean", function(cb) { | |
return gulp.src( [ "../build/css/*", "../build/js/*" ], { ready: true } ) | |
.pipe( plugins.clean({ force: true }) ) | |
.pipe( plugins.if(argv.n || argv.notify, plugins.notify("Arquivos removidos com sucesso!")) ); | |
}); | |
gulp.task( "task:csscomb", function(){ | |
return gulp.src([ "../assets/sass/**/*.scss", "!../assets/sass/global/_fonts.scss", "!../assets/sass/global/_mixins.scss" ]) | |
.pipe( plugins.csscomb( comb ) ) | |
.pipe( gulp.dest( "../assets/sass" ) ) | |
.pipe( plugins.if(argv.n || argv.notify, plugins.notify("Organização completa!")) ); | |
}); | |
// Task copia todas as fontes baixadas nos componentes do Bower e insere na pasta build/fonts. | |
gulp.task( "task:fonts", function() { | |
return gulp.src( ["../assets/components/**/**.{ttf,woff,svg,eot}", "!../assets/components/**/svg/*"] ) | |
// "!../assets/components/**/svg/*" // ifnore folder SVG folder icons or items | |
.pipe( plugins.flatten() ) | |
.pipe( gulp.dest( "../build/fonts" ) ); | |
}); | |
/** | |
========================= | |
===== Tasks Default ===== | |
========================= | |
*/ | |
gulp.task( "build", ["task:clean"], function() { | |
gulp.start( "task:styles", "task:javascripts", "task:fonts" ); | |
}); | |
gulp.task( "default", [ "watch:sass", "watch:js" ] ); | |
gulp.task( "watch:sass", function() { | |
gulp.watch([ "../assets/sass/**/*.scss" ], [ "task:styles" ]); | |
}); | |
gulp.task( "watch:js", function() { | |
gulp.watch([ "../assets/js/**/*.js" ], [ "task:scripts" ]); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment