var gulp = require('gulp'), changed = require('gulp-changed'), pug = require('gulp-pug'), minifyhtml = require('gulp-minify-html'), notify = require('gulp-notify'), sass = require('gulp-ruby-sass'); var config = { sassPath: './resources/sass', pugPath: './resources/pug' } gulp.task('watch', function() { gulp.watch(config.sassPath + '/**/*.scss', ['css']); gulp.watch(config.pugPath + '/**/*.pug', ['pug']); }); gulp.task('default', ['css', 'pug', 'img', 'fonts']); gulp.task('css', function() { return gulp.src(config.sassPath + '/style.scss') .pipe(sass({ style: 'compressed', loadPath: [ './resources/sass', './node_modules/bootstrap-sass/assets/stylesheets' ] }) .on('error', notify.onError(function (error) { return "Error: " + error.message; })) ) .pipe(gulp.dest('./build/assets/css')); }); gulp.task('pug', function() { var src = './resources/pug/finals/**/*.pug', dst = './build'; return gulp.src(src) .pipe(changed(dst, {extension: 'html'})) .pipe(pug({ basedir: './resources/pug/include' })) .pipe(minifyhtml()) .pipe(gulp.dest(dst)); }); gulp.task('img', function() { return gulp.src('./resources/img/*') .pipe(gulp.dest('./build/assets/img')); }); gulp.task('fonts', function() { return gulp.src('./resources/fonts/*') .pipe(gulp.dest('./build/assets/fonts')); });