mostly filebased Content Presentation System

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. # freaCMS
  2. mostly filebased Content Presentation System
  3. 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).
  4. ## installation
  5. 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.
  6. ### download
  7. get the source code
  8. git clone https://git.freakaria.com/dom/freaCMS.git
  9. cd freaCMS
  10. 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 :)
  11. install dependencies
  12. composer install
  13. composer is a packagemanager for PHP. freaCMS uses the microframework FatFreeFramework for some basic app-logic and parsedown-extra as Markdown parser.
  14. install example content
  15. tar zxf rsc/example_content.tar.gz
  16. have a look inside the newly created content folder to see how content is stored.
  17. ### configure
  18. create and edit main.cfg and deploy:
  19. for i in {deploy,main.cfg}; do cp $i.sample $i; done;
  20. main.cgf:
  21. SITE_URL = public URL where website is reachable (used in links, etc...)
  22. title = give your site a title
  23. deploy:
  24. USER = ssh user on server
  25. SERVER = server address for ssh login
  26. LIVE_DIR = relative path (from ssh login) to live site
  27. DEV_DIR = relative path to development site (so you can try out without breaking stuff)
  28. 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.
  29. If SSH is foreign to you, just ignore it and use your preferred way to transfer files to a server, like e.g. FTP.
  30. ### test
  31. if you have PHP installed locally, you can test whether all i working as it should by launching the builtin webserver:
  32. php -S localhost:12345
  33. point browser to localhost:12345
  34. ### upload
  35. using the deploy shell script
  36. ./deploy dev go
  37. ./deploy dev content up go
  38. ## Template variables
  39. LANG
  40. default_lang
  41. RESOURCES
  42. hideFromSearchEngines
  43. title
  44. bodyClass