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 filesystemLocal development server with live re-rendering of markdown and data
Use JSON files as a data source
Automatic generation of
sitemap.xml
andrss.xml
Can also serve non-markdown files, e.g.
robots.txt
Site-wide redirects
Deployment best practices with
Docker
,whitenoise
, andgunicorn
already pre-configuredLeverage built-in or custom
Django
template tags and filtersInclude any third-party
Django
app for additional functionalityOptional 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¶
https://github.com/adamchainz/django-browser-reload for development server live reloads
https://github.com/boxed/django-fastdev to ensure template variables are available
https://github.com/lepture/mistune for doing the hard work of rendering the markdown
https://www.djangoproject.com for doing the hard work of everything else