Files
old.xevion.github.io/build/browsersync.js
Brittany Chiang b05b913105 v3
2017-10-10 22:15:49 -07:00

42 lines
1.2 KiB
JavaScript

const browserSync = require('browser-sync').create();
const cp = require('child_process');
const jekyll = process.platform === 'win32' ? 'jekyll.bat' : 'jekyll';
const scssPath = '_scss/**/*.scss';
const jsPath = '_scripts/*.js';
const templatePath = ['*.html', '+(_includes|_layouts)/*.html', '*.yml', '_data/*.yml', '_posts/*'];
module.exports = gulp => {
// run `jekyll build`
gulp.task('jekyll-build', done => {
return cp.spawn(jekyll, ['build'], {stdio: 'inherit'})
.on('close', done);
});
// run `jekyll build` with _config_dev.yml
gulp.task('jekyll-dev', done => {
return cp.spawn(jekyll, ['build', '--config', '_config.yml,_config_dev.yml'], {stdio: 'inherit'})
.on('close', done);
});
// Rebuild Jekyll then reload the page
gulp.task('jekyll-rebuild', ['jekyll-dev'], () => {
browserSync.reload();
});
gulp.task('serve', ['jekyll-dev'], () => {
browserSync.init({
server: {
baseDir: '_site'
}
});
gulp.watch(scssPath, ['sass', browserSync.reload]);
gulp.watch(jsPath, ['scripts', browserSync.reload]);
gulp.watch(templatePath, ['jekyll-rebuild']);
});
};