New features: - ContentBackup class with ZIP backup/restore and git versioning - Admin backup & restore page (content-backup.twig) with git init/commit/log/restore - Plugin type system: system (blue) vs content (green) with visual badges - PluginAPIInterface + AdminPluginAPI for plugin architecture - Essential plugin flag (cannot edit/deactivate/delete) Improvements: - Consolidated enabled_plugins config (removed plugins.enabled) - Removed Analytics/Logging toggles from admin config page - Fixed Dashboard plugin Twig comments rendered as text - Updated 20 guide files (NL+EN): configuratie, plugins, plugin-development, core-classes, theme-json, layouts, scss-styling, admin-beheerder, nieuw-thema, architectuur - Improved accessibility test script (grep -E, min/max checks) Cleanup: - Removed unused classes: ARIAComponents, AccessibilityManager, ContentSecurityPolicy, etc. - Removed vendor packages: mustache/mustache, php-mqtt/client - Removed old templates: logs.twig, statistics.twig (now plugins) - Moved language files to language/ directory Tests: - Pentest: 30/30 passed, 0 vulnerabilities - WCAG 2.1 AA: 25/25 passed, 100% compliance
80 lines
2.0 KiB
JSON
80 lines
2.0 KiB
JSON
{
|
|
"site_title": "CodePress",
|
|
"content_dir": "content",
|
|
"active_theme": "default",
|
|
"default_page": "auto",
|
|
"language": {
|
|
"default": "nl",
|
|
"available": [
|
|
"nl",
|
|
"en"
|
|
]
|
|
},
|
|
"seo": {
|
|
"description": "CodePress CMS - Lightweight file-based content management system",
|
|
"keywords": "cms, php, content management, file-based"
|
|
},
|
|
"author": {
|
|
"name": "E. Noorlander",
|
|
"website": "noorlander.info",
|
|
"git": "https://git.noorlander.info/E.Noorlander"
|
|
},
|
|
"show_version": true,
|
|
"enabled_plugins": [
|
|
"Dashboard",
|
|
"HTMLBlock",
|
|
"Navigation",
|
|
"Statistics",
|
|
"Logs"
|
|
],
|
|
"features": {
|
|
"auto_link_pages": true,
|
|
"search_enabled": true,
|
|
"breadcrumbs_enabled": true
|
|
},
|
|
"security": {
|
|
"block_ai_bots": true,
|
|
"block_scrapers": true,
|
|
"block_search_engines": false,
|
|
"block_empty_user_agent": true,
|
|
"rate_limit_enabled": true,
|
|
"rate_limit_max": 60,
|
|
"rate_limit_window": 60,
|
|
"custom_blocked_agents": [],
|
|
"blocked_ips": [],
|
|
"allowed_ips": []
|
|
},
|
|
"analytics": {
|
|
"enabled": true,
|
|
"anonymize_ip": false,
|
|
"geoip_provider": "local",
|
|
"geoip_mmdb_path": "",
|
|
"geoip_api_url": "",
|
|
"geoip_api_key": "",
|
|
"retention_days": 400,
|
|
"excluded_ips": [
|
|
"192.168.0.0/16",
|
|
"10.0.0.0/8",
|
|
"172.16.0.0/12",
|
|
"127.0.0.1",
|
|
"::1"
|
|
]
|
|
},
|
|
"logging": {
|
|
"enabled": true,
|
|
"driver": "sqlite",
|
|
"syslog_host": "",
|
|
"syslog_port": 514,
|
|
"syslog_facility": "local0",
|
|
"syslog_ident": "codepress",
|
|
"events": {
|
|
"admin": true,
|
|
"requests": true,
|
|
"errors": true,
|
|
"security": true,
|
|
"content": true,
|
|
"system": true
|
|
}
|
|
}
|
|
}
|