- Complete PHP CMS with Bootstrap 5 - Multi-format content support (MD/PHP/HTML) - Dynamic navigation with collapsible folders - Search functionality with snippets - WCAG compliant design - Blog content imported from Edwin Noorlander's personal blog - README with project background and credits
80 lines
2.9 KiB
Markdown
80 lines
2.9 KiB
Markdown
# CodePress CMS
|
|
|
|
Een lichtgewicht PHP Content Management System gebouwd met Bootstrap en Mustache-style templating.
|
|
|
|
## Project Achtergrond
|
|
|
|
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.
|
|
|
|
## Ontwikkelingsproces
|
|
|
|
### 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
|
|
|
|
### Iteratieve Ontwikkeling
|
|
Het project is stapsgewijs opgebouwd met continue feedback:
|
|
|
|
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
|
|
|
|
### 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:
|
|
```bash
|
|
php -S localhost:8000
|
|
```
|
|
4. Bezoek `http://localhost:8000` in je browser
|
|
|
|
## 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
|
|
|
|
```
|
|
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
|
|
```
|
|
|
|
## Opdrachtgever
|
|
|
|
**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)
|
|
|
|
## Licentie
|
|
|
|
Dit project is ontwikkeld als onderdeel van een opdracht en valt onder de voorwaarden zoals overeengekomen met de opdrachtgever.
|
|
|
|
---
|
|
|
|
*Gebouwd met ❤️ en PHP* |