Updated README.
[cmless] / README.md
index 088090a..a127fab 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,19 +1,87 @@
-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. 
 
 
 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 #
+
+Functions as minimal CMS. Runs <http://subgeniuskitty.com>.
+
+Tested on Debian Linux and FreeBSD.
+
+
+# Instructions #
+
+## Installation - Debian Linux ##
+
+Enable CGI scripts:
+
+    a2enmod cgid
+
+Create and enable an Apache vhost.
+
+    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 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`.
 
 
-CMless is not yet functional. The stages required to reach basic functionality are:
+    apt-get install discount
 
 
-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
+Edit `bin/config.py` and set all configuration options according to the steps
+taken during installation. Each option is commented inside the file.