Skip to content

Instantly share code, notes, and snippets.

@OutThisLife
Created January 27, 2016 16:56
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 OutThisLife/28dc24bdd5d8db6ee7d2 to your computer and use it in GitHub Desktop.
Save OutThisLife/28dc24bdd5d8db6ee7d2 to your computer and use it in GitHub Desktop.
gulp = require 'gulp'
gutil = require 'gulp-util'
watch = require 'gulp-watch'
sass = require 'gulp-sass'
coffee = require 'gulp-coffee'
imagemin = require 'gulp-imagemin'
minify = require 'gulp-minify-css'
uglify = require 'gulp-uglify'
useref = require 'gulp-useref'
gulpif = require 'gulp-if'
livereload = require 'gulp-livereload'
ftp = require 'vinyl-ftp'
rs = require 'run-sequence'
# -----------------------------------------------
# DEV
gulp.task 'sass', ->
gulp.src './src/assets/css/core.sass'
.pipe sass()
.pipe gulp.dest('./src/assets/css')
.pipe livereload()
gulp.task 'coffee', ->
gulp.src './src/assets/css/core.coffee'
.pipe coffee()
.pipe gulp.dest('./src/assets/js')
.pipe livereload()
# -----------------------------------------------
# EYE
gulp.task 'watch', ->
livereload.listen()
gulp.watch './src/assets/js/core.coffee', ['coffee']
gulp.watch './src/assets/css/core.sass', ['sass']
gulp.watch ['./src/index.html'], livereload.reload
# -----------------------------------------------
# BUILDS
gulp.task 'build:app', ->
gulp.src './src/index.html'
.pipe useref()
.pipe gulpif('*.js', uglify())
.pipe gulpif('*.css', minify())
.pipe gulp.dest('./dist')
gulp.task 'build:img', ->
gulp.src('./src/assets/images/*')
.pipe imagemin()
.pipe gulp.dest('./dist/assets/images')
gulp.task 'build', -> rs ['build:app', 'build:img']
# -----------------------------------------------
# DEPLOY
gulp.task 'deploy', ->
dest = '/httpdocs/'
c = ftp.create
host: 'austinkp.com'
user: 'root'
pass: 'ezpass123'
parallel: 10
log: gutil.log
gulp.src ['dist/**']
.pipe c.newer(dest)
.pipe c.dest(dest)
gulp.task 'sync', -> rs 'build:app', 'deploy'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment