coltrane
coltrane copied to clipboard
A minimal app framework for content sites.
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/
⭐ Features
- 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.xmlandrss.xmlfiles - 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"
⚡ Quick start for a new static site
mkdir new-site && cd new-siteto create a new folderpoetry init --no-interaction --dependency 'coltrane:<1' && poetry installto create a new virtual environment and install thecoltranepackagepoetry run coltrane createto create the folder structure for a new site- Update
content/index.md poetry run coltrane playfor a local development server- Go to http://localhost:8000 to see the updated markdown rendered into HTML
poetry run coltrane recordto output the rendered HTML files
Optional installation
- Enable
watchmanfor less resource-intensive autoreload on MacOS:brew install watchman
➕ How to add new content
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.mdfilehttp://localhost:8000/about/which serves HTML generated from the/content/about.mdfilehttp://localhost:8000/articles/this-is-the-first-article/which serves HTML generated from the/content/articles/this-is-the-first-article.mdfilehttp://localhost:8000/not-there/will 404
poetry run coltrane record will create these HTML files for a static site
output/index.htmloutput/about/index.htmloutput/articles/this-is-the-first-article/index.html
Read all of the documentation at https://coltrane.readthedocs.io.
Contributors ✨
Thanks goes to these wonderful people (emoji key):
Tobi DEGNON ⚠️ 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!