I oftentimes run Linux Desktop fullscreen in a VM on macOS. macOS acts like a hardware abstraction layer in that case. Depending on the task and the tools, I sometimes prefer this option (I do like the macOS UI though (except for the current version), I just like to use the right tool for the job)
I don’t think there’s an existing tool that handles Markdown and Git repos without requiring users to interact with Git directly.
We’re currently developing a feature that allows you to push directly to Git from Kalmia. Instead of pushing Markdown, we’ll push the compiled HTML/JS output, eliminating the need for a build step in the Git repo and making CI/CD processes unnecessary.
One of the saas hosting companies made one for Hugo iirc, but it looks like crap and is pretty basic.
It's a pretty easily solvable problem but I guess developers are focussing on bigger markets.
I'd want to keep the build step since I may pull markdown from other sources like I think astra allows.
I really just want to be able to give access to a marketing team to update the blog etc as a nice UI over using markdown and git (which is never going to happen).
> I'd want to keep the build step since I may pull markdown from other sources like I think astra allows.
Pushing without building is not a difficult thing to do, in-fact it will make changes much faster too. But you mention pulling markdown files from other places, merge conflicts are bound to happen that way right? And AFAICS there would not be an easy way to manage that automagically without human intervention.
No I think it'd be enough to have them separate to avoid merge conflicts.
It could probably be done in a separate step or something so users can edit files once they've been pulled in from other sources, at which point the repo becomes the source of truth.
Thank you for the feedback! I understand the confusion. Kalmia is indeed a server-side CMS, but its Go-based architecture allows it to be lightweight and run on various platforms, from cloud servers to smaller setups like Raspberry Pi.
Think of Kalmia as similar to Docusaurus, but with a built-in GUI—one of the most requested features from the Docusaurus community (https://docusaurus.io/feature-requests/p/make-content-editin...). With Kalmia, non-technical users can contribute to documentation without needing to know Git or Markdown, making content editing much easier.
We store the documentation data in a database (Postgres or SQLite), and markdown/HTML is generated only when updates, deletions, or creations happen. The built HTML is stored in memory for fast access, ensuring performance remains smooth even for large docs.
We’re also working on features like export to zip and GitHub Pages support, so users can host their docs externally if needed.
Regarding SSO, it’s a great suggestion. We’re looking into integrating Single Sign-On (SSO) to streamline user management and improve security. This will help with easier adoption in environments that already use OIDC for authentication. (We already supported OAuth with Github/Microsoft/Google)
Thanks again for your thoughtful input, and I appreciate you checking out Kalmia!
This is accurate, we also use it for one of our other products here https://docs.difuse.io/, although a demo instance for people to play around with is not a bad idea, will look into that.
I actually just discovered Outline yesterday! It's an awesome platform. Our feature set isn't as extensive (yet), especially when it comes to integrations—they've really nailed that. However, many of the other features, like live collaboration and better security, are things we're actively working on and should be available in the next few releases.
One major difference between Outline and Kalmia is the license. I believe Outline uses BSL, while Kalmia is AGPL.
Good point! We use a database (SQLite or Postgres) to enable more advanced features like versioning, collaboration, and access control, which aren't easily managed with static files alone. The database also allows us to scale better for teams with frequent updates.
While it does limit deployment to platforms like GitHub Pages, Kalmia is designed for teams that need more than just static documentation—think of it as a middle ground between static site generators and fully dynamic CMS solutions. For purely static sites, there are other great options out there, but Kalmia focuses on more interactive, collaborative documentation.
That said, we’re actually interested in providing an option for users to export and deploy it to platforms like GitHub Pages or similar, so stay tuned for future updates on that!
You could look into frontmatter to store metadata within the files, and just load it all into memory on startup. Even for huge projects, that probably won’t hurt anyway.
We already load all the documentation assets into memory whenever something changes. Even with large projects spanning hundreds of pages and page groups, it remains very fast—under 1 second in our testing.
That being said, there are some cases where a database is necessary. For example, handling multiple people editing the same document simultaneously wouldn’t work well with just flat files. Also, where would we store user emails/passwords for authentication? Another feature Kalmia supports is private documentation, where users need to log in to access certain docs (there's a simple toggle to enable authentication).
That said, adding an "export to zip" or "push to git" button is totally feasible, and it's something we've had a lot of requests for. While we don't personally use it, we'll be adding it so people can host their docs on static file platforms without needing Kalmia as the backend.
The nice thing about flat files represented in memory would really be maximum performance, no external data store necessary, and easy portability. I definitely understand that sorting out concurrency by using a DBMS is easier, however.
> Also, where would we store user emails/passwords for authentication?
For this kind of application, I’d strongly recommend (and request from anything I buy) OAuth signin via my existing identity provider. That means I don’t have yet another location for accounts, and you don’t have to worry about storing them securely.