diff --git a/README.md b/README.md index ae85ccb..1e69b4c 100644 --- a/README.md +++ b/README.md @@ -1,80 +1,157 @@ # CodePress CMS -Een lichtgewicht PHP Content Management System gebouwd met Bootstrap en Mustache-style templating. +A lightweight, file-based Content Management System built with PHP and Bootstrap. -## Project Achtergrond +## Overview -Dit project is ontwikkeld in opdracht van **Edwin Noorlander** als een demonstratie van een modern, file-based CMS. De opdracht was om een eenvoudig maar krachtig systeem te creΓ«ren dat content beheert via bestanden in plaats van een database. +CodePress is a modern, secure CMS that manages content through files instead of a database. It's designed for simplicity, flexibility, and ease of use while maintaining powerful features for content management. -## Ontwikkelingsproces +## Features -### Technische Keuzes -- **PHP 8.4+** voor server-side logica -- **Bootstrap 5** voor responsive design -- **File-based content storage** voor eenvoudig beheer -- **Markdown en PHP support** voor flexibele content -- **SVG iconen** voor scherpe graphics +### π― Core Features +- **File-based content** - No database required +- **Multi-format support** - Markdown, PHP, HTML files +- **Dynamic navigation** - Auto-generated from directory structure +- **Search functionality** - Full-text search with snippets +- **Breadcrumb navigation** - Clear page hierarchy +- **Responsive design** - Works on all devices -### Iteratieve Ontwikkeling -Het project is stapsgewijs opgebouwd met continue feedback: +### π§ Advanced Features +- **Collapsible folders** - Accordion-style navigation +- **WCAG compliant** - Accessible design with proper contrast +- **File metadata** - Creation and modification dates in footer +- **Progressive styling** - Visual hierarchy with nested levels +- **Security** - Protected PHP files and sensitive directories -1. **Basis structuur** - Configuratie en templating systeem -2. **Content parsing** - Markdown, PHP en HTML ondersteuning -3. **Navigatie** - Dynamische menu generatie met hiΓ«rarchie -4. **Zoekfunctionaliteit** - Volledige tekst doorzoeking van content -5. **UI/UX verbeteringen** - Progressieve achtergrondkleuren, collapsible mappen -6. **Toegankelijkheid** - WCAG compliant contrast en navigatie -7. **Footer met metadata** - Bestandsinformatie en aanmaak/bewerkingsdatums +## Quick Start -### Kernfeatures -- β **Multi-format content**: Markdown, PHP, HTML bestanden -- β **Dynamische navigatie**: Automatische menu generatie uit directory structuur -- β **Zoekfunctie**: Volledige tekst doorzoeking met snippets -- β **Kruimelpad**: Navigatie pad indicatie -- β **Collapsible mappen**: Accordion-style navigatie -- β **WCAG compliant**: Goede contrast ratio's en toegankelijkheid -- β **Responsive design**: Werkt op alle schermformaten -- β **File metadata**: Aanmaak- en bewerkingsdatums in footer - -## Installatie - -1. Zorg dat PHP 8.4+ geΓ―nstalleerd is -2. Clone dit repository -3. Start de development server: +1. **Requirements**: PHP 8.4+ +2. **Installation**: ```bash - php -S localhost:8000 + git clone https://git.noorlander.info/E.Noorlander/CodePress.git + cd CodePress ``` -4. Bezoek `http://localhost:8000` in je browser +3. **Start server**: + ```bash + php -S localhost:8000 -t public + ``` +4. **Visit**: `http://localhost:8000` -## Content Beheer - -- Plaats content bestanden in de `content/` map -- Gebruik `.md`, `.php` of `.html` extensies -- De menu structuur volgt automatisch de directory hiΓ«rarchie -- Submappen worden genest in de navigatie weergegeven - -## Project Structuur +## Project Structure ``` codepress/ -βββ assets/ # Iconen en static files -βββ content/ # Content bestanden (MD/PHP/HTML) -βββ templates/ # HTML templates -βββ config.php # Site configuratie -βββ index.php # Hoofd applicatie logica -βββ README.md # Deze documentatie +βββ public/ # Web-accessible directory +β βββ content/ # Content files (MD/PHP/HTML) +β βββ assets/ # Static assets (images, icons) +β βββ .htaccess # Security and routing +βββ templates/ # HTML templates +βββ config.php # Site configuration +βββ index.php # Main application logic +βββ .htaccess # Root security +βββ README.md # This documentation ``` -## Opdrachtgever +## Security -**Edwin Noorlander** -- Persoonlijke blog: [https://noorlander.info](https://noorlander.info) -- Git repository: [https://git.noorlander.info/E.Noorlander/CodePress.git](https://git.noorlander.info/E.Noorlander/CodePress.git) +CodePress includes built-in security features: +- **.htaccess protection** for sensitive files +- **PHP file blocking** in content directory +- **Security headers** for XSS protection +- **Directory access control** +- **Public directory isolation** -## Licentie +## Content Management -Dit project is ontwikkeld als onderdeel van een opdracht en valt onder de voorwaarden zoals overeengekomen met de opdrachtgever. +### Supported File Types + +#### Markdown (.md) +```markdown +# Page Title + +Content with **bold** and *italic* text. + +[Link to page](?page=other/page) +``` + +#### PHP (.php) +```php + + +
+Date:
+``` + +#### HTML (.html) +```html +