all repos — website @ 3a2d198d153efc8a69e7640f7dcde88207268ff3

My website

Replace zola with DOM-based static site generation code

Alan Pearce
commit

3a2d198d153efc8a69e7640f7dcde88207268ff3

parent

9c4fd37c97a87b9d1ab9e65b77e4578936b66323

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, + }); +});