Skip to main content

A simple content site framework that harnesses the power of Django without the hassle.

Project description

coltrane

A simple content site framework that harnesses the power of Django without the hassle 🎵

PyPI PyPI - Downloads GitHub Sponsors

All Contributors

📖 Complete documentation: https://coltrane.readthedocs.io

📦 Package located at https://pypi.org/project/coltrane/

⭐ Features

  • Can either generate a static HTML site, be deployed as a standalone Django site, or integrated into an existing Django site
  • Reads markdown content and renders it in HTML
  • Can use data from JSON files in templates and markdown content
  • Automatic generation of sitemap.xml and rss.xml files
  • Can also serve non-markdown files like robots.txt
  • Live re-rendering of markdown and data when markdown or JSON data files are saved with the magic of https://github.com/adamchainz/django-browser-reload
  • All the power of Django templates, template tags, and filters inside markdown files
  • Can include other Django apps for additional functionality
  • Custom Template tags are supported and are enabled automatically for use in markdown content
  • Opinionated standalone Django project setup where deployment (including static files) just works "out of the box"

⚡ Quick start for a new static site

  1. mkdir new-site && cd new-site to create a new folder
  2. poetry init --no-interaction --dependency 'coltrane:<1' && poetry install to create a new virtual environment and install the coltrane package
  3. poetry run coltrane create to create the folder structure for a new site
  4. Update content/index.md
  5. poetry run coltrane play for a local development server
  6. Go to http://localhost:8000 to see the updated markdown rendered into HTML
  7. poetry run coltrane record to output the rendered HTML files

Optional installation

  • Enable watchman for less resource-intensive autoreload on MacOS: brew install watchman

➕ How to add new content

Add markdown files or sub-directories with markdown files to the content directory and they will automatically have routes created that can be requested.

Example markdown files

content/index.md
content/about.md
content/articles/this-is-the-first-article.md

poetry run coltrane play will serve these URLs

  • http://localhost:8000/ which serves HTML generated from the /content/index.md file
  • http://localhost:8000/about/ which serves HTML generated from the /content/about.md file
  • http://localhost:8000/articles/this-is-the-first-article/ which serves HTML generated from the /content/articles/this-is-the-first-article.md file
  • http://localhost:8000/not-there/ will 404

poetry run coltrane record will create these HTML files for a static site

  • output/index.html
  • output/about/index.html
  • output/articles/this-is-the-first-article/index.html

Read all of the documentation at https://coltrane.readthedocs.io.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Tobi DEGNON
Tobi DEGNON

⚠️ 💻

This project follows the all-contributors specification. Contributions of any kind welcome!

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

coltrane-0.24.0.tar.gz (27.2 kB view details)

Uploaded Source

Built Distribution

coltrane-0.24.0-py3-none-any.whl (29.8 kB view details)

Uploaded Python 3

File details

Details for the file coltrane-0.24.0.tar.gz.

File metadata

  • Download URL: coltrane-0.24.0.tar.gz
  • Upload date:
  • Size: 27.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.9.13 Darwin/22.1.0

File hashes

Hashes for coltrane-0.24.0.tar.gz
Algorithm Hash digest
SHA256 9ebe25a4215b238cf829001c7ee4ea5df0a180073e52fa2cce4ccaf7d97a3e3b
MD5 3940a2a5fd4a191414c0e24a5fac8593
BLAKE2b-256 d2a08e21f1560a132405013f13410feaecd48d413a6d68fab8070baefa7a9637

See more details on using hashes here.

File details

Details for the file coltrane-0.24.0-py3-none-any.whl.

File metadata

  • Download URL: coltrane-0.24.0-py3-none-any.whl
  • Upload date:
  • Size: 29.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.9.13 Darwin/22.1.0

File hashes

Hashes for coltrane-0.24.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fef11ed78d8bfa5cd3af753a0db0c87738c8e9d5e46d20b8a680f19bdd8dc8f8
MD5 aab058eb3fca1cfa89be7db938a0f68b
BLAKE2b-256 ae2dcda06be2fc715c63d4cbad900bd7cf1db758fa8cf655441929b10a6d8c18

See more details on using hashes here.

Supported by

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