Skip to content

Instantly share code, notes, and snippets.

@hamsterbacke23
Last active December 18, 2015 06:07
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hamsterbacke23/8ae981afa1d4f3448ea4 to your computer and use it in GitHub Desktop.
Save hamsterbacke23/8ae981afa1d4f3448ea4 to your computer and use it in GitHub Desktop.
gulp standard
var gulp = require('gulp'),
sass = require('gulp-sass'),
autoprefixer = require('gulp-autoprefixer'),
minifycss = require('gulp-minify-css'),
jshint = require('gulp-jshint'),
uglify = require('gulp-uglify'),
rename = require('gulp-rename'),
imagemin = require('gulp-imagemin'),
notify = require('gulp-notify'),
concat = require('gulp-concat'),
plumber = require('gulp-plumber'),
data_uri = require('gulp-data-uri'),
del = require('del'),
livereload = require('gulp-livereload');
// rsync = require('rsyncwrapper').rsync,
gutil = require('gulp-util'),
nn = require('node-notifier');
// Custom
var customThemeDir = '';
function onError (err) {
notify.onError({
title: "<%= error.message %> ",
subtitle: "<%= error.fileName %>",
message: "Line <%= error.lineNumber %>"
})(err);
gutil.log(err);
this.emit('end');
}
// gulp.task('default', ['clean'], function() {
gulp.task('default', function() {
gulp.start('styles', 'concatstyles', 'scripts');
});
gulp.task('styles', function() {
return gulp.src(customThemeDir + 'sass/styles.scss')
.pipe(plumber({errorHandler: onError}))
.pipe(sass({ style: 'expanded' }))
.pipe(data_uri())
.pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'))
.pipe(gulp.dest(customThemeDir + 'dist/css'))
.pipe(notify({ message: 'Styles task complete' }))
.pipe(livereload());
});
gulp.task('concatstyles', ['styles'], function() {
return gulp.src([
customThemeDir + 'css/vendor/style-boilerplate.css',
customThemeDir + 'css/vendor/flexslider.css',
customThemeDir + 'dist/css/include.css',
])
.pipe(concat('main.out.css'))
.pipe(rename({suffix: '.min'}))
.pipe(minifycss())
.pipe(gulp.dest(customThemeDir + 'dist/css'));
});
gulp.task('scripts', function() {
return gulp.src([
customThemeDir + 'js/vendor/enquire.js',
customThemeDir + 'js/vendor/enquire.js',
customThemeDir + 'js/vendor/**/*.js',
customThemeDir + 'js/custom/**/*.js'
])
.pipe(concat('main.js'))
// .pipe(jshint('.jshintrc'))
// .pipe(jshint.reporter('default'))
.pipe(gulp.dest(customThemeDir + 'dist/js'))
.pipe(rename({suffix: '.min'}))
.pipe(uglify())
.pipe(gulp.dest(customThemeDir + 'dist/js'))
.pipe(notify({ message: 'Scripts task complete' }))
.pipe(livereload());
});
gulp.task('watch', function() {
livereload.listen();
// Watch .scss files
gulp.watch(customThemeDir + 'sass/**/*.scss', ['styles']);
// Watch .js files
gulp.watch(customThemeDir + 'js/**/*.js', ['scripts']);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment