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: sw-yx#9

Edit: users may also want to explore using Utterances for authed comments https://github.com/utterance/utterances

Edit 2: I answered some FAQs here sw-yx#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