Software that makes simple Markdown content go. Used on bss.zone and other domains of mine.
Go to file
Brian S. Stephan 5aabb79199 call the pydot rendering support 'dot' in package extras 2021-10-08 07:09:21 -05:00
incorporealcms handle graphviz parsing errors more cleanly 2021-06-24 11:37:57 -05:00
requirements safety in tox: scan requirements for known bad packages 2021-06-24 11:46:56 -05:00
tests handle graphviz parsing errors more cleanly 2021-06-24 11:37:57 -05:00
.gitattributes add setup.py with versioneer support 2020-03-07 00:29:17 -06:00
.gitignore replace CI tools with tox invocation 2020-06-16 23:00:49 -05:00
CONTRIBUTING.md add a CONTRIBUTING file 2021-06-04 17:41:18 -05:00
LICENSE relicense the project under GPLv2 2021-06-02 07:44:23 -05:00
MANIFEST.in versioneer.py doesn't need to be included in the package 2020-06-18 23:29:37 -05:00
README.md add installation and usage information 2021-06-05 22:59:00 -05:00
setup.cfg replace CI tools with tox invocation 2020-06-16 23:00:49 -05:00
setup.py call the pydot rendering support 'dot' in package extras 2021-10-08 07:09:21 -05:00
tox.ini safety in tox: scan requirements for known bad packages 2021-06-24 11:46:56 -05:00
versioneer.py add setup.py with versioneer support 2020-03-07 00:29:17 -06:00

README.md

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.md should be referred to as /post to get it to render as Markdown.
  • Directory paths (e.g. /dir/) can be rendered with a /dir/index.md file.
  • 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.