filthyfox
4/30/2017 - 1:31 PM

My Gulpfile.js

My Gulpfile.js

var gulp = require('gulp');
var sass = require('gulp-sass');
var autoprefixer = require('gulp-autoprefixer');
var rigger = require('gulp-rigger');
var plumber = require('gulp-plumber');
var browserSync = require('browser-sync').create();


// RIGGER
gulp.task('rigger', function () {
    gulp.src('src/html/*.html')
        .pipe(rigger())
        .pipe(gulp.dest('build/'));
});

gulp.task('rigger-js', function () {
    gulp.src('src/js/*.js')
        .pipe(rigger())
        .pipe(gulp.dest('build/js'));
});

// SCSS
gulp.task('scss', function(){
	gulp.src('src/scss/**/*.scss')
		.pipe(plumber())
		.pipe(sass({
			outputStyle: 'expanded'
		}))
		.pipe(autoprefixer())
		.pipe(gulp.dest('build/css/'))
		.pipe(browserSync.stream());
});

// BROWSER-SYNC
gulp.task('live', function(){
	gulp.src(['build/*.html', 'build/**/*.js'])
	.pipe(browserSync.stream());
});

// Watch
gulp.task('watch', function(){
	gulp.watch('src/scss/**/*.scss', ['scss']);
	gulp.watch('src/html/**/*.html', ['rigger']);
	gulp.watch('src/js/**/*.js', ['rigger-js']);
	gulp.watch(['build/**/*.html', 'build/**/*.js'], ['live']);
});

gulp.task('browserSync', function() {
   browserSync.init({
      server: {
         baseDir: 'build'
      },
   })
})

gulp.task('default', ['browserSync', 'scss', 'rigger', 'rigger-js', 'watch']);