mostly filebased Content Presentation System
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
dom aab52bdd71 more explanation in README.md 2 年前
app design of shop and publication elements 2 年前
doc update to latest version, developed outside git 3 年前
rsc remove favicons from gitindex 2 年前
.gitignore make it possible to reference own templates in main.cfg 3 年前
.gitmodules properly added featherlight and detect swipe as submodules 3 年前
.htaccess copy from a local branch (initial commit) 5 年前
.rsyncignore more sync ignores 3 年前
README.md more explanation in README.md 2 年前
composer.json fix: parsedown-extra dependency, typo in email.php width attribute in CEimage 3 年前
deploy.sample update deploy script 3 年前
emptycache.php add emptychache.php 4 年前
index.php work on admin area 2 年前
main.cfg.sample make it possible to reference own templates in main.cfg 3 年前
routes.cfg add a simple webshop solution 3 年前

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