-CMless - Because words should be weighed, not counted.
-======================================================
-
-Description
------------
+# Overview #
CMless is a file based CMS intended for easy integration with version controlled,
format agnostic content.
-Status
-------
+An example site might store each page as a Markdown file, with directories to
+define categories, the entire site using `git` for version and edit-access
+control. CMless can serve that content as a website.
+
+The content for <http://subgeniuskitty.com> can be found in such a
+[repository](git://git.subgeniuskitty.com/website_subgeniuskitty.com).
+
+CMless is kept extremely simple with the intention of being easy to comprehend
+and modify. See the source code for examples demonstrating how to add a new
+piece of functionality.
+
+
+# Status #
-CMless is not yet functional. The stages required to reach basic functionality are:
+Functions as minimal CMS. Runs <http://subgeniuskitty.com>.
-1. ~~Figure out deployment scheme~~
-2. Interpret URL and locate/serve appropriate page
-3. Feed pages through a document processor
-4. Feed pages through a template engine
-5. Generate menu based on directory structure
+Tested on Debian Linux and FreeBSD.
-Installation Example - Debian Linux
------------------------------------
+
+# Instructions #
+
+## Installation - Debian Linux ##
Enable CGI scripts:
-```
-a2enmod cgi
-```
+ a2enmod cgid
Create and enable an Apache vhost.
-```
-vi /etc/apache2/sites-available/cmless.subgeniuskitty.com
-```
-
-```
-<VirtualHost *:80>
- DocumentRoot "/mnt/data/apache_vhosts/cmless.subgeniuskitty.com"
- ServerName cmless.subgeniuskitty.com
- ServerAdmin webmaster@subgeniuskitty.com
- ErrorLog /var/log/apache2/error_log.cmless.subgeniuskitty.com
- CustomLog /var/log/apache2/access_log.cmless.subgeniuskitty.com combined
- AddHandler cgi-script .py
- <Directory "/mnt/data/apache_vhosts/cmless.subgeniuskitty.com">
- Options -ExecCGI -Indexes
- AllowOverride None
- Order allow,deny
- Allow from all
- </Directory>
- <Directory "/mnt/data/apache_vhosts/cmless.subgeniuskitty.com/bin">
- Options ExecCGI
- AllowOverride None
- Order allow,deny
- Allow from all
- </Directory>
- RewriteEngine On
- RewriteRule (.*) /mnt/data/apache_vhosts/cmless.subgeniuskitty.com/site/$1
- RewriteRule .* /mnt/data/apache_vhosts/cmless.subgeniuskitty.com/bin/cmless.py
-</VirtualHost>
-```
-
-```
-a2ensite cmless.subgeniuskitty.com
-service apache2 reload
-```
+ vi /etc/apache2/sites-available/cmless.subgeniuskitty.com
+
+ <VirtualHost *:80>
+ DocumentRoot "/srv/apache_vhosts/cmless.subgeniuskitty.com"
+ ServerName cmless.subgeniuskitty.com
+ ServerAdmin webmaster@subgeniuskitty.com
+ ErrorLog /var/log/apache2/error_log.cmless.subgeniuskitty.com
+ CustomLog /var/log/apache2/access_log.cmless.subgeniuskitty.com combined
+ AddHandler cgi-script .py
+ <Directory "/srv/apache_vhosts/cmless.subgeniuskitty.com">
+ Options -ExecCGI -Indexes
+ AllowOverride None
+ Order allow,deny
+ Allow from all
+ </Directory>
+ <Directory "/srv/apache_vhosts/cmless.subgeniuskitty.com/bin">
+ Options ExecCGI
+ AllowOverride None
+ Order allow,deny
+ Allow from all
+ </Directory>
+ RewriteEngine On
+ RewriteRule (.*) /srv/apache_vhosts/cmless.subgeniuskitty.com/site/$1
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteRule .* /srv/apache_vhosts/cmless.subgeniuskitty.com/bin/cmless.py
+ </VirtualHost>
+
+ a2ensite cmless.subgeniuskitty.com
+ systemctl reload apache2
Clone the CMless git repository into the Apache vhost directory.
-```
-cd /mnt/data/apache_vhosts
-git clone https://github.com/subgeniuskitty/cmless.git cmless.subgeniuskitty.com
-chown -R www-data:www-data ./cmless.subgeniuskitty.com
-```
+ cd /mnt/data/apache_vhosts
+ git clone git://git.subgeniuskitty.com/cmless/.git cmless.subgeniuskitty.com
+ chown -R www-data:www-data ./cmless.subgeniuskitty.com
+
+Clone your content into the `site/` folder. If you wish to use a different
+folder, edit the configuration options in `bin/config.py` accordingly. If this
+is your first CMless site, see the `site_sample/` folder for an example site
+using Markdown.
+
+ cd /srv/apache_vhosts/cmless.subgeniuskitty.com
+ git clone git://git.subgeniuskitty.com/website_subgeniuskitty.com/.git site
+ chown -R www-data:www-data ./site
+
+Install an appropriate document processor for your content and set the
+`markup_processor` configuration option in `bin/config.py` accordingly. Your
+markup engine should accept text via `stdin` and output HTML on `stdout`.
-Clone your content into the site/ folder.
+ apt-get install discount
-```
-cd /mnt/data/apache_vhosts/cmless.subgeniuskitty.com
-git clone your_site_content_repo site
-```
+Edit `bin/config.py` and set all configuration options according to the steps
+taken during installation. Each option is commented inside the file.