DifuseHQ / Kalmia

A documentation CMS written in go
https://kalmia.difuse.io
GNU Affero General Public License v3.0
464 stars 19 forks source link

Kalmia

[!WARNING] This project is still in development so expect breaking changes!

https://github.com/user-attachments/assets/19d7b3e3-0f8d-49b6-a8e1-b8885ceec467

Kalmia is a Go tool with a web interface for managing RsPress documentation. It supports multiple versions, multiple users, and includes a markdown editor for easy edits. Please visit our website for more information on how to use Kalmia and its features.

Requirements

Installation

You can download from releases, our website or even clone the repository:

git clone https://github.com/DifuseHQ/kalmia.git
cd kalmia

Building

Kalmia uses a Makefile to manage build processes. Here are the main commands:

  1. Build everything (including dependencies):
make all
  1. Install dependencies (including building the web application):
make deps
  1. Run tests:
make test
  1. Build for specific platforms:
make build-amd64-linux
make build-arm64-linux
make build-win64
make build-freebsd64
make build-macos-arm64
make build-macos-amd64
  1. Build for all supported platforms:
make build
  1. Clean build artifacts:
make clean

Usage

After building, you can find the executable in the dist directory. Run it with:

cd dist && ./kalmia_<version>_<platform>

Replace and with the appropriate values.

Remember there should be a config.json file in the same directory as the executable or you can specify the same with the -config flag.

You can visit the website at http://localhost:2727/admin to start using Kalmia.

Contributing

We welcome contributions from the community. Please feel free to submit a Pull Request. We primarily use SQLite while developing, to setup a development environment, you can run:

npm install
npm run start

In the web/ directory and then run:

air .

In the root directory in a separate terminal to start the Go server. Make sure you have Air installed.

License

AGPL-3.0