| 1 | CMless - Because words should be weighed, not counted. |
| 2 | ====================================================== |
| 3 | |
| 4 | Description |
| 5 | ----------- |
| 6 | |
| 7 | CMless is a file based CMS intended for easy integration with version controlled, |
| 8 | format agnostic content. |
| 9 | |
| 10 | Status |
| 11 | ------ |
| 12 | |
| 13 | CMless is not yet functional. The stages required to reach basic functionality are: |
| 14 | |
| 15 | 1. ~~Figure out deployment scheme~~ |
| 16 | 2. Interpret URL and locate/serve appropriate page |
| 17 | 3. Feed pages through a document processor |
| 18 | 4. Feed pages through a template engine |
| 19 | 5. Generate menu based on directory structure |
| 20 | |
| 21 | Installation Example - Debian Linux |
| 22 | ----------------------------------- |
| 23 | |
| 24 | Enable CGI scripts: |
| 25 | |
| 26 | ``` |
| 27 | a2enmod cgi |
| 28 | ``` |
| 29 | |
| 30 | Create and enable an Apache vhost. |
| 31 | |
| 32 | ``` |
| 33 | vi /etc/apache2/sites-available/cmless.subgeniuskitty.com |
| 34 | ``` |
| 35 | |
| 36 | ``` |
| 37 | <VirtualHost *:80> |
| 38 | DocumentRoot "/mnt/data/apache_vhosts/cmless.subgeniuskitty.com" |
| 39 | ServerName cmless.subgeniuskitty.com |
| 40 | ServerAdmin webmaster@subgeniuskitty.com |
| 41 | ErrorLog /var/log/apache2/error_log.cmless.subgeniuskitty.com |
| 42 | CustomLog /var/log/apache2/access_log.cmless.subgeniuskitty.com combined |
| 43 | AddHandler cgi-script .py |
| 44 | <Directory "/mnt/data/apache_vhosts/cmless.subgeniuskitty.com"> |
| 45 | Options -ExecCGI -Indexes |
| 46 | AllowOverride None |
| 47 | Order allow,deny |
| 48 | Allow from all |
| 49 | </Directory> |
| 50 | <Directory "/mnt/data/apache_vhosts/cmless.subgeniuskitty.com/bin"> |
| 51 | Options ExecCGI |
| 52 | AllowOverride None |
| 53 | Order allow,deny |
| 54 | Allow from all |
| 55 | </Directory> |
| 56 | RewriteEngine On |
| 57 | RewriteRule (.*) /mnt/data/apache_vhosts/cmless.subgeniuskitty.com/site/$1 |
| 58 | RewriteRule .* /mnt/data/apache_vhosts/cmless.subgeniuskitty.com/bin/cmless.py |
| 59 | </VirtualHost> |
| 60 | ``` |
| 61 | |
| 62 | ``` |
| 63 | a2ensite cmless.subgeniuskitty.com |
| 64 | service apache2 reload |
| 65 | ``` |
| 66 | |
| 67 | Clone the CMless git repository into the Apache vhost directory. |
| 68 | |
| 69 | ``` |
| 70 | cd /mnt/data/apache_vhosts |
| 71 | git clone https://github.com/subgeniuskitty/cmless.git cmless.subgeniuskitty.com |
| 72 | chown -R www-data:www-data ./cmless.subgeniuskitty.com |
| 73 | ``` |
| 74 | |
| 75 | Clone your content into the site/ folder. If you with to use a different |
| 76 | folder, edit the configuration options in bin/config.py accordingly. If this is |
| 77 | your first CMless site, see the site_sample/ folder for an example site using |
| 78 | Markdown. |
| 79 | |
| 80 | ``` |
| 81 | cd /mnt/data/apache_vhosts/cmless.subgeniuskitty.com |
| 82 | git clone your_site_content_repo site |
| 83 | chown -R www-data:www-data ./site |
| 84 | ``` |
| 85 | |
| 86 | Install an appropriate document processor for your content and set the |
| 87 | markup_processor configuration option in bin/config.py accordingly. Your markup |
| 88 | engine should accept text via stdin and output HTML on stdout. |
| 89 | |
| 90 | ``` |
| 91 | apt-get install discount |
| 92 | ``` |
| 93 | |
| 94 | Edit bin/config.py and set all configuration options according to the steps |
| 95 | taken during installation. Each option is commented inside the file. |