Last active
August 29, 2015 14:18
-
-
Save jonsuh/b395016e6e62b0e41ef4 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
gulp.task('sass', function() { | |
return gulp.src('assets/sass/**/*.scss') | |
.pipe(plumber(plumberOptions)) | |
.pipe(sass(sassOptions)) | |
.pipe(autoprefixer(autoprefixerOptions)) | |
.pipe(gulp.dest('assets/css')) | |
.pipe(filter(sassFilterOptions)) | |
.pipe(reload(sassReloadOptions)); | |
}); | |
gulp.task('sass-jekyll', function() { | |
return gulp.src('assets/sass/**/*.scss') | |
.pipe(plumber(plumberOptions)) | |
.pipe(sass(sassOptions)) | |
.pipe(autoprefixer(autoprefixerOptions)) | |
.pipe(gulp.dest('_site/assets/css')) | |
.pipe(filter(sassFilterOptions)) | |
.pipe(reload(sassReloadOptions)); | |
}); |
@jonsuh, correct me if I'm wrong, but I'm pretty sure you can pipe a second destination in there.
gulp.task('sass', function() {
return gulp.src('assets/sass/**/*.scss')
.pipe(plumber(plumberOptions))
.pipe(sass(sassOptions))
.pipe(autoprefixer(autoprefixerOptions))
.pipe(gulp.dest('assets/css'))
.pipe(gulp.dest('_site/assets/css'))
.pipe(filter(sassFilterOptions))
.pipe(reload(sassReloadOptions));
});
That being said, I've used the minimist
& gulp-if
approach to switch the build destination with a flag before, which does work well for creating a production build before pushing to the production server.
Todd, your approach does work, but in my specific scenario I'm looking to avoid it. The reason is because it triggers Jekyll’s auto-regeneration, and relying on Jekyll to auto-regenerate the changed CSS is slow, which is why I have a separate task to build the CSS directly into Jekyll’s build folder _site
.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks for the input! Coincidentally, I was just reading about
gulp-env
andgulp-if
, evenminimist
oryargs
alongsidegulp-if
to do the same. Otherwise is there a way of accomplishing it without using flags/arguments?—my mind still tends to think in a Grunt-like manner, so was curious.The only reason I bring this up because ultimately I'd like to hook up a watch task to
sass-jekyll
, but with arguments I couldn't pass insass --jekyll
in the watch task. I could probably usegrunt-shell
and create a custom tasksass-jekyll
which ultimately passes ingulp sass --jekyll
into the command line and run it that way, but was exploring to see if there was a more elegant of doing it.