CMS 2.0 - Theme engine, logging, admin improvements

Major changes:
- New ThemeManager with Twig templating and SCSS compilation
- Dynamic themes system (themes/default, themes/demo)
- LogManager with SQLite storage and syslog forwarding
- RequestLogger with static helper methods
- Admin UI overhaul (Bootstrap 5, dark mode)
- Admin config page with logging and theme settings
- Admin logs page with filters and search
- Removed legacy Mustache templates
- Removed test plugin and theme
- Composer dependencies: Twig, scssphp, CommonMark, MaxMind GeoIP
This commit is contained in:
2026-08-08 18:02:14 +02:00
parent cc0e4c19c8
commit a1e5baacac
833 changed files with 108974 additions and 1386 deletions
+14 -8
View File
@@ -49,13 +49,20 @@ codepress/
│ │ ├── config.php # Configuration loader
│ │ └── index.php # Bootstrap (autoloader)
│ ├── lang/ # Language files (nl.php, en.php)
── templates/ # Mustache templates
│ │ ├── layout.mustache
│ ├── assets/ (header, navigation, footer)
│ │ ├── markdown_content.mustache
│ │ ├── php_content.mustache
│ │ ── html_content.mustache
└── router.php # PHP dev server router
── router.php # PHP dev server router (also serves /themes/)
├── themes/ # Dynamic themes (fully self-contained)
│ ├── default/ # Default theme
│ │ ├── theme.json # { title, default_layout, layout→.twig mapping, colors }
│ │ ├── base.twig # Main layout
│ │ ── full_content.twig # Layout: full width
│ ├── left_sidebar.twig # Layout: sidebar left
│ │ ├── right_sidebar.twig # Layout: sidebar right
│ │ ├── custom1.twig # Layout: custom
│ │ ├── partials/ # header, navigation, footer
│ │ ├── css/theme.scss # SCSS source (compiled at runtime)
│ │ └── js/theme.js # Theme JavaScript
│ ├── demo/ # Demo theme
│ └── test/ # Test theme
├── admin/ # Admin panel
│ ├── config/
│ │ ├── app.php # Admin configuration
@@ -96,7 +103,6 @@ codepress/
{
"site_title": "CodePress",
"content_dir": "content",
"templates_dir": "cms/templates",
"default_page": "index",
"active_theme": "default",
"language": {