I updated one of the first static sites I created: ErikaMumford.net. This site is pretty simple: it has my mom’s poetry on it. I added content management. I made it a few years back, using Jekyll, which is a static site generator (SSG). The content is just pages that consist of markdown files. Like all SSGs, Jekyll “generates” the site at build time. On the server, only static HTML files are served. There is no database involved.
In the past I wrote out the poems on my laptop, in markdown, using my text editor. Then I committed them to the site repo. This would trigger a deployment to the host (Netlify). This workflow is fine for developers, but you can hardly expect to tell a client they have to write content in VS Code and learn Git.
I installed the Netlify CMS. This is a React app that loads on an Admin page, and lets an authenticated user edit the pages. It does not save data to a database, as most CMS’s do. Instead, it saves your data as a file. It does this by sending a commit to your site’s Git repo. When you deploy your site, the changes will be live. This sounds weird, but it works. You might wonder what is the advantage of saving data this way? The advantage is that your content is kept under version control. This is a wonderful feature.