A simple content site framework that harnesses the power of Django without the hassle.
Project description
coltrane
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.xml
andrss.xml
files - Can also serve non-markdown files like
robots.txt
- 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-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
Optional installation
- Enable
watchman
for 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.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.
Contributors ✨
Thanks goes to these wonderful people (emoji key):
Tobi DEGNON ⚠️ 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for coltrane-0.24.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fef11ed78d8bfa5cd3af753a0db0c87738c8e9d5e46d20b8a680f19bdd8dc8f8 |
|
MD5 | aab058eb3fca1cfa89be7db938a0f68b |
|
BLAKE2b-256 | ae2dcda06be2fc715c63d4cbad900bd7cf1db758fa8cf655441929b10a6d8c18 |