var gulp = require('gulp'), gutil = require('gulp-util'), sass = require('gulp-sass'), csso = require('gulp-csso'), uglify = require('gulp-uglify'), jade = require('gulp-jade'), concat = require('gulp-concat'), livereload = require('gulp-livereload'), tinylr = require('tiny-lr'), express = require('express'), app = express(), marked = require('marked'), path = require('path'), neat = require('node-neat').includePaths, server = tinylr(); // --- Basic Tasks --- gulp.task('css', function() { return gulp.src('src/assets/stylesheets/*.scss') .pipe( sass( { includePaths: ['src/assets/stylesheets'].concat(neat), errLogToConsole: true } ) ) .pipe( csso() ) .pipe( gulp.dest('dist/assets/css/') ) .pipe( livereload( server )); }); gulp.task('js', function() { return gulp.src( [ 'src/assets/scripts/jquery.js' ]) .pipe( uglify() ) .pipe( concat('all.js')) .pipe( gulp.dest('dist/assets/js/')) .pipe( livereload( server )); }); gulp.task('ie', function() { return gulp.src('src/assets/scripts/ie/*.js') .pipe( gulp.dest('dist/assets/js/ie/')) .pipe( livereload( server )); }); gulp.task('images', function() { return gulp.src('src/assets/images/**/*') .pipe( gulp.dest('dist/assets/images/')) .pipe( livereload( server )); }); gulp.task('fonts', function() { return gulp.src('src/assets/fonts/**/*') .pipe( gulp.dest('dist/assets/fonts/')) .pipe( livereload( server )); }); gulp.task('templates', function() { return gulp.src('src/*.jade') .pipe(jade({ pretty: true })) .pipe(gulp.dest('dist/')) .pipe( livereload( server )); }); gulp.task('express', function() { app.use(express.static(path.resolve('./dist'))); app.listen(1337); gutil.log('Listening on port: 1337'); }); gulp.task('watch', function () { server.listen(35729, function (err) { if (err) { return console.log(err); } gulp.watch('src/assets/stylesheets/**/*.scss',['css']); gulp.watch('src/assets/js/**/*.js',['js']); gulp.watch('src/**/*.jade',['templates']); }); }); // Default Task gulp.task('default', ['js', 'ie', 'images', 'fonts', 'css','templates','express','watch']);