Skip to content

Instantly share code, notes, and snippets.

@spigotdesign
Created February 13, 2015 17:24
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 spigotdesign/b0d979abe0c2adf27e24 to your computer and use it in GitHub Desktop.
Save spigotdesign/b0d979abe0c2adf27e24 to your computer and use it in GitHub Desktop.
Gulpfile.js - February 2015
var gulp = require('gulp'),
sass = require('gulp-ruby-sass'),
sourcemaps = require('gulp-sourcemaps'),
livereload = require('gulp-livereload'),
prefix = require('gulp-autoprefixer'),
plumber = require('gulp-plumber'),
notify = require("gulp-notify")
,
uglify = require('gulp-uglify'),
rename = require("gulp-rename"),
imagemin = require('gulp-imagemin'),
pngquant = require('imagemin-pngquant'),
concat = require('gulp-concat'),
stripDebug = require('gulp-strip-debug');
// Styles
gulp.task('styles', function() {
return sass('scss/style.scss', { style: 'expanded'})
.on('error', function (err) {
console.error('Error!', err.message);
})
.pipe(gulp.dest('.'))
.pipe(livereload())
});
// Compress JS
gulp.task('compress', function() {
gulp.src('js/*.js')
.pipe(uglify())
.pipe(rename({suffix: '.min' }))
.pipe(gulp.dest('js/build'))
.pipe(notify({ message: 'Compression task complete' }));
});
// Concat Plugins, Minify
gulp.task('plugins', function() {
gulp.src(['js/plugins/*.js'])
.pipe(concat('plugins.js'))
.pipe(stripDebug())
.pipe(uglify())
.pipe(rename({suffix: '.min' }))
.pipe(gulp.dest('js/build'));
});
// Watch
gulp.task('watch', function(){
livereload.listen();
gulp.watch('scss/**/*.scss', ['styles']);
gulp.watch('js/*.js', ['compress']);
gulp.watch('js/plugins/*.js', ['plugins']);
});
// Images
gulp.task('images', function () {
return gulp.src('img/icons/*')
.pipe(imagemin({
progressive: true,
svgoPlugins: [{removeViewBox: false}],
use: [pngquant()]
}))
.pipe(gulp.dest('img/build/'))
.pipe(notify({ // Add gulpif here
title: 'Gulp',
subtitle: 'Success!',
message: 'Successfully compressed images',
sound: "Beep"
}));
});
// Default
gulp.task('default', ['styles','watch']);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment