A simple content site framework that harnesses the power of Django without the hassle 🎵
📖 Complete documentation: https://coltrane.readthedocs.io
📦 Package located at https://pypi.org/project/coltrane/
- 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
andrss.xml
files - 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"
mkdir new-site && cd new-site
to create a new folderpoetry init --no-interaction --dependency 'coltrane:<1' && poetry install
to create a new virtual environment and install thecoltrane
packagepoetry run coltrane create
to create the folder structure for a new site- Update
content/index.md
poetry run coltrane play
for a local development server- Go to http://localhost:8000 to see the updated markdown rendered into HTML
poetry run coltrane record
to output the rendered HTML files
- Enable
watchman
for less resource-intensive autoreload on MacOS:brew install watchman
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
filehttp://localhost:8000/about/
which serves HTML generated from the/content/about.md
filehttp://localhost:8000/articles/this-is-the-first-article/
which serves HTML generated from the/content/articles/this-is-the-first-article.md
filehttp://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.
Thanks goes to these wonderful people (emoji key):
Tobi DEGNON |
This project follows the all-contributors specification. Contributions of any kind welcome!