Show HN: Pages CMS – A CMS for GitHub

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • pages-cms

    A user-friendly CMS for static site generators.

  • 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/

  • decap-cms

    A Git-based CMS for Static Site Generators

  • 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/

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • JAMA4JS

    The JAMA Linear Algebra package translated for use with Javascript

  • Tried it out [1], and with a bit of work got it to function. Media, posts, all seem to upload and be viewable. With the lead-in, kind of thought it was going to be "click-a-button, you're done." However, had to wander around a bit figuring out what format zones in the blog example were, and where they needed to be. Also kind of thought it was going to restyle my GitHub page or something, which did not seem to be the case (probably just false expectations)

    [1] Uploaded Media using Pages interface: https://github.com/conceptualGabrielPutnam/JAMA4JS/blob/main...

    Might be kind of nice if it allowed file upload/delete on folders you have not specifically called out for a function.

    On my desktop at least, the user icon is also in the lower left, and then opens the choice window off the screen to the right.

  • jekyllplus

    Discontinued Lightweight CMS for GitHub pages and Jekyll websites.

  • 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/

  • changelog

    Next.js + MDX changelog app inspired by https://linear.app/changelog (by juneHQ)

  • This is super cool!

    Tried to set it up for our open source Changelog though and getting some errors, it doesn't seem to work with .mdx files

    https://github.com/juneHQ/changelog

    Anyways this looks super promising

  • website

    The official website for Pages CMS (including the documentation). (by pages-cms)

  • Publii

    The most intuitive Static Site CMS designed for SEO-optimized and privacy-focused websites.

  • Very nice! It looks a bit like Publii [0], but the editor part is cloud hosted instead of running as an app on your machine.

    [0] https://getpublii.com/

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • 2024-blog

  • Got it; I hadn't heard of "Fine-Grained PATs" before so I just ignored it. My personal blog is open source already: https://github.com/FanaHOVA/2024-blog, so I was hoping to just OAuth and try it out, but I understand. Will try the self hosting at some point. Good luck with the project, looks slick.

  • notion-to-md

    Convert notion pages, block and list of blocks to markdown (supports nesting and custom parsing)

  • This is very cool! I recently started managing my Astro site content with Notion as a CMS, thanks to `notion-to-md` [1] and `@notionhq/client` [2] but media management is a hassle.

    I had been planning to re-host Notion media files to Cloudflare R2 and rewrite content, but it might just be simpler to use Pages CMS due to built-in R2 support.

    But also, I like using Notion apps on the go. Hmm.

    [1] https://github.com/souvikinator/notion-to-md

  • notion-sdk-js

    Official Notion JavaScript Client

  • blissue

    A blog based on github issues

  • This reminds me of one of my weekend projects from a couple of years ago: a blog based on GitHub issues.

    https://github.com/louismerlin/blissue

  • Lektor

    The lektor static file content management system

  • contentlayer

    Contentlayer turns your content into data - making it super easy to import MD(X) and CMS content in your app

  • This looks and sounds great...

    I'm currently using [contentlayer.dev](https://github.com/contentlayerdev/contentlayer) to manage docs and blog content, mostly .mdx files on urlbox.com.

    It works well with next.js but unfortunately is abandonware now.

    I also have a few custom remark/rehype plugins.

    You're right it is a pain to update articles buried in your repo especially with less technical team members. I already tried out TinaCMS to try and solve the editing issues, but their editor wasn't so nice, and it seemed to implicitly make a commit on every tiny change to any content, so I'm really hoping I could use something like this to edit my already existing content...

  • Personal-Site-Gourav.io

    My personal site & blog made with NextJS, Typescript, Tailwind CSS, MDX, Notion as CMS. Deployed on Vercel : https://gourav.io

  • in case anyone is looking for 'Notion as CMS' can check my blog repo https://github.com/GorvGoyl/Personal-Site-Gourav.io

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts