# CodePress CMS A lightweight, file-based Content Management System built with PHP and Bootstrap. ## Overview 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. ## Features ### 🎯 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 ### 🔧 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 ## Quick Start 1. **Requirements**: PHP 8.4+ 2. **Installation**: ```bash git clone https://git.noorlander.info/E.Noorlander/CodePress.git cd CodePress ``` 3. **Start server**: ```bash php -S localhost:8000 -t public ``` 4. **Visit**: `http://localhost:8000` ## Project Structure ``` codepress/ ├── 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 ``` ## Security 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** ## Content Management ### 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