Vishnu's Pages

Why I Built April⋅SSG Static Site Generator

I've been writing online for many years. I started with Google's Blogger, moved to WordPress, tried pure HTML, hopped on Medium, experimented with Dev.to, and eventually landed on Jekyll + GitLab Pages.

Every platform taught me something. But none of them gave me exactly what I wanted: a simple, stable, and fully controlled way to publish my thoughts.

The platforms I tried (and why they didn't work)

My simple requirements

In essence, I wanted a tool that respects simplicity and gives me full control over my writing and publishing process without unnecessary complexity or dependencies.

The Jekyll phase

In 2020, I decided to switch to Jekyll with the minima theme, deployed via GitLab Pages. It gave me full control over content and layout, and I loved that it was static — no server, no backend, just pure files.

But over time, Jekyll started to feel fragile.

I just wanted to write, not fix my website tool all the time.

Trying Hugo

A week ago, I tried Hugo. It's very fast. But I still found it a bit complex, with too many rules. I ran into incompatibilities, layout complexities, cryptic error messages, and too much convention over clarity. It felt like a big system, and I just wanted a simple tool.

Building my own simple tool

I always wanted to build a very basic static site generator, but I kept putting it off because of the boilerplate and figuring out template engines. Now that I have GitHub Copilot, I finally decided it was the right time to give it a shot.

With great assistance from Copilot, I was able to get the core functionality up and running in just a few hours. The result was a single JavaScript file that processes Markdown files and uses the Handlebars template engine to generate HTML. Over the following days, I polished it further — organizing it into a clean folder structure, ensuring it was responsive, adding styling, and writing clear, user-friendly documentation. Today, it proudly powers this blog.

I called it April⋅SSG (with a middle-dot) — partly because I built it in April, and partly because I wanted a small, simple name.

Here's what it does:

One of my primary goals was to be able to simply copy-paste the Markdown content from my existing blog to this and make it work seamlessly. It worked like a charm. I never had to rewrite anything.

Why this matters

April⋅SSG is not built to compete with Hugo or Jekyll. It was built primarily for personal satisfaction and to address my specific needs. Building it achieved several key goals:

Try April⋅SSG

It's free, open-source, and you can find the repository on GitHub.