Skip to content

Instantly share code, notes, and snippets.

@baku89
Created July 5, 2015 11:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save baku89/dd4f51752df89acd6ad4 to your computer and use it in GitHub Desktop.
Save baku89/dd4f51752df89acd6ad4 to your computer and use it in GitHub Desktop.
my gulpfile.coffee [07.05.15]
module.exports = gulp
#----------------------------------------
gulp = require 'gulp'
coffee = require 'gulp-coffee'
compass = require 'gulp-compass'
jade = require 'gulp-jade'
plumber = require 'gulp-plumber'
srcmap = require 'gulp-sourcemaps'
util = require 'gulp-util'
runseq = require 'run-sequence'
del = require 'del'
bsync = require('browser-sync').create()
notifier= require 'node-notifier'
#----------------------------------------
# compile
jadeArgs =
pretty: true
compassArgs =
config_file: './config.rb'
css: 'public/css'
sass: 'src/sass'
gulp.task 'jade', ->
gulp.src 'src/*.jade'
.pipe plumber()
.pipe jade(jadeArgs).on 'error', (err)->
console.log err.message
notifier.notify
title: "[jade] Syntax Error"
message: "#{err.filename}:#{err.line}"
sound: true
.pipe gulp.dest 'public'
gulp.task 'coffee', ->
gulp.src 'src/coffee/*.coffee'
.pipe plumber()
.pipe srcmap.init()
.pipe coffee({bare: true}).on 'error', (err) ->
notifier.notify
title: err.message
message: "#{err.filename}:#{err.location.first_line}"
sound: true
.pipe srcmap.write()
.pipe gulp.dest 'public/js'
gulp.task 'compass', ->
gulp.src 'src/sass/*.sass'
.pipe plumber()
.pipe compass(compassArgs).on 'error', (err) ->
notifier.notify
title: "[sass] compile error"
message:"#{err.fileName}"
sound: true
.pipe gulp.dest 'public/css'
reload = bsync.reload
#----------------------------------------
# util
gulp.task 'bsync', [], ->
bsync.init
server:
baseDir: './public'
open: true
notify: false
gulp.task 'clean', ->
del "./public/**/*"
gulp.task 'copy', ->
gulp.src 'src/assets/**'
.pipe gulp.dest 'public/assets'
gulp.src 'src/js/lib/*.js'
.pipe gulp.dest 'public/js/lib'
#----------------------------------------
# default
gulp.task 'default', ->
runseq ['jade', 'coffee', 'compass', 'copy'], 'bsync', ->
gulp.watch ['src/*.jade', 'src/shader/**'], ['jade', reload]
gulp.watch 'src/coffee/*.coffee', ['coffee', reload]
gulp.watch 'src/sass/*.sass', ['compass', reload]
gulp.watch ['src/assets/**', 'src/js/lib/*.js'], ['copy', reload]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment