# CodePress CMS Een lichtgewicht, file-based content management systeem gebouwd met PHP. ## ✨ Features - πŸ“ **Multi-format Content** - Ondersteunt Markdown, PHP en HTML bestanden - 🧭 **Dynamic Navigation** - Automatische menu generatie met dropdowns - πŸ” **Search Functionality** - Volledige tekst zoek door alle content - 🧭 **Breadcrumb Navigation** - IntuΓ―tieve navigatiepaden - πŸ”— **Auto-linking** - Automatische links tussen pagina's - πŸ“± **Responsive Design** - Werkt perfect op alle apparaten - βš™οΈ **JSON Configuratie** - Eenvoudige configuratie via JSON - 🎨 **Bootstrap 5** - Moderne UI framework - πŸ”’ **Security** - Beveiligde content management ## πŸš€ Quick Start 1. **Upload** bestanden naar webserver 2. **Stel permissies** in voor webserver 3. **Configureer** (optioneel) via `config.json` 4. **Bezoek** website via browser ## πŸ“ Project Structuur ``` codepress/ β”œβ”€β”€ engine/ β”‚ β”œβ”€β”€ core/ β”‚ β”‚ β”œβ”€β”€ config.php # Configuratie loader β”‚ β”‚ └── index.php # CMS engine β”‚ └── templates/ # Template bestanden β”‚ β”œβ”€β”€ layout.mustache β”‚ β”œβ”€β”€ assets/ β”‚ β”‚ β”œβ”€β”€ header.mustache β”‚ β”‚ β”œβ”€β”€ navigation.mustache β”‚ β”‚ └── footer.mustache β”‚ β”œβ”€β”€ markdown_content.mustache β”‚ β”œβ”€β”€ php_content.mustache β”‚ └── html_content.mustache β”œβ”€β”€ content/ # Content bestanden β”‚ β”œβ”€β”€ map1/ β”‚ β”‚ β”œβ”€β”€ pagina1.md β”‚ β”‚ └── pagina2.php β”‚ └── homepage.md β”œβ”€β”€ public/ # Web root β”‚ β”œβ”€β”€ assets/ β”‚ β”‚ β”œβ”€β”€ css/ β”‚ β”‚ β”œβ”€β”€ js/ β”‚ β”‚ └── favicon.svg β”‚ └── index.php β”œβ”€β”€ config.json # Configuratie └── README.md ``` ## βš™οΈ Configuratie ### Basis Configuratie (`config.json`) ```json { "site_title": "CodePress", "content_dir": "content", "templates_dir": "engine/templates", "default_page": "auto", "homepage": "homepage", "author": { "name": "Edwin Noorlander", "website": "https://noorlander.info", "git": "https://git.noorlander.info/E.Noorlander/CodePress.git" }, "seo": { "description": "CodePress CMS - Lightweight file-based content management system", "keywords": "cms, php, content management, file-based" } } ``` ### Configuratie Opties - **`site_title`** - Naam van de website - **`content_dir`** - Map met content bestanden - **`templates_dir`** - Map met template bestanden - **`default_page`** - Standaard pagina (`"auto"` voor automatische detectie) - **`homepage`** - Homepage (`"auto"` voor automatische detectie) - **`author`** - Auteur informatie met links - **`seo`** - SEO instellingen ## πŸ“ Content Types ### Markdown (.md) - Auto-linking tussen pagina's - GitHub Flavored Markdown ondersteuning - Syntax highlighting voor code blocks - Automatische titel extractie ### PHP (.php) - Volledige PHP ondersteuning - Dynamische content generatie - Database integratie mogelijk - Session management beschikbaar ### HTML (.html) - Statische HTML pagina's - Bootstrap componenten - Custom CSS en JavaScript - Volledige HTML5 validatie ## 🎨 Design Features ### Navigation - **Tab-style navigatie** met Bootstrap - **Dropdown menus** voor mappen en sub-mappen - **Home knop** met icoon - **Active state** indicatie - **Responsive** hamburger menu ### Layout - **Flexbox layout** voor moderne structuur - **Fixed header** met logo en zoekfunctie - **Breadcrumb navigatie** tussen header en content - **Fixed footer** met metadata - **Scrollable content** gebied ### Responsive - **Mobile-first** aanpak - **Touch-friendly** interactie - **Adaptieve** breedtes - **Consistente** ervaring ## πŸ”§ Vereisten - **PHP 8.4+** of hoger - **Webserver** (Apache, Nginx, etc.) - **Schrijfrechten** voor PHP bestanden - **Mod_rewrite** (optioneel voor pretty URLs) ## πŸ› οΈ Installatie ### Via Composer ```bash composer create-project codepress cd codepress ``` ### Handmatig 1. **Download** de bestanden 2. **Upload** naar webserver 3. **Stel permissies** in 4. **Configureer** `config.json` ### Webserver Configuratie #### Apache ```apache AllowOverride All Require all granted RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php [QSA,L] ``` #### Nginx ```nginx server { root /var/www/codepress/public; index index.php; location / { try_files $uri $uri/ /index.php?$query_string; } } ``` ## πŸ“– Documentatie - **[Handleiding (NL)](guide/nl.md)** - Gedetaillede handleiding - **[Handleiding (EN)](guide/en.md)** - English documentation - **[AGENTS.md](AGENTS.md)** - Ontwikkelaar instructies ## 🀝 Bijdragen Bijdragen zijn welkom! Zie [AGENTS.md](AGENTS.md) voor ontwikkelrichtlijnen. ## πŸ“„ Licentie Open-source licentie. Zie de repository voor meer informatie. ## πŸ”— Links - **Website**: https://noorlander.info - **Repository**: https://git.noorlander.info/E.Noorlander/CodePress.git - **Issues**: https://git.noorlander.info/E.Noorlander/CodePress/issues --- *Gebouwd met ❀️ door Edwin Noorlander*