///////////////////////////////////////////// // include gulp and gulp plug-ins var gulp = require('gulp'), sass = require('gulp-sass'), autoprefixer = require('gulp-autoprefixer'), minifycss = require('gulp-cssnano'), uglify = require('gulp-uglify'), rename = require('gulp-rename'), concat = require('gulp-concat'), notify = require('gulp-notify'), cache = require('gulp-cache'), rigger = require('gulp-rigger'), del = require('del'), plumber = require('gulp-plumber'); var sassPaths = [ 'bower_components/foundation-sites/scss', 'bower_components/motion-ui/src' ]; var onError = function(err) { notify.onError({ title: "Gulp", subtitle: "Failure!", message: "Error: <%= error.message %>", sound: "Beep" })(err); this.emit('end'); }; //for chrome extension module.exports = gulp; //HTML gulp.task('php', function () { // return gulp.src('./src/html/*.html') // .pipe(rigger()) // .pipe(gulp.dest('./html/')) // .pipe(notify({ message: 'HTML task complete' })); }); // Styles gulp.task('stylesv', function() { return gulp.src('./src/styles/vendors.scss') .pipe(plumber({errorHandler: onError})) .pipe(rigger()) .pipe(sass({ style: 'expanded', includePaths: sassPaths})) .pipe(autoprefixer('last 2 version', 'safari 5', 'ie 10', 'opera 12.1', 'ios 6', 'android 4')) .pipe(gulp.dest('./assets/styles/')) .pipe(rename({ suffix: '.min' })) .pipe(minifycss()) .pipe(gulp.dest('./assets/styles/')) .pipe(notify({ "title": "Vendors Styles", "subtitle": "Blogolife v3", "message": "Vendors Styles task complete", "sound": "Pop", // case sensitive })); }); gulp.task('styles', function() { return gulp.src('./src/styles/style.scss') .pipe(plumber({errorHandler: onError})) .pipe(rigger()) .pipe(sass({ style: 'expanded', })) .pipe(autoprefixer('last 2 version', 'safari 5', 'ie 10', 'opera 12.1', 'ios 6', 'android 4')) .pipe(gulp.dest('./')) .pipe(rename({ suffix: '.min' })) .pipe(minifycss()) .pipe(gulp.dest('./')) .pipe(notify({ "title": "Styles", "subtitle": "Blogolife v3", "message": "Styles task complete", "sound": "Pop", // case sensitive }) ); }); // Scripts gulp.task('scripts', function() { return gulp.src('./src/scripts/*.js') .pipe(plumber({errorHandler: onError})) .pipe(rigger()) .pipe(gulp.dest('./assets/scripts/')) .pipe(rename({ suffix: '.min' })) .pipe(uglify()) .pipe(gulp.dest('./assets/scripts')) .pipe(notify({ "title": "Scripts", "subtitle": "Blogolife v3", "message": "Scripts task complete", "sound": "Pop", // case sensitive })); }); // Clean gulp.task('clean', function(cb) { del(['./assets/assets/css', './assets/assets/js', './assets/assets/img'], cb) }); // Default task gulp.task('default', ['clean'], function() { gulp.start('php', 'stylesv', 'styles', 'scripts'); }); // Watch gulp.task('watch', function() { // Watch .html files gulp.watch('**/*.php', ['php']); // Watch .scss files gulp.watch('src/styles/**/*.scss', ['styles']); gulp.watch('src/styles/**/*.scss', ['stylesv']); // Watch .js files gulp.watch('src/scripts/**/*.js', ['scripts']); });