var gulp = require('gulp'); var plumber = require('gulp-plumber'); var htmlmin = require('gulp-htmlmin'); var cleancss = require('gulp-clean-css'); var uglify = require('gulp-uglify'); var gzip = require('gulp-gzip'); var del = require('del'); var useref = require('gulp-useref'); var gulpif = require('gulp-if'); /* Clean destination folder */ gulp.task('clean', function() { return del(['data/*']); }); /* Copy static files */ gulp.task('files', function() { return gulp.src([ 'html/**/*.{jpg,jpeg,png,ico,gif}', 'html/fsversion' ]) .pipe(gulp.dest('data/')); }); /* Process HTML, CSS, JS */ gulp.task('html', function() { return gulp.src('html/*.html') .pipe(useref()) .pipe(plumber()) .pipe(gulpif('*.css', cleancss())) .pipe(gulpif('*.js', uglify())) .pipe(gulpif('*.html', htmlmin({ collapseWhitespace: true, removeComments: true, minifyCSS: true, minifyJS: true }))) .pipe(gzip()) .pipe(gulp.dest('data')); }); /* Default Task */ gulp.task('default', ['clean', 'files', 'html']);