mirror of
https://github.com/Xevion/old.xevion.github.io.git
synced 2025-12-06 09:15:37 -06:00
53 lines
1.3 KiB
JavaScript
53 lines
1.3 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 => {
|
|
const reloadBrowser = done => {
|
|
browserSync.reload();
|
|
done();
|
|
};
|
|
// 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', gulp.series(['jekyll-dev', reloadBrowser]));
|
|
|
|
gulp.task(
|
|
'serve',
|
|
gulp.series('jekyll-dev', () => {
|
|
browserSync.init({
|
|
server: {
|
|
baseDir: '_site',
|
|
},
|
|
});
|
|
|
|
gulp.watch(scssPath, gulp.series(['sass', reloadBrowser]));
|
|
gulp.watch(jsPath, gulp.series(['scripts', reloadBrowser]));
|
|
gulp.watch(templatePath, gulp.task('jekyll-rebuild'));
|
|
})
|
|
);
|
|
};
|