Looking for the old (Vue.js) version?
Tired of juggling Git and YAML to update your Next.js, Astro, Hugo or Nuxt website? Make it easy on you and your team, get a user-friendly CMS running straight on top of GitHub.
Customize content types, views, search, and more.
Rich-text, syntax highlighting, and more.
Drag and drop upload, multi-file selection, and more.
Fast, full-text and faceted search across your content.
Manage any website or app hosted on GitHub directly.
Invite users via email, no other account needed.
Connect with AWS S3, Cloudflare R2, and more.
Easily schedule one-off or recurring content updates.
Granular access control for different content types.
Integrate with GA, Cloudflare Analytics, and more.
Real-time content editing with other team members.
Let your team leave inline comments on any part of your content.
Yes, Pages CMS is 100% free, whether you want to use the online version or self-host it. It is a simple front-end app with very limited backend capabilities, which can run on Cloudflare Pages for free. The open-source version is MIT licensed; you can host it on your own Cloudflare account for free as well.
For now, yes. But I've already started looking into adding GitLab and Bitbucket. Pull requests and issues are welcome: github.com/pages-cms/pages-cms.
Not necessarily: Pages CMS is a single-page app with a handful of serverless functions to facilitate the OAuth dance with GitHub. You could easily run it on Netlify, Vercel, AWS, Render... You would just need to make these 3 functions work on your platform of choice: github.com/pages-cms/pages-cms/tree/main/functions/auth. With that being said, Cloudflare has a generous free tier which works great in this case.
Well, the GitHub API kinda sucks when it comes to OAuth scoping. Pages CMS relies on the OAuth App flow, which doesn't allow for granular permissions. The alternative would be to use the GitHub App flow instead, but:
However, we do not store your GitHub OAuth tokens in the backend. The serverless functions used to facilitate the OAuth login pass the OAuth token to the front-end, allowing it to directly communicate with the GitHub API.
And if you still don't trust the online version, you can deploy your own version for free in less than 10 minutes our Cloudflare Pages.
Do let me know if I got some of this wrong (@hunvreus), and feel free to suggest improvemens in the issue queue.
I hear you, but I needed Pages CMS to exist. I love static site generators, and while YAML front matter and Markdown aren't terribly complicated, editing content and uploading images using GitHub.com or Git isn't really user-friendly, especially if you're updating the site with a whole team. For that reason, a lot of teams use a headless CMS like Contentful, Sanity, or Strapi. That works, but it's one more dependency and is overkill in most cases. You could also use something like Decap CMS (formerly Netlify CMS). Really cool project, but I've never been a fan of the user experience. And most importantly, I wanted something as simple as possible. Back in 2018, I had built a lightweight CMS (Jekyll+) with the idea of getting the CMS set up with a single configuration file. Pages CMS is the next iteration of that idea.
I haven't completely figured it out, but there are a few features I'm working on that I believe would only be relevant to larger teams or professional use. Things like real-time collaboration, advanced media management (e.g., image manipulation), or S3 integration. This not only requires a lot more work but also hosting costs. If you're interested, drop me a line: [email protected] (@hunvreus).
I did: Ronan Berder (@hunvreus). I'm a half-decent developer, but I sure could use some help to make this suck less: github.com/pages-cms/pages-cms.