all repos — homestead @ 4cdd583a5ce9428a3e5211213fc44b09fddba618

Code for my website

Replace zola with DOM-based static site generation code

Alan Pearce
commit

4cdd583a5ce9428a3e5211213fc44b09fddba618

parent

234c9eadf1e7965fc3a6a669696ddae5e2c4ef11

1 file changed, 30 insertions(+), 0 deletions(-)

changed files
A bin/build.ts
@@ -0,0 +1,30 @@
+#!/usr/bin/env bun +import fs from "node:fs"; +import log from "loglevel"; + +import generateSite from "../src/templates"; + +log.setLevel((Bun.env.LOG_LEVEL || "info") as log.LogLevelDesc); + +fs.mkdirSync("public", { recursive: true }); +log.info("Generating site..."); +try { + await generateSite(); +} catch (error) { + log.error("Error generating site", error); + process.exit(1); +} + +log.info("Copying static files..."); +if (!fs.existsSync("static")) { + log.error("static directory not found"); + process.exit(1); +} +fs.readdirSync("static").map((file) => { + log.info(`Copying static/${file}`); + fs.cpSync(`static/${file}`, `public/${file}`, { + dereference: true, + recursive: true, + preserveTimestamps: true, + }); +});