As someone with a Jekyll blog who's considered changing SSG's a few times in the past, this was interesting to read. I could see myself going down a similar path.
Gatsby adds a lot of complexity that IMO isn't a big benefit for a simple blog, and when I tried migrating my site to it, a lot of existing posts were broken in weird ways.
Eleventy is "Jekyll but in JavaScript" and way closer to what I want, but its flavor of Liquid is just slightly different from Jekyll's to the point where I would have to update a bunch of posts, plus there's no incremental build yet.
So I'm still sticking with Jekyll for now. Maybe one day I'll break down and build my own SSG like the author...
So much for
> bamboleo 3 days ago [–] https://news.ycombinator.com/item?id=25561177
> You can’t be serious. Jekyll blogs are pure text files you can download and view in a thousand ways. Good luck extracting sensible data from WordPress’ database without losing metadata.
Unless SSG get a common metadata and/or post format I don't think migration is as smooth as some say it is.
In the XML days we had ATOM. I don't know if we have any JSON/MD things like that ?
My Jekyll posts are mostly Markdown with some YAML frontmatter, but some have a few "include" statements here and there that use Liquid. The frontmatter stuff is easy enough to transform with some `sed` commands or whatever.
The bigger problem is the surrounding stuff that relies more on Liquid, like email signup forms, the list of posts, the list of tags, etc. All the little things that would need a small bit of work to reformat to work with another tool, it all adds up. And there were some oddities with how the two parsers handled newlines around Liquid, so sometimes Eleventy's output would be jumbled together when Jekyll's looks fine.
This is where I'm at too.
I've been using Jekyll to manage a few sites (some with 300+ posts and 100+ drafts). It's really not bad with incremental builds. It's about a 3 second turn around to see live reloads while writing.
It's definitely not perfect, but I still haven't found anything that comes close.
If I move to something else I want the ability to include proper components on the page, whether React or Svelte or something. I'd love to find the sweet spot where I can embed interactive examples without having to "program my blog" like Gatsby. Elder.js looks interesting, but probably more complex than what I need.
And anyway, every time I start considering this path, I being to wonder whether rewriting my blog is really the best use of my time...
Hugo also seems to be more or less "take it or leave it" in terms of customizability, and I don't know Go. I've got a custom syntax highlighting setup that uses JS, which I imagine would be hard to integrate. (it was annoying to integrate into Jekyll too!)
I now pay $5 a month with nginx on Linode/Cloudflare. If you pay for this out of your own pocket and your site doesn't make any money, consider bandwidth/data costs first.
If you store 1 GB of data in total in us-east-1 and serve 1 request per second with an average size of 100 KB, it would cost $1.28 per month[1] for S3 and $25.38 for CF without the free tier, $20.24 total with the free tier. That's much more than most static websites ever store and ever serve. I use S3 & CloudFront for multiple static websites (all low-traffic, < 50 pages with some images) and the cost per site for hosting is less than I pay to renew its domain each year.
I used to do these by hand and finally started using Hugo a few years ago, and love the solution. Everything is simple to set up, the SSL cert is free and auto-renewed, the performance is great and the costs are negligible. For the vast majority of small static websites and even up to thousands of page views a day I find this approach ideal. (obligatory: I am not affiliated with Amazon in any way, just a happy customer).
[1] on https://calculator.s3.amazonaws.com/index.html — S3 page -> Standard, Storage: 1GB, GET: 2628000 requests, returned: 262.8 GB. CloudFront page -> Data transfer out: 262.8 GB, Average object size: 100 KB.
(high quality images and videos, combined with a viral page)
There seems to be a lot of static site generators being advertised nowadays. Is it because none of the big ones are feature complete? Or is it just a fun/easy thing to do as a hobby project?
Shout-out to the ancient “Staticmatic” Ruby gem, first open-source project I even contributed to, and still got the best name
[0] https://github.com/john-bokma/tumblelog [1] https://plurrrr.com/
It's a case of them all being slightly opinionated, and it's relatively easy and fun to make your own that suits your own needs.
I too recently (re)wrote my SSG, in Go: https://github.com/icyphox/go-vite, ditching my old Python one.