Created
July 1, 2014 14:30
-
-
Save nocksock/0954596a7277eaee2a35 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
/** | |
* | |
**/ | |
// 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