Our great sponsors
-
gutenberg
A fast static site generator in a single binary with everything built-in. https://www.getzola.org
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Strapi
🚀 Strapi is the leading open-source headless CMS. It’s 100% JavaScript/TypeScript, fully customizable and developer-first.
-
Directus
The Modern Data Stack 🐰 — Directus is an instant REST+GraphQL API and intuitive no-code data collaboration app for any SQL database.
-
Grav
Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS powered by PHP, Markdown, Twig, and Symfony
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
No you're absolutely right -- these are all headless CMSes, I did not actually complete the JAMstack, only the wrong piece -- I don't know what I was thinking, don't know what made me zoom in on CMSes so much, guess I think of them as more important than the front-end in a JAMstack.
As recompense, some lesser known options for the frontend part of the JAMstack that weren't mentioned in the original post:
- https://github.com/getzola/zola
- https://hexo.io/
- https://www.getblades.org/getting_started.html
I've switched away from Vue to using Alpine.js, which makes it easier to combine backend templates with frontend ones, but here's the repo back when I was using Vue: https://github.com/spotlightpa/poor-richard/tree/eb816cac807...
src/entrypoints/donate.js defined a custom element, which was included on layouts/donate-page/single.html and layouts/partials/get-src.html conditionally included the Vue component either with Parcel's dev server in testing or precompiled files in production.
It's not very different from what you'd do in any not-JS web framework.
If you love building stuff in Rails, keep an eye on my project Sitepress at https://github.com/sitepress/sitepress (there's a project site too at https://sitepress.cc)
I built this because it was extremely difficult to embed Middleman or Jekyll into a Rails site. While I was building it, I discovered that Rails actually has a LOT of stuff in it already that make it work well for a static site compiler.
I run it in a few places, with the largest deployment at https://www.polleverywhere.com. At Poll Everywhere it's happily been serving up content pages for a few years. I've switched all of my personal static websites over to it as well.
Here's what's kind of crazy about Sitepress: you can use it to compile static websites -- OR -- you can embed it in rails and do things dynamically like display a "Login" vs "Logout" button state. The choice of "static" vs "dynamic" just isn't a big deal with Sitepress, you can have it both ways.
Last thing: I'm currently working on making Sitepress serve up Notion and Webflow content. This can be really helpful for teams that need to deal with multiple CMS formats from large teams.
For me it was the license that made me not pick it: https://github.com/getpelican/pelican/issues/1397.
A while ago I was picking a new SSG and I would have preferred something written in Python so I can hack on it more easily. I ended up moving on because of the license.
I am now very happily using Hugo.
Think twice about building on top of Gridsome.
I love Gridsome, and it had tons of potential, but it's effectively a dead project. The maintainers haven't cut a new release since November 2020.[0] There's barely been any feature work since 2019.[1] Their Github repos have tons of PRs that have not been reviewed. There are serious site-killing bugs that have not been fixed for over a year.[2]
I really wanted this project to succeed. I asked to sponsor the project and volunteered working on their documentation for a few months, but it didn't seem to yield any new dev work.
The maintainers are extremely talented, and this is not a knock against them, but I just caution anyone against marrying themselves to a framework that's unlikely to have any ongoing maintenance.
[0] https://github.com/gridsome/gridsome/releases
[1] https://github.com/gridsome/gridsome/graphs/code-frequency
[2] https://github.com/gridsome/gridsome/issues/1032
For any Swift devs needing to put together a webpage, check out Publish: https://github.com/JohnSundell/Publish
I still like react-static. Minimalism on react:
https://github.com/react-static/react-static
If you love building stuff in Rails…
Check out Bridgetown, "a Webpack-aware, Ruby-powered static site generator for the modern Jamstack era". It's come a long way since it forked from Jekyll a year ago [1].
[1]: https://www.bridgetownrb.com
I also know that there is also Python-based Lektor [2], however I found Nikola more intriguing than this one.
[0] https://getnikola.com/
Btw there is a static page generator utilizing pandoc directly: hakyll[1]. Since it's configuration is done via haskell source code file, you need to be willing to learn a bit of haskell though.
[1] https://jaspervdj.be/hakyll/
No you're absolutely right -- these are all headless CMSes, I did not actually complete the JAMstack, only the wrong piece -- I don't know what I was thinking, don't know what made me zoom in on CMSes so much, guess I think of them as more important than the front-end in a JAMstack.
As recompense, some lesser known options for the frontend part of the JAMstack that weren't mentioned in the original post:
- https://github.com/getzola/zola
- https://hexo.io/
- https://www.getblades.org/getting_started.html