Honestly, back in the early days of DigitalOcean when it was nothing, the founder John flew to NYC from I think Oz? and spent a couple of days with us just to share, haven't talked to him since but I found him to be a great guy and I liked his ideas, ghost was nothing then, and here it is - $9 and pretty decent. Probably not the answer your looking for, but that is the reason.
I use gohugo templates for my static site and for hosting either you han use github pages or netlify. I use netlify because it has some additional functionality.
I selected hugo over other static site generators because the hugo engine is based on golang. There is good support available, plus it is easy to maintain and instead of managing the site you can concentrate on writing blogs.
I use the render hooks feature of Hugo to generate srcset attributes for my images. I don't see render hooks in many other SSGs.
Downsides of Hugo are the documentation isn't great and the go templating language is quirky. I suspect that poor documentation is a common issue for many static site generators.
SvelteKit using the static adapter to render everything to static HTML - except a few islands of with dynamic components like for the image gallery - and MDsvex to convert markdown to Svelte components with some extra remark plugins to simplify crosslinking, Tailwind for the CSS with some design copied from the excellent TailwindUI, Github Actions to push the static pages to GitHub Pages, and a CNAME on my domain pointing at the Pages URL. I have an Ink.js TUI utility to manage some bits of the blog like optimize static assets, update metadata or un/publish a post, etc.
For search I just generate a JSON file with all my posts and use Fuse.js to search against it locally in the browser.
I want to include interactive visualizations and other custom JS components in blog posts. I've worked with React and Svelte extensively as a frontend dev in the past so SvelteKit was the easy choice (much lighter weight than Next, et al).
It's familiarity more than anything. I've gotten around to starting a personal blog several times and abandoned each attempt because I found the blog generators like Hugo and Jekyll hard to customize. Just doing it as a static SvelteKit site eliminated all of the problems at the expensive of a few hours setting up the tech stack. This allowed me to focus on the HTML when I wanted to style the site, markdown when I wanted to write, and Svelte when I add interactive components.
A home-grown system - a local CMS on node/react to maintain my content in postgres, which I then read into Astro to produce a static HTML site, and host that on github pages.
13 comments
[ 2.6 ms ] story [ 42.2 ms ] threadDownsides of Hugo are the documentation isn't great and the go templating language is quirky. I suspect that poor documentation is a common issue for many static site generators.
For search I just generate a JSON file with all my posts and use Fuse.js to search against it locally in the browser.
It's familiarity more than anything. I've gotten around to starting a personal blog several times and abandoned each attempt because I found the blog generators like Hugo and Jekyll hard to customize. Just doing it as a static SvelteKit site eliminated all of the problems at the expensive of a few hours setting up the tech stack. This allowed me to focus on the HTML when I wanted to style the site, markdown when I wanted to write, and Svelte when I add interactive components.