What's the hot stack for self-hosting headless blog stuff now? Been out of the loop since I started reading about jamstack. Hugo? Gatsby? Is Jekyll still a player here?
My suggestion is to pick a templating engine and markup language you like, wire them together with a bit of glue code, and try not to spend too much time fiddling with it instead of writing. When I do realize there’s some feature I want to add, it’s a lot easier to tweak ~100 lines of code that I’m already familiar with rather than trying to figure out the documentation for some plugin system.
I’ve written about this in a bit more detail previously[1], and I’ve also published the source code to my personal blog[2] if you’re curious to see a fully-baked example.
Personally I made my own static site generator [1][2], which has been a lot of fun, and fairly easy to implement (you just need a solid markdown to html converter, preferrably going further than commonmark standards).
For hosting I use the free tier of Firebase... `Firebase deploy` and Voila. You get not only free hosting but the ability to revert and free around the globe CDN. Pretty darn fast.
I would also roll my own. I've tried several generators and there is always something that doesn't quite work how I want it to and the documentation is often bad and outdated.
When you roll your own not only is it way simpler than existing solutions it won't change from under you. I blog very infrequently and often from different machines or operating systems, the last generator I used had completely changed between posts and I either had to relearn how it worked or make my own.
I followed a similar path. Forked the pug templating language and adapted it for my needs. It's kind of crude at the moment but it's already powering my website.
Emacs org-mode exported to html5 as part of a git post-receive hook for auto-update on repo changes (my stack of choice). Change the html export however you like to fit your deployment. Replace emacs with asciidoc(tor), diagrams-as-code, etc.
Yes, org mode is pure genius. The only issue with org mode is it used to only work well from emacs itself. I use past tense as I've address that issue as an attempt to get more colleague to use org mode when building this: https://github.com/mickael-kerjean/filestash
It takes virtually any org mode document stored anywhere and will expose the org mode export so you can browse the generated pages like a website available as not only a regular html one but also a pdf one with links and all that emacs generate on the fly. Example with a random github repo that have a couple org mode documents:
It's not super fast as it runs emacs everytime you need to render a page and run the export from there but considering the title of this article, it is well within the theme of blogging like a hacker.
I'm almost embarrassed about the number of times I've rebuilt my blog [1] over the past few years, especially given how infrequently I actually write anything.
A non-exhaustive list includes the following SSGs:
- Astro
- Eleventy
- Gatsby
- Hugo (three times)
- Jigsaw
- Lume
- Next.js
I finally settled on Astro. I don't know whether it qualifies as hot stuff, but I'm happy with it.
Regarding Hugo, the Go template language is a little esoteric (or at least very unusual) at times. The final straw, though, was the lack of compatibility with the Tailwind JIT compiler. Apparently it's fixed now, but it took so long that I'd long since moved on.
Astro feels like a really good fit for static content sites. It's easy to understand, and generates very fast sites that don't rely on a tonne of pointless JavaScript (as was the case with both Gatsby and Next when I used them).
My journey has been from jekyll to Hugo to plain HTML.
A blog post can be mostly <h1>, <p>, <b>, and <img> tags. I (mostly) use internal CSS so each post is self contained. Creating a new post is just a copy/paste of the last one and changing the words.
If I wanted a fancy style, I could export one from any template-based theme but I use something minimal. Keeping it simple helps me focus on writing instead of plug-in management and endless tweaking of settings.
In theory I'll run into issues if I want to restyle the entire blog, but I'm happy to preserve old posts as-is. If I wanted to edit a header or footer I could use bulk search/replace.
Occasionally I've wanted to add some extra interactivity or a one-off style. This is straightforward in HTML (assuming you know it) versus a generator that can get in your way with too many layers of abstraction.
No idea. I just use Wordpress - it increases the chance (which is very low) that I will write something and actually publish it, and for that thing not to be a meta "how I set up my blog this time".
I like Hugo. It's been a gateway drug into building much more interesting and broadly useful websites than just a blog for me, the same way WordPress was a gateway drug for today's PHP devs. Giving you RSS feeds out of the box is a lovely bonus.
Most recently I used Hugo to create a backup archive of the Finnish broadcast news, plus translations, which was all in all very easy thanks to its i18n support: https://hiandrewquinn.github.io/selkouutiset-archive/
Hugo also works well with Git submodules, if you want an excuse to learn how those work in more depth. I generally keep one submodule for just the content of my sites themselves, and another one for the theme. A third repo actually brings the two submodules together into a full fledged site.
I even gave a presentation at the local university to first year CS students who wanted to get Hugo up and running. It was a big success!
I am no expert, but I am in the process of transitioning over to NextJS. Reason being it's quite opinionated on how to structure your app / blog and you can produce a completely static website with it - not to mention that there is a very large community to learn and lean on if you get stuck.
OP here. Perhaps check Nue [1] — a static site generator I'm working on full-time. It offers some unique feats like universal hot-reloading of content, style, layout, and reactive components.
It does what I need. Fast, search-capable, markdown, and handlebars. The community isn't huge, but it's just what I need to get a little bit of writing online.
Hugo is popular and easy, and I hear Jekyll is a little out of style, but Gatsby and Astro are good. My own blog uses Hugo off-the-shelf with a semi-custom theme, and it works great. This is all hosted on a $4/month VPS with nginx (allowing me to add some custom code or other things if I want to), and has cloudflare in front of it. I hear cloudflare pages and GitHub pages are pretty popular for hosting, though.
I am leaning towards using omg.lol weblog. Not self hosted, 20 bucks a year, but it has git versioning, looks nice and comes with a lot of other interesting features in the package.
Its not hot but Jekyll works fine for me. I have my own little templating program which generates a part of my site as well, and it might take over the lot at some point.