Moving to a GitHub CMS

Here are my requirements for blogging platforms:

  • Should be easy and fast to update - no long or flaky build process
  • Should store images easily - as simple as a paste from my clipboard - anything else is unnecessary friction
  • Should be easily editable from mobile
  • (optional) should support comment system and different layout formats
  • (optional) wysiwyg markdown based editing - no funky blocks with lots of lockin

After thinking through local markdown, GraphCMS, Notion, Strapi, Directus, and so on, I’ve finally settled on using GitHub as a CMS.

I’ve long admired the OneGraph approach to blogging:

However their use of Relay is a bit too high overhead for me. So I built my own using just the GitHub REST API.

The primary problem with GH’s API is that it rate limits at 5000 requests an hour, which is dicey for a high traffic blog. So either you prerender at build, or you cache on request (we can also cache on build). Netlify’s On Demand Builders are a partial solution to this - partial because content updates will not be respected. I think this is an acceptable tradeoff for all the other functionality github as a cms offers.

The PR for doing this is available here: #9

Edit: users may also want to explore using Utterances for authed comments

Edit 2: I answered some FAQs here #50

Tagged in: #github cms

Loading comments...

Subscribe to the newsletter

Get emails from me about Lorem ipsum dolor sit, amet consectetur adipisicing elit. Libero, ducimus..

5,432 subscribers including my Mom – 123 issues

Latest Posts

Search and see all posts