Skip to content

Instantly share code, notes, and snippets.

@nicekiwi
Created September 6, 2014 12:42
Show Gist options
  • Save nicekiwi/c14af8095b3625eea157 to your computer and use it in GitHub Desktop.
Save nicekiwi/c14af8095b3625eea157 to your computer and use it in GitHub Desktop.
// include gulp
var gulp = require('gulp');
// include plug-ins
var jshint = require('gulp-jshint'),
stripDebug = require('gulp-strip-debug'),
uglify = require('gulp-uglify'),
autoprefix = require('gulp-autoprefixer'),
minifyCSS = require('gulp-minify-css'),
rename = require('gulp-rename'),
includejs = require('gulp-include'),
importcss = require('gulp-cssimport'),
sass = require('gulp-sass');
var sources = {
sass: './app/assets/scss/*.scss',
javascript: './app/assets/js/*.js'
};
var targets = {
css: './public/css',
js: './public/js'
};
// JS hint task
gulp.task('jshint', function() {
gulp.src('./app/assets/js/*.js')
.pipe(jshint())
.pipe(jshint.reporter('default'));
});
// JS concat, strip debugging and minify
gulp.task('scripts', function() {
gulp.src(sources.javascript)
.pipe(includejs())
.pipe(gulp.dest(targets.js))
.pipe(stripDebug())
.pipe(uglify('compress'))
.pipe(rename(function (path) { path.basename += '.min'; }))
.pipe(gulp.dest(targets.js));
});
gulp.task('fonts', function () {
gulp.src('app/bower_components/bootstrap-sass/vendor/assets/fonts/bootstrap/*')
.pipe(gulp.dest('dist/bower_components/bootstrap-sass/vendor/assets/fonts/bootstrap'));
});
// compile CSS
gulp.task('sass', function() {
gulp.src([
'./app/assets/scss/app.scss',
'./app/assets/scss/app-admin.scss'
])
.pipe(importcss())
.pipe(sass({
includePaths: [
'./bower_components/bootstrap-sass-official/vendor/assets/stylesheets',
'./bower_components'
],
errLogToConsole: true
}))
.pipe(autoprefix('last 2 versions'))
.pipe(gulp.dest(targets.css))
.pipe(minifyCSS())
.pipe(rename(function (path) { path.basename += '.min'; }))
.pipe(gulp.dest(targets.css));
});
gulp.task('watch', function () {
gulp.watch('./app/assets/scss/**/*.scss', ['sass']);
gulp.watch('./app/assets/js/*.js', ['scripts', 'jshint']);
});
gulp.task('default', ['sass', 'scripts', 'jshint', 'watch']);
{
"devDependencies": {
"gulp": "~3.8.5",
"gulp-rename": "~1.2.0",
"gulp-strip-debug": "~0.3.0",
"gulp-changed": "~0.4.0",
"gulp-minify-css": "~0.3.6",
"gulp-uglify": "~0.3.1",
"gulp-jshint": "~1.6.4",
"gulp-autoprefixer": "0.0.8",
"gulp-concat": "~2.2.0",
"gulp-imagemin": "~0.6.1",
"gulp-include": "~0.2.3",
"gulp-cssimport": "~1.2.2",
"gulp-util": "~2.2.19",
"gulp-sass": "~0.7.2"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment