Skip to content

Instantly share code, notes, and snippets.

@drewbolles
Created April 24, 2015 05:21
Show Gist options
  • Save drewbolles/14c8f2deaaf4905c4af7 to your computer and use it in GitHub Desktop.
Save drewbolles/14c8f2deaaf4905c4af7 to your computer and use it in GitHub Desktop.
Gulpfile.js for Jekyll site with critical CSS
// Require Gulp
var gulp = require('gulp');
var sass = require('gulp-sass');
var sourcemaps = require('gulp-sourcemaps');
var prefix = require('gulp-autoprefixer');
var watch = require('gulp-watch');
var critical = require('critical');
// Gulp Sass Task
gulp.task('sass', function() {
gulp.src('_sass/**/*.scss')
.pipe(sourcemaps.init()) // Initializes sourcemaps
.pipe(sass({
errLogToConsole: true,
outputStyle: "compressed"
}))
.pipe(prefix('last 2 versions', '> 1%', 'ie 8'))
.pipe(sourcemaps.write('./')) // Writes sourcemaps into the CSS file
.pipe(gulp.dest('css'));
})
gulp.task('critical', function () {
critical.generate({
base: './',
src: '_site/index.html',
css: '_site/css/screen.css',
dest: '_includes/critical.css',
width: 320,
height: 480,
minify: true
});
});
gulp.task('watch', function() {
gulp.watch('_sass/**/*.scss', ['sass'])
})
gulp.task('default', ['sass', 'watch']);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment