Skip to content

Instantly share code, notes, and snippets.

@rafaponieman
Created April 12, 2017 22:42
Show Gist options
  • Save rafaponieman/59f8d4ccbbaf2a59d5352deccb944e7e to your computer and use it in GitHub Desktop.
Save rafaponieman/59f8d4ccbbaf2a59d5352deccb944e7e to your computer and use it in GitHub Desktop.
Gulpfile template for Django applications
var args = require('yargs').argv;
var autoprefixer = require('gulp-autoprefixer');
var browserSync = require('browser-sync').create();
var cssmin = require('gulp-cssmin')
var gulp = require('gulp');
var sass = require('gulp-sass');
var es = require('event-stream');
var bust = require('gulp-buster');
// Static Server + watching scss/html files
gulp.task('serve', ['sass'], function() {
var port = args.port ? args.port : 3000;
var proxy = args.proxy ? args.proxy : '127.0.0.1:8000';
browserSync.init({
browser: [],
port: port,
proxy: proxy,
ui: {
port: parseInt(port) + 1
}
});
gulp.watch([
"PROJECTNAME/static/scss/*.scss",
], ['sass']);
gulp.watch("*.html").on('change', browserSync.reload);
gulp.watch("*.js").on('change', browserSync.reload);
});
// Compile sass into CSS & auto-inject into browsers
gulp.task('sass', function() {
return gulp.src([
"PROJECTNAME/static/scss/style.scss",
"PROJECTNAME/static/scss/applications_admin.scss",
])
.pipe(sass())
.pipe(autoprefixer({
browsers: ['last 10 versions', ],
cascade: false
}))
.pipe(cssmin())
.pipe(gulp.dest("PROJECTNAME/static/css"))
.pipe(browserSync.stream())
.pipe(bust({
fileName: "PROJECTNAME/static/busters.json",
relativePath: "PROJECTNAME/static"
}))
.pipe(gulp.dest(''));
});
gulp.task('default', ['serve']);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment