@@ -12,7 +12,10 @@ var gulp = require('gulp'),
1212 plumber = require ( 'gulp-plumber' ) ,
1313 browserSync = require ( 'browser-sync' ) ,
1414 cssshrink = require ( 'gulp-cssshrink' ) ,
15- cp = require ( 'child_process' ) ;
15+ cp = require ( 'child_process' ) ,
16+ changed = require ( 'gulp-changed' ) ,
17+ imagemin = require ( 'gulp-imagemin' ) ,
18+ size = require ( 'gulp-size' ) ;
1619
1720
1821gulp . task ( 'styles' , function ( ) {
@@ -40,6 +43,20 @@ gulp.task('scripts', function() {
4043 . pipe ( browserSync . reload ( { stream :true } ) ) ;
4144} ) ;
4245
46+ // Optimizes the images that exists
47+ gulp . task ( 'images' , function ( ) {
48+ return gulp . src ( 'src/images/**' )
49+ . pipe ( changed ( 'public/images' ) )
50+ . pipe ( imagemin ( {
51+ // Lossless conversion to progressive JPGs
52+ progressive : true ,
53+ // Interlace GIFs for progressive rendering
54+ interlaced : true
55+ } ) )
56+ . pipe ( gulp . dest ( 'public/images' ) )
57+ . pipe ( size ( { title : 'images' } ) ) ;
58+ } ) ;
59+
4360gulp . task ( 'browser-sync' , [ 'styles' , 'scripts' ] , function ( ) {
4461 browserSync ( {
4562 server : {
@@ -56,8 +73,10 @@ gulp.task('watch', function() {
5673 gulp . watch ( 'src/sass/**/*.scss' , [ 'styles' , browserSync . reload ] ) ;
5774 // Watch .js files
5875 gulp . watch ( 'src/javascripts/*.js' , [ 'scripts' , browserSync . reload ] ) ;
76+ // Watch image files
77+ gulp . watch ( 'src/images/**/*' , [ 'images' , browserSync . reload ] ) ;
5978} ) ;
6079
6180gulp . task ( 'default' , function ( ) {
62- gulp . start ( 'styles' , 'scripts' , 'browser-sync' , 'watch' ) ;
81+ gulp . start ( 'styles' , 'scripts' , 'images' , ' browser-sync', 'watch' ) ;
6382} ) ;
0 commit comments