Introduction#

coltrane is a Dynamic Site Generator that harnesses the power of Django without the hassle. It can also be used to build a static HTML site or as a third-party Django app.

⭐ 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 data sources in content

  • Automatic generation of sitemap.xml and rss.xml files

  • Can serve non-markdown files like robots.txt

  • Deployment best practices with whitenoise and gunicorn already configured

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

  • Include any third-party Django app for additional functionality

  • Optional building of static HTML files

πŸ™‹ What is a Dynamic Site Generator?#

coltrane is similar to a static site generator – it takes markdown content and renders it as HTML. However, it also provides an opinionated framework for building dynamic websites.

Examples in the wild#

  • GitEgo: An egocentric view of GitHub

  • python-utils: Interactive Python playground

  • unsuckjs.com: Libraries to progressively enhance HTML with minimal amounts of JavaScript

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#