I created and launched this iteration of my blog around this time last year. In the last year, I’ve been assessing how it’s been working for me and trying my best to keep it up to date in a timely manner.
Last night, I finally added the ability to add and change entries from a UI. A little while ago, I decided I didn’t really like having to pull up my personal machine and write markdown (without help) to get a new entry up. I also really wanted to create entries from my phone. I worked on assessing using the Gitlab UI to change entries, but it was pretty unusable on my phone. It was the same story on Github, though that felt a little more usable. I also didn’t want to migrate to using WordPress, Contentful, or GraphCMS on the back end, because all of those options would have been a much larger lift.
Additionally, when I originally built this blog, it was running on TinaCMS. However, I soon found out that TinaCMS was still building the entire CMS on the production site and dragging my site’s performance. After I did some more searching for lightweight CMSs, hearing good things, and seeing pretty thorough documentation, I started looking into NetlifyCMS.
Essentially, the way NetlifyCMS works is that it connects its admin panel running on your site to your code repository. From there, it creates commits with your new entries. If you have automatic deploys enabled, your new entry can show up right away. If you have post moderation turned on—like I do—the new posts show up as pull requests, which are merged or closed if you publish or delete, respectively. Additionally, if you have deploy previews turned on, NetlifyCMS will give you a preview link for that entry. Frankly, if this didn’t already exist, I’d be looking for a way to write it myself.
The process now is much smoother than it was. I’m finding that I can write entries more effectively and even on my lunch break.
That said, I do have a couple of things I want to change:
- I want to work on trying to customize the post editing UI to make it a little easier to work with and possibly contribute back.
- The documentation on images in NetlifyCMS with Gatsby were not entirely clear, so I want to write a more detailed entry on how my setup works.
- This is just a natural part of how this process works, but I don’t have the ability to schedule posts. So when one goes live, it’s likely because I pushed the button 5 minutes prior. (This is not a negative mark on NetlifyCMS, Netlify, or Gitlab. This is something I would have to make the time to implement.)
Either way, this is a huge quality of life improvement and I have to recommend it to folks who want to host on Netlify but also want a way to change the site from anywhere. I’m definitely intrigued enough to start possibly writing some plugins or enhancements, especially to the interface.
Bonus: I also installed the Gatsby cache plugin to my Netlify instance to enhance my ability to see quick previews and not rebuild everything on my site every time. I can happily say that builds have gone from an average of 3 minutes to under 1 minute! 🤯
Thank you so much to Netlify and NetlifyCMS for great products and support! I can’t recommend these two enough.