[HN Gopher] Show HN: We built a FOSS documentation CMS with a pr...
___________________________________________________________________
Show HN: We built a FOSS documentation CMS with a pretty GUI
Kalmia started as a small hobby project about two months ago, but
it quickly evolved when we needed a better solution to manage our
office's documentation. It has now become our go-to tool for both
internal and user-facing docs. Recently, we decided to open source
it, as we believe others might benefit from a lightweight,
customizable documentation system like this. We're excited to see
how the community can take it further, contribute, and adapt it to
their own needs!
Author : arch1e
Score : 65 points
Date : 2024-09-05 16:26 UTC (6 hours ago)
(HTM) web link (kalmia.difuse.io)
(TXT) w3m dump (kalmia.difuse.io)
| wiradikusuma wrote:
| Congrats on launching! Quick question: is this closer to WikiJS
| (https://js.wiki/), TinaCMS (https://tina.io/), Docusaurus
| (https://docusaurus.io/), or something else?
| arch1e wrote:
| Thank you so much! Great question. Kalmia actually borrows
| elements from all three, but in different ways:
|
| * On the GUI side, it leans heavily towards TinaCMS. We even
| considered using TinaCMS directly (Tinasaurus
| (https://github.com/tinacms/tinasaurus)) but ultimately built
| our own for better integration with our backend.
|
| * For the backend (MDX -> HTML) generation, it's very similar
| to Docusaurus. We use a tool called RsPress, which is part of
| the RsBuild/RsPack tool suite. It's relatively new, but because
| it's written in Rust, it's much faster than Docusaurus. (Fun
| fact, if you look at the commit history you will see that we
| initially used Docusaurus but then migrated away from it!)
|
| * Wiki.js is extremely extensive, but it's dropping support for
| SQLite, which was a big factor for us. Also, its frontend for
| documentation doesn't feel as fast as RsPress (you can try ours
| out on kalmia.difuse.io it's hosted on single core azure
| server). The biggest reason we didn't go with Wiki.js was the
| versioning system--it felt clunky (or non existent for entire
| docs?). In Kalmia, versioning the entire documentation is just
| a one-click process.
|
| So, in short, Kalmia combines a TinaCMS-like editing experience
| with Docusaurus-like static site generation, but with speed
| advantages from the latest Rust based tooling for SSG.
| zimbatm wrote:
| It looks closer to https://www.getoutline.com/
| arch1e wrote:
| 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.
| insane_dreamer wrote:
| Slab is another one (we use it, but have no connection to it)
| https://slab.com/
|
| Would be happy to switch to a self-hosted FOSS alternative
| though.
| asynchronous wrote:
| Using Rust for markdown parsing seems like the epitome of driving
| a racecar to the grocery store- I'm curious if you have any
| metrics as to how much build time was reduced with that over
| using something like Node. I'd guess it's <10ms.
| arch1e wrote:
| We saw nearly the same reduction in build times (~80-90%) as
| quoted in the official RsPress documentation. Keep in mind,
| we're using MDX, not just plain Markdown.
|
| Source: https://rspress.dev/guide/start/introduction#build-
| performan...
| oneseven wrote:
| Looks great! Why do you need a database? Seems like that limits
| the deployment options. You can't deploy to github pages, for
| example.
| arch1e wrote:
| 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!
| mattfrommars wrote:
| I have yet go understand how people built slick UI like this.
|
| Is this Chakra UI? The notification that shows up and bounces a
| bit, I've seen that on other websites too.
| arch1e wrote:
| Tailwind! And tailwind based component libraries like flowbite
| made of all these possible.
| Eduard wrote:
| is the website dog-fed? first thing I looked for and couldn't
| find (hence left) was a demo instance
| joekrill wrote:
| Pretty sure that the site itself (the documentation that is
| linked to) is built with it.
| arch1e wrote:
| 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.
___________________________________________________________________
(page generated 2024-09-05 23:00 UTC)