7
7
8
8
var gulp = require ( 'gulp' ) ;
9
9
var autoprefixer = require ( 'gulp-autoprefixer' ) ;
10
+ var cache = require ( 'gulp-cached' ) ;
10
11
var changed = require ( 'gulp-changed' ) ;
11
12
var concat = require ( 'gulp-concat' ) ;
12
13
var deleted = require ( 'gulp-deleted' ) ;
@@ -165,6 +166,32 @@ gulp.task('scripts', function () {
165
166
} ) ) ;
166
167
} ) ;
167
168
169
+ // images optimisation (only changed)
170
+ gulp . task ( 'images' , function ( ) {
171
+ return gulp
172
+ . src ( pathPrefixer ( paths . images . files , paths . dev ) )
173
+ . pipe ( gulpif (
174
+ config . env === 'dev' ,
175
+ cache ( 'images' ) ,
176
+ changed ( paths . build + paths . images . src , { hasChanged : changed . compareSha1Digest } )
177
+ ) )
178
+ // .pipe(cache('images'))
179
+ // .pipe(changed(paths.build))
180
+ // .pipe(changed(paths.build + paths.images.src, {hasChanged: changed.compareSha1Digest}))
181
+ . pipe ( imagemin ( ) )
182
+ . pipe ( gulpif (
183
+ config . env === 'dev' ,
184
+ gulp . dest ( paths . dev + paths . images . src ) ,
185
+ gulp . dest ( paths . build + paths . images . src )
186
+ ) )
187
+ // .pipe(gulp.dest(paths.build + paths.images.src))
188
+ . pipe ( notify ( {
189
+ onLast : true ,
190
+ message : 'IMAGES task SUCCESS!' ,
191
+ icon : null
192
+ } ) ) ;
193
+ } ) ;
194
+
168
195
// livereload for “static” files (.html, .php, .jade, …)
169
196
gulp . task ( 'static' , function ( ) {
170
197
livereload . reload ( ) ;
@@ -175,6 +202,7 @@ gulp.task('watch', function () {
175
202
livereload . listen ( ) ;
176
203
gulp . watch ( pathPrefixer ( paths . styles . files , paths . dev ) , [ 'styles' ] ) ;
177
204
gulp . watch ( pathPrefixer ( paths . scripts . files , paths . dev ) , [ 'scripts' ] ) ;
205
+ gulp . watch ( pathPrefixer ( paths . images . files , paths . dev ) , [ 'images' ] ) ;
178
206
gulp . watch ( pathPrefixer ( paths . static . files , paths . dev ) , [ 'static' ] ) ;
179
207
} ) ;
180
208
@@ -198,8 +226,8 @@ gulp.task('init-build', function () {
198
226
gulp . task ( 'copy' , [ 'init-build' ] , function ( ) {
199
227
return gulp
200
228
. src ( pathPrefixer ( paths . site , paths . dev ) )
201
- . pipe ( deleted ( paths . dev , paths . build , paths . site ) )
202
- . pipe ( changed ( paths . build ) )
229
+ . pipe ( deleted ( paths . dev , paths . build , pathPrefixer ( paths . site , paths . dev ) ) )
230
+ . pipe ( changed ( paths . build , { hasChanged : changed . compareSha1Digest } ) )
203
231
. pipe ( gulp . dest ( paths . build ) )
204
232
. pipe ( notify ( {
205
233
onLast : true ,
@@ -208,20 +236,6 @@ gulp.task('copy', ['init-build'], function () {
208
236
} ) ) ;
209
237
} ) ;
210
238
211
- // images optimisation (only changed)
212
- gulp . task ( 'images' , function ( ) {
213
- return gulp
214
- . src ( pathPrefixer ( paths . images . files , paths . dev ) )
215
- . pipe ( changed ( paths . build ) )
216
- . pipe ( imagemin ( ) )
217
- . pipe ( gulp . dest ( paths . build + paths . images . src ) )
218
- . pipe ( notify ( {
219
- onLast : true ,
220
- message : 'IMAGES task SUCCESS!' ,
221
- icon : null
222
- } ) ) ;
223
- } ) ;
224
-
225
239
// revision control for styles and scripts
226
240
gulp . task ( 'rev' , function ( ) {
227
241
return gulp
0 commit comments