-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 #
+
+Functions as minimal CMS. Runs <http://subgeniuskitty.com>.
+
+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~~
-6. Write documentation, including a sample site.
+# 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
<VirtualHost *:80>
- DocumentRoot "/mnt/data/apache_vhosts/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
- <Directory "/mnt/data/apache_vhosts/cmless.subgeniuskitty.com">
+ <Directory "/srv/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">
+ <Directory "/srv/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 (.*) /srv/apache_vhosts/cmless.subgeniuskitty.com/site/$1
RewriteCond %{REQUEST_FILENAME} !-f
- RewriteRule .* /mnt/data/apache_vhosts/cmless.subgeniuskitty.com/bin/cmless.py
+ RewriteRule .* /srv/apache_vhosts/cmless.subgeniuskitty.com/bin/cmless.py
</VirtualHost>
a2ensite cmless.subgeniuskitty.com
- service apache2 reload
+ 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
+ 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
+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
+ 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