From e389e0884145a49bdd5687cc7063d3da2a78bb8f Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Mon, 3 Apr 2017 22:57:43 +0200 Subject: [PATCH] optimize jpg with jpegoptim --- gulpfile.babel.js | 40 ++++++++++++++++++---------------------- package.json | 3 ++- 2 files changed, 20 insertions(+), 23 deletions(-) diff --git a/gulpfile.babel.js b/gulpfile.babel.js index d46691ea..6077ea0a 100644 --- a/gulpfile.babel.js +++ b/gulpfile.babel.js @@ -1,14 +1,15 @@ 'use strict' import { src, dest, parallel, series, watch } from 'gulp' -import plugins from 'gulp-load-plugins' -import del from 'del' -import pkg from './package.json' -import parallelize from 'concurrent-transform' -import browser from 'browser-sync' -import autoprefixer from 'autoprefixer' -import cssnano from 'cssnano' -import critical from 'critical' +import plugins from 'gulp-load-plugins' +import del from 'del' +import pkg from './package.json' +import parallelize from 'concurrent-transform' +import browser from 'browser-sync' +import autoprefixer from 'autoprefixer' +import cssnano from 'cssnano' +import critical from 'critical' +import imageminJpegoptim from 'imagemin-jpegoptim' // load plugins const $ = plugins() @@ -250,29 +251,24 @@ export const icons = () => src(iconset.icons) // // Images // +const imageminPlugins = [ + $.imagemin.gifsicle({ interlaced: true }), + imageminJpegoptim(), + $.imagemin.optipng({ optimizationLevel: 5 }), + $.imagemin.svgo({ plugins: [{removeViewBox: false }]}) +] + export const images = () => src([ SRC + '/_assets/img/**/*', '!' + SRC + '/_assets/img/entypo' ]) - .pipe($.if(isProduction, $.imagemin({ - optimizationLevel: 5, // png - progressive: true, // jpg - interlaced: true, // gif - multipass: true, // svg - svgoPlugins: [{ removeViewBox: false }] - }))) + .pipe($.if(isProduction, $.imagemin(imageminPlugins))) .pipe(dest(DIST + '/assets/img/')) // optimize Jekyll generated images export const imagesGenerated = () => src(DIST + '/media/gen/**/*') - .pipe($.if(isProduction, $.imagemin({ - optimizationLevel: 5, // png - progressive: true, // jpg - interlaced: true, // gif - multipass: true, // svg - svgoPlugins: [{ removeViewBox: false }] - }))) + .pipe($.if(isProduction, $.imagemin(imageminPlugins))) .pipe(dest(DIST + '/media/gen/')) diff --git a/package.json b/package.json index c36c0983..8d0fd299 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,8 @@ "gulp-stylus": ">=2.3.1", "gulp-svg-sprite": ">=1.2.2", "gulp-uglify": ">=1.2.0", - "gulp-util": ">=3.0.6" + "gulp-util": ">=3.0.6", + "imagemin-jpegoptim": ">=5.0.0" }, "engines": { "node": ">=5.0.0"