Skip to content

Instantly share code, notes, and snippets.

@scerelli
Last active October 25, 2015 20:01
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 scerelli/218065f92da24e23f861 to your computer and use it in GitHub Desktop.
Save scerelli/218065f92da24e23f861 to your computer and use it in GitHub Desktop.
Basic gulp file. There is server, sass compile, live reload on file change and susy for grid.
Folder structure might be:
app/views/view.html
app/index.html
app/assets/styles/application.sass
var gulp = require('gulp'),
sass = require('gulp-sass'),
sourcemaps = require('gulp-sourcemaps'),
autoprefixer = require('gulp-autoprefixer'),
batch = require('gulp-batch'),
connect = require('gulp-connect'),
clean = require('gulp-clean');
//libsass
gulp.task('sass', ['sass:clean'], function () {
return gulp.src('./app/assets/styles/**/*.sass')
.pipe(sass({
style: 'compressed',
includePaths: [
'./node_modules/susy/sass' //required for sass
],
errLogToConsole: false,
onError: function(err) {
return notify().write(err);
}
}).on('error', sass.logError))
.pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'))
.pipe(sourcemaps.write('./app/dist/map'))
.pipe(gulp.dest('./app/dist/css'))
.pipe(connect.reload());
});
gulp.task('sass:clean', function () {
return gulp.src('./app/dist/css/', {read: false}).pipe(clean());
});
gulp.task('html', function () {
gulp.src('./app/*.html')
.pipe(connect.reload());
});
gulp.task('watch', function() {
gulp.watch(['./app/views/*.html', './app/index.html'], ['html']);
gulp.watch(['./app/assets/styles/**/*.sass'], batch(function(events, done) {
gulp.start('sass', done)
}));
});
gulp.task('connect', function() {
connect.server({
root: 'app',
livereload: true
});
});
gulp.task('serve', ['sass', 'html', 'connect', 'watch']);
gulp.task('default', ['serve']);
gulp.task('dist', '');
{
"name": "Project Name",
"version": "1.0.0",
"description": "Project description"",
"main": "./app/index.html",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"polarstation"
],
"author": "Stefano Cerelli",
"license": "WTF",
"devDependencies": {
"gulp": "^3.9.0",
"gulp-autoprefixer": "^3.1.0",
"gulp-batch": "^1.0.5",
"gulp-clean": "^0.3.1",
"gulp-connect": "^2.2.0",
"gulp-livereload": "^3.8.1",
"gulp-minify-css": "^1.2.1",
"gulp-plumber": "^1.0.1",
"gulp-sass": "^2.0.4",
"gulp-sourcemaps": "^1.6.0",
"livereload": "^0.3.7",
"susy": "^2.2.6"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment