Skip to content

Instantly share code, notes, and snippets.

@ronipl
Last active June 2, 2020 14:46
Show Gist options
  • Save ronipl/058400817654ade423440467a836e1d0 to your computer and use it in GitHub Desktop.
Save ronipl/058400817654ade423440467a836e1d0 to your computer and use it in GitHub Desktop.
gulp automation for shopify projects.
var gulp = require('gulp');
var sass = require('gulp-sass');
var replace = require('gulp-replace');
var autoprefixer = require('gulp-autoprefixer');
var rename = require('gulp-rename');
var imagemin = require('gulp-imagemin');
function minifiedImages(){
return gulp.src('./images/*')
.pipe(imagemin())
.pipe(gulp.dest('./images/min/'));
}
gulp.task('minifiedImages', minifiedImages);
gulp.task('scss', function() {
//root scss file (import all your partials into here)
return gulp.src('./scss/main.scss')
.pipe(sass({ outputStyle: 'compressed' }).on('error', sass.logError))
// add vendor prefixes
.pipe(autoprefixer())
// change the file name to be main.scss.liquid file
.pipe(rename('main.scss.liquid'))
// remove the extra set of quotations used for escaping the liquid string (we'll explain this in a sec)
.pipe(replace('"{{', '{{'))
.pipe(replace('}}"', '}}'))
// save the file to the theme assets directory
.pipe(gulp.dest('./assets/'));
});
gulp.task('default', function() {
// this assumes your sass is in a directory named sass
//gulp.watch(['./sass/**/*.scss'], ['sass']);
gulp.watch('./scss/**/*.scss', gulp.series('sass'));
gulp.watch('./images/*', gulp.series('minifiedImages'))
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment