Skip to content

Instantly share code, notes, and snippets.

@Lotuashvili
Last active August 29, 2015 14:02
Show Gist options
  • Save Lotuashvili/415b0db179069784561f to your computer and use it in GitHub Desktop.
Save Lotuashvili/415b0db179069784561f to your computer and use it in GitHub Desktop.
Gulp file for Jade, Stylus, Sass, Javascript (Minify Only) & CoffeeScript. Run npm install to install all required modules
var gulp = require('gulp');
var changed = require('gulp-changed');
var jade = require('gulp-jade');
var stylus = require('gulp-stylus');
var minify = require('gulp-cssmin');
var coffee = require('gulp-coffee');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var connect = require('gulp-connect');
var sass = require('gulp-sass');
var JADE_DIR = './files/';
var JADE_SRC = './gulp_dir/*.jade';
var STYLUS_DIR = './files/css';
var STYLUS_SRC = './gulp_dir/*.styl';
var COFFEE_SRC = './gulp_dir/*.coffee';
var COFFEE_DIR = './files/js';
var UGLIFY_SRC = './gulp_dir/*.javas';
var UGLIFY_DIR = './files/js';
var SASS_SRC = './gulp_dir/*.sass';
var SASS_DIR = './files/css';
gulp.task('jade', function() {
return gulp.src(JADE_SRC)
.pipe(jade({
pretty: true // IF FALSE, OUTPUT WILL BE MINIFIED
}))
.pipe(gulp.dest(JADE_DIR))
.pipe(connect.reload());
});
gulp.task('stylus', function() {
return gulp.src(STYLUS_SRC)
.pipe(stylus())
.pipe(minify()) // DELETE OR COMMENT THIS LINE TO DISABLE MINIFY
.pipe(gulp.dest(STYLUS_DIR))
.pipe(connect.reload());
});
gulp.task('coffee', function() {
return gulp.src(COFFEE_SRC)
.pipe(coffee({bare: true}))
.pipe(rename(function(path) {
path.extname = '.js'
}))
.pipe(gulp.dest(COFFEE_DIR))
.pipe(connect.reload());
});
gulp.task('uglify', function() {
return gulp.src(UGLIFY_SRC)
.pipe(uglify())
.pipe(rename(function(path) {
path.extname = '.js'
}))
.pipe(gulp.dest(UGLIFY_DIR))
.pipe(connect.reload());
});
gulp.task('sass', function() {
return gulp.src(SASS_SRC)
.pipe(sass())
.pipe(minify())
.pipe(gulp.dest(SASS_DIR))
.pipe(connect.reload());
});
gulp.task('connect', function() {
connect.server({
root: [JADE_DIR],
port: process.env.PORT || 8888,
livereload: true
});
});
gulp.task('watch', function() {
gulp.watch([JADE_SRC], ['jade']);
gulp.watch([STYLUS_SRC], ['stylus']);
gulp.watch([COFFEE_SRC], ['coffee']);
gulp.watch([UGLIFY_SRC], ['uglify']);
gulp.watch([SASS_SRC], ['sass']);
});
gulp.task('default', ['connect', 'watch']);
{
"name": "GulpFile",
"version": "1.0.0",
"description": "Test for GulpFile.js",
"dependencies": {
"gulp": "latest",
"gulp-changed": "latest",
"gulp-jade": "latest",
"gulp-stylus": "latest",
"gulp-coffee": "latest",
"gulp-uglify": "latest",
"gulp-cssmin": "latest",
"gulp-sass": "latest",
"gulp-rename": "latest",
"gulp-connect": "latest"
},
"author": "GWSMaster"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment