incorporeal-cms/README.md

58 lines
2.3 KiB
Markdown
Raw Normal View History

2020-03-06 16:55:41 -06:00
# incorporeal-cms
Software that makes simple Markdown content go.
2021-06-05 22:51:43 -05:00
## 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.
## Configuration
I've tried to keep the software agnostic to my personal domains, logos, etc. There are some settings
you are probably interested in tweaking, by specifying new values in
`incorporealcms-instance/config.py`:
* `TITLE_SUFFIX` is appended to the title of every page, separated from other title content by a
dash.
* `CONTACT_EMAIL` is referred to in error templates.
* `FAVICON` supplies the image used in browser tabs and that kind of thing.
If I missed anything, please let me know.
## 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.