Resume/gulpfile.js

44 lines
913 B
JavaScript
Raw Normal View History

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);