Skip to content

Instantly share code, notes, and snippets.

@whmii
Last active August 16, 2017 10:41
Show Gist options
  • Save whmii/49b154dd4d7ecd49b6600dbbfd8d6864 to your computer and use it in GitHub Desktop.
Save whmii/49b154dd4d7ecd49b6600dbbfd8d6864 to your computer and use it in GitHub Desktop.
A handy gulpfile for use in ghost themes
var gulp = require('gulp');
var sass = require('gulp-sass'),
autoprefix = require('gulp-autoprefixer'),
bourbon = require('bourbon'),
jshint = require('gulp-jshint'),
stylish = require('jshint-stylish'),
zip = require('gulp-zip');
// Stylesheets
gulp.task('sass', function () {
gulp.src('./assets/scss/*.scss')
.pipe(sass({
errLogToConsole: false,
includePaths: [bourbon.includePaths],
})).on('error', sass.logError)
.pipe(autoprefix('last 2 versions'))
.pipe(gulp.dest('./assets/css'))
});
// Javascript
gulp.task('jshint', function () {
return gulp.src('./assets/js/*')
.pipe(jshint())
.pipe(jshint.reporter('jshint-stylish'))
});
// Tasks
gulp.task('default', ['sass', 'jshint'], function() {
// Watch sass files
gulp.watch('./assets/scss/**/*.scss', ['sass']);
// Watch js files
gulp.watch('./assets/scripts/**/*.js', ['scripts']);
});
// Deploy
gulp.task('deploy', function() {
return gulp.src(['./**/*', '!./node_modules/**'])
.pipe(zip('my-theme.zip'))
.pipe(gulp.dest('.'));
});
@whmii
Copy link
Author

whmii commented Aug 11, 2017

I'd like to add a sub-task that, on deploy, wipes all compiled files and reruns all compilations. May address this in a revision.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment