Introduction

coltrane can be used as a self-contained app framework for content sites, as a third-party app in a Django project to render markdown files, or as a static site builder. 🎵

⭐ Features

  • Render markdown files as HTML with automatic URL routing based on the filesystem

  • Local development server with live re-rendering of markdown and data

  • Use JSON files as a data source

  • Automatic generation of sitemap.xml and rss.xml

  • Can also serve non-markdown files, e.g. robots.txt

  • Site-wide redirects

  • Deployment best practices with Docker, whitenoise, and gunicorn already pre-configured

  • Leverage built-in or custom Django template tags and filters

  • Include any third-party Django app for additional functionality

  • Optional building of static HTML files

👀 Examples in the wild

  • GitEgo: An egocentric view of GitHub (uses the GitHub GraphQL endpoints)

  • python-utils: Interactive Python playground (uses django-unicorn component library)

  • unsuckjs.com: Libraries to progressively enhance HTML with minimal amounts of JavaScript (uses GitHub REST API)

  • djangobrew.com: Website for the Django Brew podcast (uses the Buzzsprout API)

  • djangostickers.com: Quirky, fun stickers for Django

Note

Please let me know if you use coltrane and would like to add it to this list!

🎵 What’s with the name?

coltrane is built on top of the Django web framework, which is named after Django Reinhardt. This framework is named after John Coltrane, another (more avant-garde 🎶) jazz musician.

🙏 Inspiration

https://twitter.com/willmcgugan/status/1477283879841157123 for the initial inspiration and my reaction https://twitter.com/adamghill/status/1477414858396164096.

⚙️ Dependencies

🎉 Other minimal Django projects