//Install cmd // npm install --save-dev gulp-ruby-sass gulp-autoprefixer gulp-cssnano gulp-jshint gulp-uglify gulp-imagemin gulp-rename gulp-concat gulp-notify gulp-cache gulp-livereload del gulp-jade var gulp = require('gulp'), sass = require('gulp-ruby-sass'), autoprefixer = require('gulp-autoprefixer'), cssnano = require('gulp-cssnano'), jshint = require('gulp-jshint'), uglify = require('gulp-uglify'), imagemin = require('gulp-imagemin'), rename = require('gulp-rename'), concat = require('gulp-concat'), notify = require('gulp-notify'), cache = require('gulp-cache'), livereload = require('gulp-livereload'), del = require('del'), jade = require('gulp-jade'); gulp.task('styles', function() { return sass('src/css/**/*', {style: 'expanded'}) .pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4')) .pipe(gulp.dest('dist/css')) .pipe(rename({suffix: '.min'})) .pipe(cssnano()) .pipe(gulp.dest('dist/css')) .pipe(notify({message: 'Styles task complete'})); }); gulp.task('scripts', function() { return gulp.src('src/js/**/*.js') //.pipe(jshint('.jshintrc')) //.pipe(jshint.reporter('default')) .pipe(concat('main.js')) .pipe(gulp.dest('dist/js')) .pipe(rename({ suffix: '.min' })) .pipe(uglify()) .pipe(gulp.dest('dist/js')) .pipe(notify({ message: 'Scripts task complete' })); }); gulp.task('images', function() { return gulp.src('src/img/**/*') .pipe(cache(imagemin({optiomizetionLevel: 3, progresstive: true, interlaced: true }))) .pipe(gulp.dest('dist/img')) .pipe(notify({message: 'Images task complete'})); }); gulp.task('templates', function() { return gulp.src('src/*.jade') .pipe(jade({ pretty: true })) .pipe(gulp.dest('./dist')) .pipe(notify({message: 'Templates task complete'})); }); gulp.task('clean', function () { return del(['dist/css/', 'dist/js/', 'dist/img']); }); gulp.task('default', ['clean'], function() { gulp.start('styles', 'scripts', 'images', 'templates'); }); gulp.task('watch', function() { gulp.watch('src/css/**/*.scss', ['styles']); gulp.watch('src/js/**/*.js', ['scripts']); gulp.watch('src/img/**/*', ['images']); gulp.watch('src/*.jade', ['templates']); livereload.listen(); gulp.watch(['dist/**']).on('change', livereload.changed); });