Show HN: I made a CMS that uses Git to store your data (outstatic.com)
I'm excited to finally launch Outstatic, an open source static website CMS that doesn't require a complicated setup or signing up to a third-party service!
You can access the documentation here: Outstatic Documentation.
I invite you to start by deploying our example blog to Vercel and giving it a try. I think you'll be pleasantly surprised at how easy and fun it is to use Outstatic.
Please, let me know what you think. This is the first public version of the project and all feedback is welcome.
If you dig the project feel free to leave a star on Github. I appreciate your support!
107 comments
[ 3.7 ms ] story [ 118 ms ] threadSome people have been using Outstatic without Vercel, and there's a section in the FAQs about it. But since this is the first version of the library and I haven't tested it with other services, I felt putting Vercel as a requirement would avoid people running into pitfalls with other services.
But oAuth is only setup with Github for now. So unfortunately that's pretty much a requirement.
I plan on adding support for other git providers in the future.
> The project is constantly improving with new changes being implemented on a daily basis. You can keep up by hitting the Star button!
I'm seeing this as a trend, but how does this actually work? Are you scraping user details from their profile pages, and are you sure that's allowed? Are you using some mechanism in GitHub to update users that have starred? Without understanding the actual mechanism used to keep users up-to-date, as hinted, it feels like misleading users to gain stars.
Maybe it's like the YouTube Like and Subscribe, except for the part where they contact you for new releases. It's a lot less pushy to tell people to star your repo than asking them to subscribe to issues and become a contributor on equal footing.
You need something like "stars" or "project member" as part of your contributor ladder.
Did you know that YouTube channels cannot get a non-randomized URL or be searchable by the channel title unless you have 1000 subs? (How do you get 1000 subs when nobody can search for or find your channel unless you hand them a link? I guess by pounding pavement...)
As an OSS maintainer, I don't think that stars do anything except for number go up, but you'd be surprised the things that "number go up" can help with.
[1]https://docs.github.com/en/account-and-profile/setting-up-an...
We'll give it a try... thanks for the great work!
[1]: https://github.com/wasmerio/wasmer.io
Really like the idea of keeping content in git, especially for smaller projects.
Git is terrible at managing documentation, it was designed for her bazaar-style software projects like the Linux kernel, which is very much a completely different use case.
Now you can mostly use any technology to do anything du maybe this software is great but I wouldn't mention git as more than an implementation detail personally.
[0]: https://github.com/frameable/junco-cms
Statically generated websites are everywhere and have been popular for many years. Gatsby, Next, Hugo, Jekyll, 11ty, Astro, etc.
Yet, there is a lack of visual editing interfaces for Markdown/Frontmatter/MDX content.
Netlify CMS has been the best solution in this space, and despite many thousands of stars it’s abandoned now.
Tina CMS seems nice, but requires a subscription/cloud account.
Why are there not more alternatives?
Will take a closer look at Outstatic for sure.
See: https://answers.netlify.com/t/is-this-project-dead/70988 https://github.com/netlify/netlify-cms/discussions/6503
I've noticed this too (https://github.com/netlify/netlify-cms/releases) with lots of open issues which makes me very nervous about using it for client projects. Netlify CMS is more than good enough for solo and small sites but it feels like it never took off like it should even with the backing of Netlify. Netlify's recent pricing changes to their hosting where they charge per Git user who trigger commits isn't great here either.
> Why are there not more alternatives?
Maybe it's hard to make money from? There's quite a few commercial offerings where some try to offer a slice of it as open source.
I'd love an active open source alternative to WordPress with a basic site builder i.e. you can drag and drop pre-built page sections to create new pages and get a live preview before you deploy. Unfortunately, WordPress is still the safe open source choice for ease-of-use of the editors for basic business sites.
Ones that I've used include:
- Statamic https://statamic.com
- Jigsaw https://jigsaw.tighten.com/
Flat File CMS are typical CMS systems (often times written in PHP) that run on the server, but use files (often Markdown/Frontmatter) as their data backend (instead of a DB like Wordpress, Drupal, etc.) – if you're looking for a really nice Flat File CMS take a look at Kirby (https://getkirby.com) or Statamic.
What OP is building (I think) and what others like Netlify CMS and Tina CMS do, are Frontend Applications (typically SPA) that output a set of content files, which can then be fed into a static site generator (like Next.js, Astro, Hugo, Jekyll), which will built a website from it. Often these content files live on Git – so the common interface between a SSG and the "static CMS" is often Git (or a local folder on your file system). So it's a "smaller" concept than flat file CMS. Typically these "static CMS" only care about content and have nothing to do with templating, etc.
After I've launched people pointed the existence of those CMSs. I really built this as something to scratch my own itch, halfway through I decided it could be a library.
But as someone else mentioned, it's quite hard to think of a business model around this. I'll keep working on it just so that I can use it in my own blog. If other people want to use it, that's great.
It feels like today it is a too risky water to dip toes into.
Bugs do appear to still be tracked and tagged though, so it's a confusing state of affairs.
[1] https://getpublii.com/
I’m not sure if the right thing to do is build a web editor or smooth out git workflows so that non-technical people can open content files with desktop software to make changes to the content.
Yes, at this stage I wouldn't advise anyone to try using this in production, it's the first version of a side project after all. But I'm really surprised by the response so far. I'll definitely keep improving it.
Let me know if you manage to figure out what went wrong, and if you get any error messages/logs. I'm available on twitter @AndreVitorio
So it's Apple Notes, Next.js and Vercel.
[1] https://montaigne.io
There's literally a hundred languages you can choose.
It was half ass browser language originally with improvements bolted on.
I think you meant "Uses GitHub to store your data"?
Git is not a data store but a version control system, it can't store data. Data is stored on your disk or on your Git server. In the case of your CMS it seems like it requires GitHub specifically, other Git servers won't work.
By the same theory, you don't store data in MySQL, you store it on a disk.
Git absolutely is a data store. It just so happens that its primary use-case is version-controlled code.
There's no reason why it can't be other data - even binary. Other text that isn't code is absolutely fine.
Also, if it's in GitHub, it's almost certainly is using Git. Though I haven't tried this service out yet, my guess is GitHub is being used as a known central Git repo source with a reasonably well developed ecosystem and security mechanics as well as being the most widely adopted Git VCS platform on the market.
But in theory you could use any Git repo on any platform (or no platform)... it sounds like it will just need to end up on GitHub currently to make use of the orchestration this service provides.
It's been working really great. GitHub PRs + preview applications give a very powerful collaboration / review framework. It works extremely well for folks who understand Git / GitHub enough - engineers, technical writers, etc.
It's starts breaking unfortunately for the marketing team, less tech savvy folks. I was trying to find a solution CMS that would work for them, but haven't seen so far something that would satisfy our needs. Two things that we are usually missing:
- we need a way for people to come and review it (ideally GitHub / Notion / GoogleDoc style). Where you would be able to comment on a line, suggest and edit, etc, etc - we need a way to handle assets better (using Git for blog was not scalable - started breaking the workflow). So far we ended up using DVC for this, but it complicates the workflow.
- there are merge conflicts that are happening - that's not easy to resolve in CMS
Nonetheless, even a tool that would prepare and generate a PR using an online editor is already a very decent step to my mind. Eager to try the tool.