this is server side, and a more standard format, and thus I like it more than mermaid, which I've been using at work. but, I really wanted a server-side option (see my manifesto) for drawing relationship graphs, for D&D stuff of all things. this adds an optional 'graphviz' feature to package installation which consequently depends on pydot
incorporeal-cms
Software that makes simple Markdown content go.
Installation and Usage
I recommend getting a release from https://git.incorporeal.org/bss/incorporeal-cms/releases and installing the Python package in a virtualenv. Something like the following should suffice:
% cd ~/site
% virtualenv --python=python3.8 env-py3.8
% source env-py3.8/bin/activate
% pip install -U pip
% pip install ~/incorporeal_cms-1.3.0-py3-none-any.whl
% pip install -U gunicorn
% gunicorn -w 5 -t 60 -b 127.0.0.1:10000 --reload 'incorporealcms:create_app()'
This will get the CMS up and running, and listening on the specified port. The application is
further configured within env-py3.8/var/incorporealcms-instance/config.py, and content is served
out of env-py3.8/var/incorporealcms-instance/pages/.
Serving a Site
Put content inside env-py3.8/var/incorporealcms-instance/pages/ and go.
- Markdown files (ending in
.md) are rendered via Python-Markdown if they are accessed without the suffix (i.e.,post.mdshould be referred to as/postto get it to render as Markdown. - Directory paths (e.g.
/dir/) can be rendered with a/dir/index.mdfile. - Symlinks to files are treated as redirects to the destination content.
- Request paths with file suffixes are not rendered and served directly, so images, etc., can be
referenced naturally, and even the unrendered Markdown can be served as a text file via e.g.
/post.md.
Care is taken to not serve content above the pages/ dir, even via symlink.
Author and Licensing
Written by and copyright Brian S. Stephan (bss@incorporeal.org).
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License (included in this repository), or (at your option) any later version.