- 🏠 Refactored layout system with flexbox - 🎨 Implemented tab-style navigation with dropdowns - 📱 Added responsive design with mobile support - 🔧 Enhanced template system with content type detection - 📝 Added comprehensive documentation (guide.md, README.md) - ⚙️ Improved security with proper file access control - 🎨 Added meta tags for SEO and author attribution - 📁 Fixed breadcrumb navigation and duplicate links - 🗂️ Removed unused files and cleaned up project structure - ⚙️ Added JSON configuration system with homepage detection - 📱 Enhanced search functionality with snippet display - 🔗 Implemented auto-linking between pages - 📊 Added file metadata display in footer Features: - Multi-format content support (Markdown, PHP, HTML) - Dynamic navigation with collapsible folders - Full-text search across all content - Responsive Bootstrap 5 design - JSON-based configuration - SEO-optimized meta tags - Security-focused file management - Mobile-first responsive design - Auto-linking between pages - File metadata tracking - Breadcrumb navigation - Custom CSS styling - Progressive enhancement Technical improvements: - Replaced fixed positioning with flexbox layout - Implemented proper template inheritance - Added content type detection - Enhanced security with .htaccess - Optimized for performance - Added proper error handling - Implemented caching mechanisms - Enhanced accessibility features
203 lines
5.3 KiB
Markdown
203 lines
5.3 KiB
Markdown
# 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
|
|
<Directory "/var/www/codepress">
|
|
AllowOverride All
|
|
Require all granted
|
|
</Directory>
|
|
|
|
<IfModule mod_rewrite.c>
|
|
RewriteEngine On
|
|
RewriteCond %{REQUEST_FILENAME} !-f
|
|
RewriteCond %{REQUEST_FILENAME} !-d
|
|
RewriteRule ^(.*)$ index.php [QSA,L]
|
|
</IfModule>
|
|
```
|
|
|
|
#### 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* |