gd, json, openssl, mbstring, fileinfomod_rewrite (of PHP built-in server voor lokaal testen)data/ en images/git clone https://github.com/easeo-nl/easeo-cms.git
cd easeo-cms
php -S localhost:8000 router.php
Bezoek http://localhost:8000 — de setup wizard begeleidt je door de configuratie.
install.php maakt de data bestanden aanAlle data wordt opgeslagen als JSON-bestanden in data/. Geen database, geen migraties, geen ORM.
| Bestand | Doel |
|---|---|
site.json |
Bedrijfsinfo, kleuren, fonts, socials, tracking |
content.json |
Pagina-content per slug |
navigation.json |
Hoofd- en footer-menu items |
users.json |
Gebruikersaccounts |
posts.json |
Blogposts |
media.json |
Media bibliotheek index |
forms.json |
Formulierdefinities |
pages.json |
Dynamische pagina’s |
redirects.json |
URL redirects |
includes/content.php — Data layer: load_json(), save_json(), site(), e()includes/lang.php — i18n: t() vertaalfunctieincludes/header.php — HTML head, navigatie, structured dataincludes/footer.php — Footer, cookie consentincludes/blog-engine.php — Blog CRUD, paginering, post cardsincludes/form-engine.php — Formulier rendering, CSRFincludes/media-engine.php — Upload, resize, thumbnails, SVG sanitizationincludes/mailer.php — SMTP via PHPMailer of mail() fallbackEASEO CMS heeft ingebouwde meertalige ondersteuning. Taalbestanden staan in lang/:
lang/
en.json ← standaard (Engels)
nl.json ← Nederlands
Gebruik t('key') overal in PHP voor een vertaalde string:
<?= t('button_save') ?> // "Save" of "Opslaan"
<?= t('error_field_required', ['field' => 'Email']) ?> // met parameters
lang/en.json naar lang/xx.json (je taalcode)language in data/site.json op je taalcodeEASEO CMS is ontworpen voor volledige controle over je data:
Je JSON data bestanden zijn plain text. Je kunt ze lezen, exporteren, back-uppen en migreren met standaard tools. Geen proprietary formaat, geen vendor lock-in.
Pull requests zijn welkom. Fork het repository, maak je wijzigingen, en open een PR.
snake_casesnake_casekebab-caselang/*.jsonMIT License — zie LICENSE.txt