Skip to content

Instantly share code, notes, and snippets.

@nocksock
Created July 1, 2014 14:30
Show Gist options
  • Save nocksock/0954596a7277eaee2a35 to your computer and use it in GitHub Desktop.
Save nocksock/0954596a7277eaee2a35 to your computer and use it in GitHub Desktop.
/**
*
**/
// require modules {
var gulp = require('gulp');
var concat = require('gulp-concat');
var gutil = require('gulp-util');
var sass = require('gulp-sass');
var plumber = require('gulp-plumber');
var header = require('gulp-header');
var autoprefixer = require('gulp-autoprefixer');
var minfiycss = require('gulp-minify-css');
var print = require('gulp-print');
var flatten = require('gulp-flatten');
var uglify = require('gulp-uglify');
var gzip = require('gulp-gzip');
var livereload = require('gulp-livereload');
var argv = require('yargs').argv; // for args parsing
var spawn = require('child_process').spawn;
// }
gulp.task('sass', function () {
gulp.src('./sass/style.scss')
.pipe(plumber())
.pipe(sass().on('error', gutil.log))
.pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'))
.pipe(header('/* Theme Name: nxc */'))
.pipe(gulp.dest('./'))
;
})
gulp.task('sass:oldie', function () {
gulp.src('sass/old-ie.scss')
.pipe(plumber())
.pipe(sass())
.pipe(autoprefixer('last 2 version', 'ie 6', 'ie 7', 'ie 8', 'ie 9'))
.pipe(gulp.dest('./'))
;
});
gulp.task('scripts', function () {
gulp.src([
'js/vendor/prism.js',
'js/vendor/jquery/dist/jquery.min.js',
'js/vendor/fancybox/source/jquery.fancybox.pack.js',
'js/vendor/sidr/jquery.sidr.min.js',
'js/base.js'
])
.pipe(plumber())
.pipe(concat('bundle.js'))
.pipe(uglify())
.pipe(gulp.dest('./'));
});
gulp.task('ps-assets', function (e) {
gulp.src([ 'images/*-assets/*' ])
.pipe(print())
.pipe(flatten())
.pipe(gulp.dest("images/"))
});
gulp.task('watch', function () {
livereload.listen();
gulp.watch('./sass/**/*.scss', ['styles']);
gulp.watch('./style.css', function (file) {
livereload.changed(file.path);
});
gulp.watch('./js/**/*.js', ['scripts']).on('change', livereload.changed);
gulp.watch('./**/*.php').on('change', livereload.changed);
gulp.watch('./images/*-assets/*', ['ps-assets']).on('change', livereload.changed);
});
gulp.task('auto-reload', function() {
var p;
gulp.watch('gulpfile.js', spawnChildren);
spawnChildren();
function spawnChildren(e) {
if (p) {
p.kill();
}
p = spawn('gulp', [argv.task], {stdio: 'inherit'});
}
});
gulp.task('styles', ['sass', 'sass:oldie']);
gulp.task('build', ['scripts', 'styles', 'ps-assets']);
gulp.task('default', ['build', 'watch']);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment