This site is built from scratch. No Next.js, no Hugo, no Gatsby — just a simple Node.js build script that converts markdown files into HTML pages.
Why Build From Scratch?
Most static site generators are great, but they come with opinions I don’t need. I wanted something I fully understood, could modify in minutes, and that would never break because of a dependency update.
The Stack
- Markdown files with YAML front-matter for content
- markdown-it for converting MD to HTML
- A ~150 line build script that handles everything
- S3 + CloudFront for hosting
- GitHub Actions for deployment
How It Works
Write a markdown file, push to GitHub, and it’s live. That’s it.
const posts = loadPosts();
for (const post of posts) {
const html = render(template, post);
fs.writeFileSync(outputPath, html);
}
The entire build takes under a second.