Skip to content

Instantly share code, notes, and snippets.

@luk3thomas
Created March 22, 2014 18:59
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 luk3thomas/9712457 to your computer and use it in GitHub Desktop.
Save luk3thomas/9712457 to your computer and use it in GitHub Desktop.
Gulp example
var gulp = require('gulp')
, less = require('gulp-less')
, plumber = require('gulp-plumber')
, replace = require('gulp-replace')
, jshint = require('gulp-jshint')
, concat = require('gulp-concat');
var cfg = {
files: {
less: [
'frontend/less/vendor/fonts.less',
'frontend/less/vendor/**',
'frontend/less/theme/_*.less',
'frontend/less/theme/layout.less',
'frontend/less/theme/**'
],
js: [
'frontend/js/vendor/jquery.js',
'frontend/js/vendor/**',
'frontend/js/main/**'
],
assets: 'frontend/assets/**'
},
dist: {
css: {
name: 'main.css',
dir: './wp-content/themes/default/assets/css/'
},
js: {
name: 'main.js',
dir: './wp-content/themes/default/assets/js/'
},
assets: {
dir: './wp-content/themes/default/assets/'
}
}
};
gulp.task('stylesheets', function() {
gulp.src(cfg.files.less)
.pipe(plumber())
.pipe(concat(cfg.dist.css.name))
.pipe(less())
.pipe(replace(/(background: url)\(([^\)]+)\)/g, '$1(/wp-content/themes/default/assets/images/$2)'))
.pipe(gulp.dest(cfg.dist.css.dir));
});
gulp.task('javascripts', function() {
gulp.src(cfg.files.js)
.pipe(plumber())
.pipe(concat(cfg.dist.js.name))
.pipe(gulp.dest(cfg.dist.js.dir));
gulp.src(cfg.files.js.concat('!./frontend/js/vendor/**'))
.pipe(plumber())
.pipe(jshint())
.pipe(jshint.reporter('default'));
});
gulp.task('watch', function(){
gulp.watch(cfg.files.less, ['stylesheets']);
gulp.watch(cfg.files.js, ['javascripts']);
});
gulp.task('build', ['stylesheets', 'javascripts']);
gulp.task('default', ['build', 'watch']);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment