Created
July 28, 2015 13:14
-
-
Save xt9/c2e9c0607b5bc3fff035 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var gulp = require('gulp'); | |
var lr = require('gulp-livereload'); | |
var express = require('express'); | |
var sass = require('gulp-sass'); | |
var notify = require('gulp-notify'); | |
var plumber = require('gulp-plumber'); | |
var uglify = require('gulp-uglify'); | |
var minify = require('gulp-minify-css'); | |
var concat = require('gulp-concat'); | |
var bowerFiles = require('main-bower-files'); | |
var debug = require('gulp-debug') | |
var EXPRESS_ROOT = __dirname + '/public'; | |
gulp.task('express', function() { | |
var app = express(); | |
app.use(require('connect-livereload')()); | |
app.use(express.static(EXPRESS_ROOT)); | |
app.listen(3000); | |
}); | |
gulp.task('watch', function() { | |
lr.listen(35729); | |
/* Trigger the sass compiler when any sass file change */ | |
gulp.watch('assets/sass/*.scss', ['build']); | |
/* Watch the public served files for changes */ | |
gulp.watch('public/**/*.{html,css}', function(event) { | |
// `gulp.watch()` events provide an absolute path | |
// so we need to make it relative to the server root | |
var fileName = require('path').relative(EXPRESS_ROOT, event.path); | |
console.log('Html file changed'); | |
lr.changed(fileName); | |
}); | |
}); | |
gulp.task('build', ['sass', 'bower'], function() { | |
/* Concat all css files in dist */ | |
return gulp.src('dist/**/*.css') | |
.pipe(concat('master.css')) | |
.pipe(gulp.dest('public/css')); | |
/* Move the required fonts to the public folder */ | |
return gulp.src('dist/**/*.{eot,svg,ttf,woff}') | |
.pipe(gulp.dest('public/font')); | |
}); | |
/* Compiles project sass to css */ | |
gulp.task('sass', function() { | |
return gulp.src('assets/sass/master.scss') | |
.pipe(plumber({ | |
errorHandler: notify.onError('Error: <%= error.message %>') | |
})) | |
.pipe(sass().on('error', sass)) | |
.pipe(minify({ | |
compatibility: 'ie8' | |
})) | |
.pipe(notify('Compiled sass: <%= file.relative %>')) | |
.pipe(gulp.dest('dist')); | |
}); | |
gulp.task('bower', function() { | |
/* Build bower components */ | |
return gulp.src(bowerFiles(), { | |
base: 'assets/bower_components' | |
}) | |
.pipe(gulp.dest('dist')); | |
}); | |
gulp.task('default', ['watch'], function() { | |
console.log('Gulp up and running!'); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment