Hotdog
Hotdog is a static site generator powered by Bun. Markdown in, HTML out, all beef, no filler.
Why?
Most static site generators solve problems I don't have. I wanted something dead simple for this site — no plugin ecosystem, no config sprawl, no build step that outlasts the writing. So I built one.
Features
- The entire build script is just over 100 lines of TypeScript.
- Zero npm dependencies. Leans entirely on Bun's built-in Markdown, YAML, file I/O, and shell APIs.
- YAML frontmatter for title, layout, description, and date.
- Two layout templates:
postfor dated articles with syntax highlighting,pagefor everything else. ${{variable}}replacements in plain HTML. No template DSL.- Navigation configured in YAML, rendered with active link detection.
- CSS and static files copied straight to the output directory.
- Auto-generated index pages for content subdirectories, with links to every page in the directory.
How it works
- Clean the
dist/directory. - Copy static assets.
- Scan
content/for Markdown files. - Parse frontmatter, render Markdown to HTML, slot it into the matching template.
- Generate index pages for any subdirectory that doesn't have its own
index.md. - Done.
What it doesn't do
No dev server, live reload, plugins, themes, or client-side JavaScript. Sometimes you just want the hot dog.