"gulp-ruby-sass": "^1.0.5",
"gulp-sass": "^2.1.0",
"gulp-scss-lint": "^0.2.4",
+ "gulp-sourcemaps": "^1.6.0",
"gulp-webserver": "^0.9.1",
"handlebars": "^3.0.3",
"highlight.js": "^8.7.0",
// Look for the --production flag
var isProduction = !!(yargs.production);
+var sourceMaps = isProduction ? 'sass' : 'sass-sourcemaps';
// Delete the "dist" folder
// This happens every time a build starts
.pipe(gulp.dest('../_build/css'));
});
+// Compile Sass into CSS with sourcemaps
+gulp.task('sass-sourcemaps', function() {
+ return gulp.src('./scss/app.scss')
+ .pipe($.sourcemaps.init())
+ .pipe($.sass().on('error', $.sass.logError))
+ .pipe($.sourcemaps.write())
+ .pipe(gulp.dest('../_build/css'));
+});
+
// Inline CSS and minify HTML
gulp.task('inline', function() {
return gulp.src('../_build/*.html')
// Build the "dist" folder by running all of the above tasks
gulp.task('build', function(cb) {
- var tasks = ['clean', ['pages', 'sass']];
+ var tasks = ['clean', ['pages', sourceMaps]];
if (isProduction) tasks.push('inline');
tasks.push(cb);
sequence.apply(this, tasks);
// Build emails, run the server, and watch for file changes
gulp.task('default', ['server'], function() {
gulp.watch('./pages/**/*.html', ['pages', browser.reload]);
- gulp.watch(['../scss/**/*.scss', './scss/**/*.scss'], ['sass', browser.reload]);
+ gulp.watch(['../scss/**/*.scss', './scss/**/*.scss'], [sourceMaps, browser.reload]);
});
function inline(options) {