X-Git-Url: http://git.subgeniuskitty.com/cmless/.git/blobdiff_plain/5dc44f45ae19f0fd1b2b274b23f1d38fffd62a7f..9fd57be41130c728de792cabe440465c8971a7e7:/README.md diff --git a/README.md b/README.md index 97ceff0..a127fab 100644 --- a/README.md +++ b/README.md @@ -1,95 +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. -CMless is not yet functional. The stages required to reach basic functionality are: -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 +# Instructions # -Installation Example - Debian Linux ------------------------------------ +## 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 with 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. +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 /mnt/data/apache_vhosts/cmless.subgeniuskitty.com -git clone your_site_content_repo site -chown -R www-data:www-data ./site -``` + 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. +`markup_processor` configuration option in `bin/config.py` accordingly. Your +markup engine should accept text via `stdin` and output HTML on `stdout`. -``` -apt-get install discount -``` + apt-get install discount -Edit bin/config.py and set all configuration options according to the steps +Edit `bin/config.py` and set all configuration options according to the steps taken during installation. Each option is commented inside the file.