On Friday, I wrote about the JAM stack, and why I love static websites so much.
One question I get a lot when I bring up static sites is what I use for a CMS. Let’s dig into that quick today.
The no-CMS option
For my own person sites, I don’t use a CMS at all.
I write articles in markdown in my sites git repository, push to GitHub, and a web hook triggers a build script I wrote that creates a fresh copy of the site and moves it to my live directory on the server.
If you use Netlify, they actually automate this for you so you don’t even have to think about a build script.
I also have a cron job that handles scheduled posts for me.
I’m a developer, so this process works great for me. But if you like GUIs, or if you’re building a site for a client, that’s not always an option.
Static Site GUIs
Fortunately, you can still provide a GUI/CMS interface with static websites.
Instead of talking to a database like a traditional CMS might, they use APIs to get and save content directly to your Git repository, without the user having to know how to commit and push files and all that messiness.
Both can be configured with the types of content allowed, custom “metadata” to gets added to the front matter of your files, and so on.