X-Git-Url: http://git.subgeniuskitty.com/cmless/.git/blobdiff_plain/a58599bae29dd31138843285dcbe638bb911b0d3..HEAD:/README.md diff --git a/README.md b/README.md index 0a9853a..a127fab 100644 --- a/README.md +++ b/README.md @@ -1,80 +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 # -CMless is not yet functional. The stages required to reach basic functionality are: +Functions as minimal CMS. Runs . -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 -``` - -``` - - 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 - - Options -ExecCGI -Indexes - AllowOverride None - Order allow,deny - Allow from all - - - Options ExecCGI - AllowOverride None - Order allow,deny - Allow from all - - RewriteEngine On - RewriteRule (.*) /mnt/data/apache_vhosts/cmless.subgeniuskitty.com/site/$1 - RewriteRule .* /mnt/data/apache_vhosts/cmless.subgeniuskitty.com/bin/cmless.py - -``` - -``` -a2ensite cmless.subgeniuskitty.com -service apache2 reload -``` + 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 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.