Personal site built with Bun, TypeScript, Pug templates, and markdown/json content files.
- Bun
- TypeScript
- Pug
- gray-matter + marked
- chokidar (dev watch + live reload)
content/pages/Static page content (.md) and homepage metadata (home.json)content/posts/Blog posts (.md)content/art/Art entries (.md)src/templates/Pug templates and partialsassets/CSS, JS, images, and/writeUI assetsscripts/Build and dev server scriptsdist/Generated static output
bun run devStart local dev server with rebuild + live reload (http://localhost:4173)bun run buildBuild static site intodist/bun run typecheckRun TypeScript checks
- Blog and art content are generated from markdown frontmatter.
- Set
published: falseto hide an entry. - Current repo state keeps
content/art/.gitkeepand no published art/blog entries by default.
GitHub Actions workflow is in .github/workflows/deploy.yml.