Skip to main content

Koriander CMS gives you the web-based workflow of WordPress and combines it with the static site sleakness of Hugo

Project description

Koriander CMS

Koriander CMS combines static site generation like Hugo and a dynamic CMS experience like Ghost into one application.

Koriander is early stage and powers the author's personal blog at https://www.justus.pw. Read more about Koriander.

Try Koriander CMS

Here's how you can try Koriander CMS on your computer.

First, ensure that your computer can run the pipx. Learn how to install pipx.

Once pipx runs on your computer, install Koriander by typing the following command in your terminal.

pipx install git+ssh://git@codeberg.org/jwpconsulting/koriander.git

When the installation finishes, your terminal should print the following:

⣷ installing koriander from spec 'git+ssh://git@codeberg.org/jwpconsulting/koriander.git'  installed package koriander 0.1.0, installed using Python 3.13.12
  These apps are now globally available
    - koriander
done! ✨ 🌟 ✨

Run the following koriander serve command in a new directory:

koriander serve

This should print a start up log and give you a log in link:

Log in with the following link:

http://localhost:8000/dev-login/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, koriander, koriander_user, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  …
Log in with the following link:

http://localhost:8000/dev-login/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/

…
WARNING: This is a development server. Do not use it in a production setting. Use a production WSGI or ASGI server instead.
For more information on production servers see: https://docs.djangoproject.com/en/6.0/howto/deployment/

Open the http://localhost:8000/dev-login/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/ in your browser. You should now see the Koriander CMS.

koriander-magic-login

When you first run the Koriander CMS, you should see a welcome message saying Koriander installed successfully.

Try editing the welcome page by following the Edit page link.

Edit the current page by following the Edit page link in the top menu.

When you finish editing your page, render your entire Koriander CMS website with the render command:

koriander render

When you run koriander render in a terminal, it should print the following:

Writing static files to scraped_site/static...

157 static files copied to '/private/var/folders/k8/jnlz0xdn5jd48zttf3ktv7200000gn/T/tmp.BWupFFLrzH/scraped_site/static', 461 post-processed, 25 skipped due to conflict.
Static files collected to scraped_site/static
Seeding 0 redirect address(es)...
Seeding 6 URL(s) from sitemap.xml...
Rendered 404.html
Page has markdown body, but no summary, index.html
200 /index.html (from seed)
200 /robots.txt (from seed)
/Users/debian/.local/pipx/venvs/koriander/lib/python3.13/site-packages/koriander/views.py:221: UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: <class 'koriander.models.Tag'> QuerySet.
  paginator = Paginator(
200 /tags/index.html (from /sitemap.xml)
200 /index.xml (from /sitemap.xml)
200 /index.atom (from /sitemap.xml)
200 /index.atom.xml (from /sitemap.xml)
200 /redirects.json (from /sitemap.xml)
Crawled 7 page(s).
Render complete. Output in: scraped_site

koriander render outputs your site in a scraped_site directory.

You can upload this site directory to a static site host like GitHub Pages, Cloudflare, or Netlify.

Develop

Install everything:

uv sync

Test everything:

bin/test.sh

Format code:

bin/format.sh

Render:

uv run koriander render; python -m http.server -d scraped_site

Live preview:

uv run koriander serve

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

koriander-0.2.0.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

koriander-0.2.0-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

Details for the file koriander-0.2.0.tar.gz.

File metadata

  • Download URL: koriander-0.2.0.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for koriander-0.2.0.tar.gz
Algorithm Hash digest
SHA256 823b8e44ae1c415ed3a92f004dce9f64f1e56a4a798de1a78607ef2f06670164
MD5 a69e803e8545a515dc302ee37f18e1e3
BLAKE2b-256 acfc055ae77b4da5682f533e53446666a3bdf321bdad317263b6a5d7238143e8

See more details on using hashes here.

File details

Details for the file koriander-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: koriander-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for koriander-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f2819892f5fd932ad02a94f15b7632254351db60d1d69a85d11c9f43036c4ce2
MD5 a545768c822219a28f1b895a6ae63f26
BLAKE2b-256 5aa3e7ad0455681a3ca36b5de2b87fb1a785757651e39c6a8a7f710afee28877

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page