[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)