Skip to content

Instantly share code, notes, and snippets.

@twitchy
Last active August 29, 2015 14:02
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 twitchy/1f3f3d25ddee85cb30d8 to your computer and use it in GitHub Desktop.
Save twitchy/1f3f3d25ddee85cb30d8 to your computer and use it in GitHub Desktop.
gulpfile-wordpress-themedev
var gulp = require('gulp');
// Include Our Plugins
var jshint = require('gulp-jshint');
var compass = require('gulp-compass');
var minifyCSS = require('gulp-minify-css');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var rev = require('gulp-rev');
var path = require('path');
var paths = {
dest: 'wp-content/themes/twentyfourteen/'
};
// Lint Task
gulp.task('lint', function() {
return gulp.src('app/scripts/*.js')
.pipe(jshint())
.pipe(jshint.reporter('default'));
});
// Compile Our Sass
gulp.task('compass', function() {
gulp.src('app/styles/*.scss')
.pipe(compass({
project: path.join(__dirname, 'app'),
css : 'styles',
sass : 'styles',
image: 'images'
}))
.pipe(minifyCSS())
.pipe(rename('style-global.css'))
// .pipe(rev())
.pipe(gulp.dest( paths.dest ));
});
// Concatenate & Minify JS
gulp.task('scripts', function() {
return gulp.src('app/scripts/*.js')
.pipe(concat('global.js'))
.pipe(rev())
.pipe(gulp.dest( paths.dest + 'js'))
.pipe(rename('global.min.js'))
.pipe(uglify())
.pipe(rev())
.pipe(gulp.dest( paths.dest + 'js'));
});
// Watch Files For Changes
gulp.task('watch', function() {
gulp.watch('app/scripts/*.js', ['lint', 'scripts']);
gulp.watch('app/styles/*.scss', ['compass']);
});
// Default Task
gulp.task('default', ['lint', 'compass', 'scripts', 'watch']);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment