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 filesystemLocal development server with live re-rendering of markdown and data
Use JSON files as data sources in content
Automatic generation of
sitemap.xml
andrss.xml
filesCan serve non-markdown files like
robots.txt
Deployment best practices with
whitenoise
andgunicorn
already configuredLeverage custom or built-in
Django
template tags and filtersInclude any third-party
Django
app for additional functionalityOptional 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#
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