2023-05-11 16:05:53 -04:00
|
|
|
const { src, dest, watch, series } = require("gulp");
|
|
|
|
const bs = require("browser-sync").create();
|
|
|
|
const fs = require("fs");
|
|
|
|
const path = require("path");
|
|
|
|
const index = require("./index");
|
|
|
|
const resumePath = path.join(__dirname, "resume.json");
|
|
|
|
|
|
|
|
function setup(cb){
|
|
|
|
let dir = path.join(__dirname, 'dev');
|
|
|
|
if (!fs.existsSync(dir)){
|
|
|
|
fs.mkdirSync(dir);
|
|
|
|
}
|
|
|
|
cb();
|
2023-03-27 14:58:00 -04:00
|
|
|
}
|
|
|
|
|
2023-05-11 16:05:53 -04:00
|
|
|
function css(cb) {
|
|
|
|
|
|
|
|
cb();
|
|
|
|
}
|
|
|
|
|
|
|
|
function html(cb) {
|
|
|
|
const resume = JSON.parse(fs.readFileSync("./resume.json", "utf-8"));
|
|
|
|
|
|
|
|
fs.writeFileSync(path.join(__dirname, 'dev/template.html'), index.render(resume));
|
2023-03-27 14:58:00 -04:00
|
|
|
|
2023-05-11 16:05:53 -04:00
|
|
|
cb();
|
2023-03-27 14:58:00 -04:00
|
|
|
}
|
|
|
|
|
2023-05-11 16:05:53 -04:00
|
|
|
function serve() {
|
2023-03-27 14:58:00 -04:00
|
|
|
bs.init({
|
|
|
|
server: {
|
2023-05-11 16:05:53 -04:00
|
|
|
baseDir: "./dev",
|
|
|
|
index: "template.html",
|
2023-03-27 14:58:00 -04:00
|
|
|
},
|
|
|
|
ui: false,
|
2023-05-11 16:05:53 -04:00
|
|
|
open: false,
|
|
|
|
});
|
2023-03-27 14:58:00 -04:00
|
|
|
|
2023-05-11 16:05:53 -04:00
|
|
|
watch(['./theme/**/*.html', './resume.json'], html)
|
|
|
|
bs.watch("./dev/*.html").on("change", bs.reload);
|
2023-03-27 14:58:00 -04:00
|
|
|
}
|
|
|
|
|
2023-05-11 16:05:53 -04:00
|
|
|
exports.default = series(setup, css, html, serve);
|