Edwin Noorlander dfe2df141b Complete CodePress CMS refactoring
- 🏠 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
2025-11-21 16:58:37 +01:00
2025-11-21 16:58:37 +01:00
2025-11-21 16:58:37 +01:00
2025-11-21 16:58:37 +01:00
2025-11-21 16:58:37 +01:00
2025-11-21 16:58:37 +01:00
2025-11-21 16:58:37 +01:00

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)

{
    "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

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

<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

server {
    root /var/www/codepress/public;
    index index.php;
    
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
}

📖 Documentatie

🤝 Bijdragen

Bijdragen zijn welkom! Zie AGENTS.md voor ontwikkelrichtlijnen.

📄 Licentie

Open-source licentie. Zie de repository voor meer informatie.


Gebouwd met ❤️ door Edwin Noorlander

Description
No description provided
Readme 2.8 MiB
Languages
PHP 60.2%
JavaScript 16.6%
Shell 12.3%
Mustache 8.1%
SCSS 2.4%
Other 0.4%