diff --git a/README.md b/README.md index 97dbdca..93eafff 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,7 @@ When completed, you'll be able to run the various Gulp commands provided from th * `gulp dev` — Compile LESS to CSS, concatenate and validate JS * `gulp watch` — Compile assets when file changes are made * `gulp build` — Create minified assets that are used on non-development environments +* `gulp images` — Lossless compression of PNG, JPEG, GIF and SVG images ## Documentation diff --git a/gulpfile.js b/gulpfile.js index 920c6b2..6ea429c 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,6 +1,7 @@ /*global $:true*/ var gulp = require('gulp'); var $ = require('gulp-load-plugins')(); +var pngcrush = require('imagemin-pngcrush'); var mainBowerFiles = require('main-bower-files'); var paths = { @@ -14,6 +15,7 @@ var paths = { 'assets/js/*.js', '!assets/js/scripts.js', '!assets/js/scripts.min.js', + '!assets/js/vendor/**/*', '!assets/**/*.min-*' ], less: 'assets/less/main.less', @@ -74,6 +76,20 @@ gulp.task('modernizr', function() { .pipe(gulp.dest(destination.vendor)); }); +gulp.task('images', function () { + return gulp.src('assets/img/**/*') + .pipe($.imagemin({ + progressive: true, + interlaced: true, + use: [pngcrush()] + })) + .pipe(gulp.dest('assets/img')); +}); + +gulp.task('bust', function () { + $.cache.clearAll(); +}); + gulp.task('version', function() { return gulp.src(['assets/css/main.min.css', 'assets/js/scripts.min.js'], { base: 'assets' }) .pipe($.rev()) diff --git a/package.json b/package.json index 969fd49..3f08142 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "gulp-concat": "^2.3.4", "gulp-filter": "^0.5.0", "gulp-grunt": "^0.5.2", + "gulp-imagemin": "^0.6.0", "gulp-jshint": "^1.8.4", "gulp-less": "^1.3.3", "gulp-livereload": "^2.1.0", @@ -40,6 +41,7 @@ "gulp-rev": "^1.1.0", "gulp-sourcemaps": "^1.1.1", "gulp-uglify": "^0.3.1", + "imagemin-pngcrush": "^1.0.0", "jshint-stylish": "^0.4.0", "main-bower-files": "^1.0.1" }