-
-
Save shanejones/79d8ab3985967067e16b to your computer and use it in GitHub Desktop.
gulpfile Jan 2016
This file contains 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
var gulp = require('gulp'); | |
var autoprefixer = require('gulp-autoprefixer'); | |
var coffee = require('gulp-coffee'); | |
var concat = require('gulp-concat'); | |
var imagemin = require('gulp-imagemin'); | |
var livereload = require('gulp-livereload'); | |
var rename = require('gulp-rename'); | |
var sass = require('gulp-sass'); | |
var sourcemaps = require('gulp-sourcemaps'); | |
var uglify = require('gulp-uglify'); | |
var gutil = require('gulp-util'); | |
var watch = require('gulp-watch'); | |
var pngquant = require('imagemin-pngquant'); | |
gulp.task('sass', function() { | |
gulp.src('app/sass/**/*.scss') | |
.pipe(sass({outputStyle: 'compressed'}).on('error', gutil.log)) | |
.pipe(rename({ | |
suffix: ".min" | |
})) | |
.pipe(autoprefixer({ | |
browsers: ['last 2 versions'], | |
cascade: false | |
})) | |
.pipe(gulp.dest('dist/css')) | |
.pipe(livereload()) | |
}); | |
gulp.task('images', function () { | |
return gulp. | |
src('images/*') | |
.pipe(imagemin({ | |
progressive: true, | |
svgoPlugins: [{removeViewBox: false}], | |
use: [pngquant()] | |
}).on('error', gutil.log)) | |
.pipe(gulp.dest('dist/images')) | |
.pipe(livereload()) | |
}); | |
gulp.task('coffee', function() { | |
return gulp.src('app/js/**/*.coffee') | |
.pipe(coffee({bare: true}).on('error', gutil.log)) | |
.pipe(gulp.dest('app/js')); | |
}); | |
gulp.task('scripts', function() { | |
return gulp.src([ | |
//'app/js/tools/jquery.js', // v1.11.3 - remember to update to which version you need. | |
'app/js/tools/jquery-2.js', // v2 - no support for IE8 and under | |
'app/js/tools/device.js', // makes it easy to write conditional CSS and/or JavaScript based on device and OS | |
'node_modules/respond.js/dest/respond.min.js', //Polyfill for min/max-width CSS3 Media Queries (for IE 6-8, and more | |
'app/js/main.js', // app specific js | |
'app/js/tools/orientation.js' // plugin created by Shane to force users to only view in a certain orientation. | |
]) | |
.pipe(sourcemaps.init()) | |
.pipe(concat('/all.js')) | |
.pipe(gulp.dest('dist/js/')) | |
.pipe(rename('all.min.js')) | |
.pipe(uglify()) | |
.pipe(sourcemaps.write('maps/')) | |
.pipe(gulp.dest('dist/js/')) | |
.pipe(livereload()) | |
}); | |
/* | |
All of the general PHP files and other misc files for this app | |
*/ | |
gulp.task('includes',function() { | |
gulp.src('app/includes/**/*') | |
.pipe(gulp.dest('dist/includes')) | |
.pipe(livereload()); | |
}); | |
gulp.task('classes',function() { | |
gulp.src('app/classes/*') | |
.pipe(gulp.dest('dist/classes')) | |
.pipe(livereload()); | |
}); | |
gulp.task('fonts',function() { | |
gulp.src('app/fonts/*') | |
.pipe(gulp.dest('dist/fonts')) | |
.pipe(livereload()); | |
}); | |
gulp.task('root',function() { | |
gulp.src('app/*.php') | |
.pipe(gulp.dest('dist/')) | |
.pipe(livereload()); | |
}); | |
gulp.task('htaccess',function() { | |
gulp.src('app/.htaccess') | |
.pipe(gulp.dest('dist/')) | |
.pipe(livereload()); | |
}); | |
gulp.task('default', ['sass', 'coffee', 'scripts', 'images', 'includes', 'classes', 'fonts', 'root', 'htaccess']); | |
gulp.task('watch', function() { | |
livereload.listen(); | |
gulp.watch(['app/sass/**/*.scss'], ['sass']); | |
gulp.watch(['app/js/**/*.coffee'], ['coffee']); | |
gulp.watch(['app/js/**/*.js'], ['scripts']); | |
gulp.watch(['app/images/*.*'], ['images']); | |
gulp.watch(['app/includes/**/*'], ['includes']); | |
gulp.watch(['app/classes/*'], ['classes']); | |
gulp.watch(['app/fonts/*'], ['fonts']); | |
gulp.watch(['app/*.php'], ['root']); | |
gulp.watch(['app/.htaccess'], ['htaccess']); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment