X-Git-Url: http://git.subgeniuskitty.com/cmless/.git/blobdiff_plain/2670bdf4e811a26552094069b1ae2ff2bccd589b..HEAD:/README.md diff --git a/README.md b/README.md index 088090a..a127fab 100644 --- 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. -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 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 . + +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 + + + 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 + + Options -ExecCGI -Indexes + AllowOverride None + Order allow,deny + Allow from all + + + Options ExecCGI + AllowOverride None + Order allow,deny + Allow from all + + 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 + + + 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.