// Gulpfile.js const autoprefixer = require('autoprefixer'); const babel = require('gulp-babel'); const concat = require('gulp-concat'); const cssnano = require('cssnano'); const gulp = require('gulp'); const postcss = require('gulp-postcss'); const rename = require('gulp-rename'); const sass = require('gulp-sass')(require('sass'));

// Paths const assetsDir = '_assets'; const jekyllAssetsDir = 'assets';

// Process styles, add vendor-prefixes, minify, then output the file to the appropriate location gulp.task('scss', function() {

let plugins = [
    autoprefixer(),
    cssnano()
];
return gulp.src(assetsDir + '/scss/*.scss')
.pipe(sass().on('error', sass.logError))
.pipe(postcss(plugins))
.pipe(gulp.dest(jekyllAssetsDir + '/css/'))

});

// Concatenate and minify JS files and output the result to the appropriate location gulp.task('js', function () {

return gulp.src([
    assetsDir + '/js/lib/*.js',
    assetsDir + '/js/*.js'
])
.pipe(concat('scripts.js'))
.pipe(gulp.dest(jekyllAssetsDir + '/js'))
.pipe(rename('scripts.min.js'))
.pipe(babel({
    presets:[["minify", {
        "builtIns": false
    }]]
}))
.pipe(gulp.dest(jekyllAssetsDir + '/js'))

});

// Watch files on default gulp task gulp.task('default', function(){

gulp.watch(assetsDir + '/scss/**/*.scss', gulp.series('scss')),
gulp.watch(assetsDir + '/js/*.js', gulp.series('js'));
return

});