mostly filebased Content Presentation System
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Dominik Schmidt-Philipp 1d187e3da6 language navigation menu caused error when there is only one language 1 dag geleden
app language navigation menu caused error when there is only one language 1 dag geleden
doc update to latest version, developed outside git 3 jaren geleden
rsc remove favicons from gitindex 2 jaren geleden
.gitignore make it possible to reference own templates in main.cfg 3 jaren geleden
.gitmodules properly added featherlight and detect swipe as submodules 3 jaren geleden
.htaccess copy from a local branch (initial commit) 5 jaren geleden
.rsyncignore more sync ignores 3 jaren geleden
README.md more explanation in README.md 2 jaren geleden
composer.json fix: parsedown-extra dependency, typo in email.php width attribute in CEimage 3 jaren geleden
deploy.sample update deploy script 3 jaren geleden
emptycache.php add emptychache.php 4 jaren geleden
index.php fix deprecated access to GET variable 1 dag geleden
main.cfg.sample make it possible to reference own templates in main.cfg 3 jaren geleden
routes.cfg add a simple webshop solution 3 jaren geleden

README.md

freaCMS

mostly filebased Content Presentation System

this software evolves as it is being used. There might go some time before new features are added or bugs are fixed. If you find a bug or trouble getting things working, don’t hestitate to get in contact or file a bug report (Issues tab).

installation

these instructions are tested on GNU/Linux operating system, but should be general enough to work on any UNIX-like computer on a bash terminal. Linux and Mac users should be fine, I have never tried out a installation workflow on Windows. It most certainly works. If you try, let me know how it goes.

download

get the source code

git clone https://git.freakaria.com/dom/freaCMS.git
cd freaCMS

If you don’t have git installed, just download the archive as zip archive, unzip and chang into directory. Or simply get git, than you have version control :)

install dependencies

composer install

composer is a packagemanager for PHP. freaCMS uses the microframework FatFreeFramework for some basic app-logic and parsedown-extra as Markdown parser.

install example content

tar zxf rsc/example_content.tar.gz

have a look inside the newly created content folder to see how content is stored.

configure

create and edit main.cfg and deploy:

for i in {deploy,main.cfg}; do cp $i.sample $i; done;

main.cgf:

SITE_URL = public URL where website is reachable (used in links, etc...)
title = give your site a title

deploy:

USER = ssh user on server
SERVER = server address for ssh login
LIVE_DIR = relative path (from ssh login) to live site
DEV_DIR = relative path to development site (so you can try out without breaking stuff)

the deploy script automates synchronisation between your local copy and a directory on the server using rsync. You need to have ssh installed for this to work. It is very basic and might be adapted to your particular needs if you know what you are doing.

If SSH is foreign to you, just ignore it and use your preferred way to transfer files to a server, like e.g. FTP.

test

if you have PHP installed locally, you can test whether all i working as it should by launching the builtin webserver:

php -S localhost:12345

point browser to localhost:12345

upload

using the deploy shell script

./deploy dev go
./deploy dev content up go

Template variables

LANG default_lang RESOURCES hideFromSearchEngines title bodyClass