In a nutshell:
1. You log in with your GitHub account.
2. You select the GitHub repo where your site/app is at (whether it's Next.js, 11ty, Hugo, Nuxt... as long as you're using flat files for content).
3. You add a single config file to your repo to define the content types and other settings (e.g. media folder).
4. Congrats: you now have a user friendly CMS to manage content + media BUT all changes are still tracked like regular commits (under your account) on GitHub.
I started using Jekyll around 2009 and over the course of the past 10+ years, I've helped build major sites and tiny blogs with Hugo, Gatsby, Next.js and more recently 11ty.
I still love it.
BUT once you're done building, managing content and media can be a bit of a pain. You have a few options:
- Edit files directly (on GitHub or your local). Good luck getting your colleagues on the marketing team to do that.
- Hook up a headless CMS like Contentful, Sanity, or Strapi. That works, but it's one more dependency and (IMHO) overkill in most cases.
- OR you could use something like [Decap CMS](https://decapcms.org/). Really cool project, but I've never been a fan of the UI/UX, and it's been a bit of a pain to setup (maybe that's just me).
I wanted something as simple as possible, preferably with nothing to install or deploy.
Back in 2018, I had built a prototype (Jekyll+) [1] with the idea of getting a CMS set up by just adding a single configuration file to your GitHub repository.
Pages CMS [2] is a continuation of that idea. It's 100% free and Open Source: https://github.com/pages-cms/pages-cms.
If you don't want to use the online version because you're not comfortable signing up with your GitHub account, consider the following options:
- Use a fine-grained personal access token [3], there's an option on the login screen. There is still a bug if you try to access a repo that isn't part of your token scope, but I'll get it fixed in the next couple of days.
- Deploy it yourself (for free) on Cloudflare Pages. Literally 5 minutes of work max. I made a video walking you through the process [4].
- Check out the intro video on the front page [2] (a bit crap, but I'll get a better one up in the next few days).
I use it actively with a few other teams, I hope it will be of use to some of you.
I'm already working on adding a few nicer features, like collaborative editing and email invites (to let non-developers login without a GitHub account).
PS: I've spent the past 8+ years building a business and only recently got back into coding. I'd love pointers as to what I could do better (and how I can manage my Powerpoint PTSD).
[1]: https://github.com/hunvreus/jekyllplus/
[2]: https://pagescms.org
[3]: https://docs.github.com/en/authentication/keeping-your-accou...
[4]: https://pagescms.org/docs/development/
Me personally I'd like to see something that supports easily creating and using different types of objects besides pages (such as: events, books, recipes, etc.), like content types and fields and views in wordpress or drupal, ideally aligned with schema.org like https://www.drupal.org/project/schemadotorg I think Hugo might support content types in YAML or something.