Skip to content

Instantly share code, notes, and snippets.

@legomolina
Created December 24, 2017 18:43
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 legomolina/9d770399171472faf8feff7ac04ed078 to your computer and use it in GitHub Desktop.
Save legomolina/9d770399171472faf8feff7ac04ed078 to your computer and use it in GitHub Desktop.
Gulpfile to compile scss, minify css, js and compress images. Development and production
// Gulp
var gulp = require('gulp');
// Sass/CSS stuff
var sass = require('gulp-sass');
var prefix = require('gulp-autoprefixer');
var minifycss = require('gulp-minify-css');
// JavaScript
var uglify = require('gulp-uglify');
// Images
var svgmin = require('gulp-svgmin');
var imagemin = require('gulp-imagemin');
// Stats and Things
var size = require('gulp-size');
// Livereload
var liveReload = require('gulp-livereload');
// compile all your Sass
gulp.task('sass', function () {
/*gulp.src(['./public_html/style/css//.css'])
.pipe(copyTo('./dist/styles/css'));*/
gulp.src(['./public_html/style/scss/style.scss'])
.pipe(sass({
includePaths: ['./public_html/style/sass'],
outputStyle: 'expanded'
}))
.pipe(prefix(
"last 2 version", "> 1%", "ie 8", "ie 7"
))
.pipe(sass().on("error", sass.logError))
.pipe(gulp.dest('./public_html/style/css'))
});
// Uglify JS
gulp.task('uglify', function () {
gulp.src('./public_html/scripts/**/*.js')
.pipe(uglify())
.pipe(gulp.dest('./dist/scripts'));
});
// Images
gulp.task('imagemin', function () {
gulp.src('./public_html/images/**/*')
.pipe(imagemin())
.pipe(gulp.dest('./dist/images'));
});
// Stats and Things
gulp.task('stats', function () {
gulp.src('./dist/**/*')
.pipe(size())
.pipe(gulp.dest('./dist'));
});
gulp.task('default', ["sass"], function () {
liveReload.listen();
// watch me getting Sassy
gulp.watch("./public_html/style/scss/**/*.scss", ["sass", "stats"]);
//livereload
gulp.watch(["./app/**/*.*", "./public_html/**/*.*"]).on('change', function (file) {
liveReload.changed(file.path);
});
});
gulp.task('production', ["sass", "uglify", "imagemin"], function() {
gulp.src([
'./public_html/**/*.*',
'./public_html/**/.*',
'!./public_html/{images,images/**}',
'!./public_html/{scripts,scripts/**}',
'!./public_html/style/{scss,scss/**}'
])
.pipe(gulp.dest('./dist'));
gulp.src('./public_html/style/css')
.pipe(minifycss())
.pipe(gulp.dest('./dist/style'));
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment