Migrating from Jekyll to a custom static site generator
Replaced the Jekyll-based blog with a custom static site generator written in Go.
Why
Jekyll works, but 227 gem dependencies is a lot of surface area for things to break. When GitHub decides a dependency has a CVE, your build fails. Wanted something simpler and more durable.
What
Built ssg - about 600 lines of Go with one dependency (goldmark for markdown parsing).
It:
- Parses posts from
_posts/with YAML front matter - Generates paginated index and tag pages
- Renders mermaid diagrams
- Includes search via simple-jekyll-search
- Outputs static HTML to
site/
Workflow
make && ./ssg
make deploy
No GitHub Actions, no build step on their end. Just static files served as-is.
Source
The generator is at github.com/decuser/ssg.