10-04-2026
This commit is contained in:
parent
4d6b4930b2
commit
4bb89aad8c
836 changed files with 52961 additions and 5950 deletions
356
config/flux-cms.php
Normal file
356
config/flux-cms.php
Normal file
|
|
@ -0,0 +1,356 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Flux CMS Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This file contains the configuration options for Flux CMS.
|
||||
|
|
||||
*/
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Locale
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The default locale for the CMS content.
|
||||
|
|
||||
*/
|
||||
'default_locale' => env('FLUX_CMS_DEFAULT_LOCALE', 'de'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Available Locales
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The available locales for the CMS content.
|
||||
|
|
||||
*/
|
||||
'locales' => [
|
||||
'de' => 'Deutsch',
|
||||
'en' => 'English',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Component Paths
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The namespaces where the CMS will scan for components.
|
||||
|
|
||||
*/
|
||||
'component_paths' => [
|
||||
'App\\Livewire\\Components',
|
||||
'FluxCms\\StarterComponents\\Components',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cache Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configuration for caching component registry and other CMS data.
|
||||
|
|
||||
*/
|
||||
'cache' => [
|
||||
'enabled' => env('FLUX_CMS_CACHE_ENABLED', true),
|
||||
'ttl' => env('FLUX_CMS_CACHE_TTL', 3600), // 1 hour
|
||||
'key_prefix' => 'flux_cms',
|
||||
'store' => env('FLUX_CMS_CACHE_STORE', null), // null = default cache store
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Database Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Database table configuration for Flux CMS.
|
||||
|
|
||||
*/
|
||||
'database' => [
|
||||
'table_prefix' => 'flux_cms_',
|
||||
'connection' => env('FLUX_CMS_DB_CONNECTION', null), // null = default connection
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Authentication & Authorization
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configuration for user authentication and authorization.
|
||||
|
|
||||
*/
|
||||
'auth' => [
|
||||
'guard' => env('FLUX_CMS_AUTH_GUARD', 'web'),
|
||||
'default_access' => env('FLUX_CMS_DEFAULT_ACCESS', false),
|
||||
'super_admin_role' => 'admin',
|
||||
'cms_role' => 'flux-cms',
|
||||
'permissions' => [
|
||||
'view' => 'flux-cms.view',
|
||||
'edit' => 'flux-cms.edit',
|
||||
'publish' => 'flux-cms.publish',
|
||||
'delete' => 'flux-cms.delete',
|
||||
'admin' => 'flux-cms.admin',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Routes Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configuration for CMS routes.
|
||||
|
|
||||
*/
|
||||
'routes' => [
|
||||
'enabled' => env('FLUX_CMS_ROUTES_ENABLED', false),
|
||||
'prefix' => env('FLUX_CMS_ROUTE_PREFIX', ''),
|
||||
'middleware' => ['web'],
|
||||
'admin_prefix' => env('FLUX_CMS_ADMIN_PREFIX', 'admin/cms'),
|
||||
'admin_middleware' => ['web', 'auth'],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| SEO Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| SEO-related configuration options.
|
||||
|
|
||||
*/
|
||||
'seo' => [
|
||||
'site_name' => env('FLUX_CMS_SITE_NAME', config('app.name')),
|
||||
'separator' => env('FLUX_CMS_SEO_SEPARATOR', ' - '),
|
||||
'meta_keywords_limit' => 10,
|
||||
'meta_description_limit' => 160,
|
||||
'auto_sitemap' => true,
|
||||
'auto_robots' => true,
|
||||
'canonical_urls' => true,
|
||||
'og_image_default' => null,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Media Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configuration for media handling.
|
||||
|
|
||||
*/
|
||||
'media' => [
|
||||
'disk' => env('FLUX_CMS_MEDIA_DISK', 'public'),
|
||||
'max_file_size' => env('FLUX_CMS_MAX_FILE_SIZE', 10240), // 10MB in KB
|
||||
'originals_path' => 'cms/media/originals',
|
||||
'conversions_path' => 'cms/media/conversions',
|
||||
'allowed_extensions' => [
|
||||
'images' => ['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg'],
|
||||
'documents' => ['pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'txt', 'csv'],
|
||||
],
|
||||
'profiles' => [
|
||||
'thumb' => [
|
||||
'width' => 300,
|
||||
'height' => 300,
|
||||
'format' => 'webp',
|
||||
'quality' => 80,
|
||||
'fit' => 'cover',
|
||||
],
|
||||
'hero' => [
|
||||
'width' => 1920,
|
||||
'height' => 800,
|
||||
'format' => 'webp',
|
||||
'quality' => 85,
|
||||
'fit' => 'cover',
|
||||
],
|
||||
'card' => [
|
||||
'width' => 768,
|
||||
'height' => 512,
|
||||
'format' => 'webp',
|
||||
'quality' => 80,
|
||||
'fit' => 'cover',
|
||||
],
|
||||
'gallery' => [
|
||||
'width' => 1200,
|
||||
'height' => 900,
|
||||
'format' => 'webp',
|
||||
'quality' => 85,
|
||||
'fit' => 'cover',
|
||||
],
|
||||
'service' => [
|
||||
'width' => 800,
|
||||
'height' => 600,
|
||||
'format' => 'webp',
|
||||
'quality' => 85,
|
||||
'fit' => 'cover',
|
||||
],
|
||||
'avatar' => [
|
||||
'width' => 400,
|
||||
'height' => 400,
|
||||
'format' => 'webp',
|
||||
'quality' => 85,
|
||||
'fit' => 'cover',
|
||||
],
|
||||
'thumbnail' => [
|
||||
'width' => 600,
|
||||
'height' => 400,
|
||||
'format' => 'webp',
|
||||
'quality' => 80,
|
||||
'fit' => 'cover',
|
||||
],
|
||||
'og_image' => [
|
||||
'width' => 1200,
|
||||
'height' => 630,
|
||||
'format' => 'jpg',
|
||||
'quality' => 90,
|
||||
'fit' => 'cover',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Editor Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configuration for WYSIWYG editors.
|
||||
|
|
||||
*/
|
||||
'editor' => [
|
||||
'default' => env('FLUX_CMS_EDITOR', 'tiptap'), // tiptap, tinymce, quill
|
||||
'upload_images' => true,
|
||||
'max_image_size' => 2048, // 2MB in KB
|
||||
'toolbar_presets' => [
|
||||
'basic' => ['bold', 'italic'],
|
||||
'standard' => ['bold', 'italic', 'link', 'bulletList', 'orderedList'],
|
||||
'full' => [
|
||||
'bold',
|
||||
'italic',
|
||||
'underline',
|
||||
'strike',
|
||||
'heading1',
|
||||
'heading2',
|
||||
'heading3',
|
||||
'bulletList',
|
||||
'orderedList',
|
||||
'link',
|
||||
'image',
|
||||
'table',
|
||||
'code',
|
||||
'codeBlock',
|
||||
'quote',
|
||||
'rule',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Versioning Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configuration for content versioning.
|
||||
|
|
||||
*/
|
||||
'versioning' => [
|
||||
'enabled' => env('FLUX_CMS_VERSIONING_ENABLED', true),
|
||||
'auto_version' => env('FLUX_CMS_AUTO_VERSION', true),
|
||||
'max_versions' => env('FLUX_CMS_MAX_VERSIONS', 50),
|
||||
'cleanup_old_versions' => env('FLUX_CMS_CLEANUP_VERSIONS', true),
|
||||
'cleanup_after_days' => env('FLUX_CMS_CLEANUP_AFTER_DAYS', 365),
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Performance Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Performance-related configuration options.
|
||||
|
|
||||
*/
|
||||
'performance' => [
|
||||
'eager_load_relations' => ['components', 'media'],
|
||||
'pagination_size' => 20,
|
||||
'component_registry_cache' => true,
|
||||
'query_cache_ttl' => 300, // 5 minutes
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Development Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configuration options for development mode.
|
||||
|
|
||||
*/
|
||||
'development' => [
|
||||
'debug_mode' => env('FLUX_CMS_DEBUG', false),
|
||||
'show_component_info' => env('FLUX_CMS_SHOW_COMPONENT_INFO', false),
|
||||
'log_queries' => env('FLUX_CMS_LOG_QUERIES', false),
|
||||
'hot_reload_components' => env('FLUX_CMS_HOT_RELOAD', false),
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Frontend Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configuration for frontend rendering.
|
||||
|
|
||||
*/
|
||||
'frontend' => [
|
||||
'layout' => env('FLUX_CMS_LAYOUT', 'layouts.app'),
|
||||
'theme' => env('FLUX_CMS_THEME', 'default'),
|
||||
'css_framework' => env('FLUX_CMS_CSS_FRAMEWORK', 'tailwind'), // tailwind, bootstrap
|
||||
'component_wrapper' => env('FLUX_CMS_COMPONENT_WRAPPER', true),
|
||||
'preview_mode' => env('FLUX_CMS_PREVIEW_MODE', true),
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| API Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configuration for CMS API endpoints.
|
||||
|
|
||||
*/
|
||||
'api' => [
|
||||
'enabled' => env('FLUX_CMS_API_ENABLED', false),
|
||||
'prefix' => env('FLUX_CMS_API_PREFIX', 'api/cms'),
|
||||
'middleware' => ['api', 'auth:sanctum'],
|
||||
'rate_limiting' => env('FLUX_CMS_API_RATE_LIMIT', '60,1'),
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Backup Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configuration for content backups.
|
||||
|
|
||||
*/
|
||||
'backup' => [
|
||||
'enabled' => env('FLUX_CMS_BACKUP_ENABLED', true),
|
||||
'disk' => env('FLUX_CMS_BACKUP_DISK', 'local'),
|
||||
'auto_backup' => env('FLUX_CMS_AUTO_BACKUP', true),
|
||||
'backup_schedule' => env('FLUX_CMS_BACKUP_SCHEDULE', 'daily'),
|
||||
'keep_backups' => env('FLUX_CMS_KEEP_BACKUPS', 30),
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Domain Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Multi-domain support configuration.
|
||||
|
|
||||
*/
|
||||
'domains' => [
|
||||
'enabled' => env('FLUX_CMS_MULTI_DOMAIN', true),
|
||||
'config_source' => 'domains', // 'domains' config key or 'database'
|
||||
'default_domain' => env('FLUX_CMS_DEFAULT_DOMAIN', 'default'),
|
||||
'auto_detect' => env('FLUX_CMS_AUTO_DETECT_DOMAIN', true),
|
||||
],
|
||||
|
||||
];
|
||||
Loading…
Add table
Add a link
Reference in a new issue