Created
July 16, 2014 08:27
-
-
Save chiehwen/9514465961c2c87eca3b to your computer and use it in GitHub Desktop.
This file contains hidden or 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
gulp = require 'gulp' | |
gutil = require 'gulp-util' | |
coffee = require 'gulp-coffee' | |
concat = require 'gulp-concat' | |
uglify = require 'gulp-uglify' | |
sass = require 'gulp-sass' | |
refresh = require 'gulp-livereload' | |
connect = require 'connect' | |
http = require 'http' | |
path = require 'path' | |
lr = require 'tiny-lr' | |
server = do lr | |
# Starts the webserver (http://localhost:3000) | |
gulp.task 'webserver', -> | |
port = 3000 | |
hostname = null # allow to connect from anywhere | |
base = path.resolve '.' | |
directory = path.resolve '.' | |
app = connect() | |
.use(connect.static base) | |
.use(connect.directory directory) | |
http.createServer(app).listen port, hostname | |
# Starts the livereload server | |
gulp.task 'livereload', -> | |
server.listen 35729, (err) -> | |
console.log err if err? | |
# Compiles CoffeeScript files into js file | |
# and reloads the page | |
gulp.task 'scripts', -> | |
gulp.src('scripts/coffee/**/*.coffee') | |
.pipe(concat 'scripts.coffee') | |
.pipe(do coffee) | |
.pipe(do uglify) | |
.pipe(gulp.dest 'scripts/js') | |
.pipe(refresh server) | |
# Compiles Sass files into css file | |
# and reloads the styles | |
gulp.task 'styles', -> | |
gulp.src('styles/scss/init.scss') | |
.pipe(sass includePaths: ['styles/scss/includes']) | |
.pipe(concat 'styles.css') | |
.pipe(gulp.dest 'styles/css') | |
.pipe(refresh server) | |
# Reloads the page | |
gulp.task 'html', -> | |
gulp.src('*.html') | |
.pipe(refresh server) | |
# The default task | |
gulp.task 'default', -> | |
gulp.run 'webserver', 'livereload', 'scripts', 'styles' | |
# Watches files for changes | |
gulp.watch 'scripts/coffee/**', -> | |
gulp.run 'scripts' | |
gulp.watch 'styles/scss/**', -> | |
gulp.run 'styles' | |
gulp.watch '*.html', -> | |
gulp.run 'html' | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment