# Content Feature Configuration - Example Environment # Complete documentation of all content management options [features] content = true [content] enabled = true content_dir = "content" # Directory for content storage cache_enabled = true # Enable content caching cache_ttl = 3600 # Cache TTL in seconds (1 hour) max_file_size = 52428800 # Maximum file size in bytes (50MB) max_files_per_upload = 10 # Maximum files per upload request allowed_file_types = [ # Allowed file extensions "md", "txt", "html", "css", "js", "json", "toml", "yaml", "yml", "jpg", "jpeg", "png", "gif", "webp", "svg", "pdf", "doc", "docx" ] blocked_file_types = [ # Blocked file extensions for security "exe", "bat", "cmd", "com", "scr", "pif", "vbs", "js", "jar", "sh" ] scan_uploads = true # Scan uploaded files for malware quarantine_suspicious = true # Quarantine suspicious files [content.markdown] enabled = true # Enable Markdown processing parser = "pulldown-cmark" # Markdown parser to use syntax_highlighting = true # Enable code syntax highlighting highlight_theme = "github" # Syntax highlighting theme math_support = true # Enable LaTeX math rendering math_renderer = "katex" # Math rendering engine table_of_contents = true # Generate table of contents auto_links = true # Automatically link URLs smart_punctuation = true # Enable smart punctuation footnotes = true # Enable footnotes strikethrough = true # Enable strikethrough text tasklists = true # Enable task lists tables = true # Enable tables heading_anchors = true # Generate heading anchors [content.media] enabled = true # Enable media file handling max_image_size = 10485760 # Maximum image size (10MB) max_video_size = 104857600 # Maximum video size (100MB) max_audio_size = 20971520 # Maximum audio size (20MB) image_processing = true # Enable image processing thumbnail_generation = true # Generate thumbnails thumbnail_sizes = [150, 300, 600] # Thumbnail sizes in pixels image_optimization = true # Optimize images on upload video_processing = false # Enable video processing (resource intensive) allowed_image_types = [ # Allowed image formats "jpg", "jpeg", "png", "gif", "webp", "svg" ] allowed_video_types = [ # Allowed video formats "mp4", "webm", "ogg", "avi", "mov" ] allowed_audio_types = [ # Allowed audio formats "mp3", "ogg", "wav", "flac", "aac" ] [content.versioning] enabled = true # Enable content versioning max_versions = 10 # Maximum versions to keep per content auto_save_enabled = true # Enable auto-save functionality auto_save_interval = 30 # Auto-save interval in seconds version_comparison = true # Enable version comparison restore_versions = true # Allow version restoration version_metadata = true # Store version metadata [content.publishing] draft_mode = true # Enable draft mode scheduled_publishing = true # Enable scheduled publishing approval_workflow = true # Require approval for publishing approval_roles = ["editor", "admin"] # Roles that can approve content publish_notifications = true # Send notifications on publish unpublish_capability = true # Allow unpublishing content bulk_operations = true # Enable bulk operations content_templates = true # Enable content templates [content.search] enabled = true # Enable content search full_text_search = true # Enable full-text search search_engine = "tantivy" # Search engine to use index_content = true # Index content for search index_metadata = true # Index metadata for search search_highlights = true # Enable search result highlights fuzzy_search = true # Enable fuzzy search search_suggestions = true # Enable search suggestions search_filters = true # Enable search filters [content.categories] enabled = true # Enable content categories hierarchical_categories = true # Allow nested categories max_category_depth = 5 # Maximum category nesting depth category_slugs = true # Generate category slugs category_descriptions = true # Allow category descriptions category_images = true # Allow category images auto_categorization = false # Enable auto-categorization [content.tags] enabled = true # Enable content tags max_tags_per_content = 20 # Maximum tags per content item tag_suggestions = true # Enable tag suggestions tag_autocomplete = true # Enable tag autocomplete tag_cloud = true # Enable tag cloud generation tag_popularity = true # Track tag popularity tag_synonyms = true # Enable tag synonyms [content.comments] enabled = true # Enable comments system moderation_required = true # Require comment moderation spam_filtering = true # Enable spam filtering comment_voting = true # Enable comment voting nested_comments = true # Allow nested comments max_comment_depth = 3 # Maximum comment nesting depth comment_formatting = "markdown" # Comment formatting (markdown, html, plain) comment_notifications = true # Send comment notifications [content.seo] enabled = true # Enable SEO features meta_tags = true # Generate meta tags open_graph = true # Generate Open Graph tags twitter_cards = true # Generate Twitter Card tags structured_data = true # Generate structured data sitemaps = true # Generate sitemaps robots_txt = true # Generate robots.txt canonical_urls = true # Generate canonical URLs breadcrumbs = true # Generate breadcrumbs [content.analytics] enabled = true # Enable content analytics page_views = true # Track page views popular_content = true # Track popular content user_engagement = true # Track user engagement reading_time = true # Calculate reading time content_performance = true # Track content performance analytics_retention = 90 # Analytics data retention in days [content.backup] enabled = true # Enable content backup backup_schedule = "0 2 * * *" # Backup schedule (daily at 2 AM) backup_retention = 30 # Backup retention in days backup_format = "zip" # Backup format (zip, tar, json) backup_location = "backups/content" # Backup storage location incremental_backup = true # Enable incremental backups backup_verification = true # Verify backup integrity [content.performance] lazy_loading = true # Enable lazy loading image_lazy_loading = true # Enable image lazy loading content_compression = true # Enable content compression cdn_integration = false # Enable CDN integration cache_headers = true # Set appropriate cache headers preload_critical = true # Preload critical resources minify_html = true # Minify HTML output minify_css = true # Minify CSS output minify_js = true # Minify JavaScript output [content.security] content_sanitization = true # Enable content sanitization xss_protection = true # Enable XSS protection csrf_protection = true # Enable CSRF protection rate_limiting = true # Enable rate limiting upload_scanning = true # Scan uploaded files virus_scanning = false # Enable virus scanning (requires ClamAV) content_validation = true # Validate content structure permission_checks = true # Enforce permission checks [content.api] enabled = true # Enable content API rest_api = true # Enable REST API graphql_api = false # Enable GraphQL API api_authentication = true # Require API authentication api_rate_limiting = true # Enable API rate limiting api_versioning = true # Enable API versioning api_documentation = true # Generate API documentation webhook_support = true # Enable webhook support [content.export] enabled = true # Enable content export export_formats = ["json", "xml", "csv"] # Supported export formats bulk_export = true # Enable bulk export scheduled_export = true # Enable scheduled export export_filtering = true # Enable export filtering export_compression = true # Compress exported files export_encryption = false # Encrypt exported files [content.import] enabled = true # Enable content import import_formats = ["json", "xml", "csv", "markdown"] # Supported import formats bulk_import = true # Enable bulk import import_validation = true # Validate imported content import_preview = true # Enable import preview import_rollback = true # Enable import rollback duplicate_handling = "skip" # How to handle duplicates (skip, overwrite, merge) [content.workflows] enabled = true # Enable content workflows custom_workflows = true # Allow custom workflows workflow_automation = true # Enable workflow automation workflow_notifications = true # Send workflow notifications workflow_history = true # Track workflow history parallel_workflows = false # Enable parallel workflows workflow_conditions = true # Enable workflow conditions workflow_approvals = true # Enable workflow approvals [content.localization] enabled = false # Enable content localization default_language = "en" # Default language supported_languages = ["en", "es", "fr", "de"] # Supported languages auto_translation = false # Enable automatic translation translation_service = "google" # Translation service to use rtl_support = false # Enable right-to-left language support language_detection = true # Enable language detection fallback_language = "en" # Fallback language [content.monitoring] enabled = true # Enable content monitoring error_tracking = true # Track content errors performance_monitoring = true # Monitor content performance uptime_monitoring = true # Monitor content availability alert_thresholds = [ # Alert thresholds { name = "error_rate", value = 5.0, unit = "%" }, # Error rate threshold (%) { name = "response_time", value = 2000, unit = "ms" }, # Response time threshold (ms) { name = "disk_usage", value = 80.0, unit = "%" } # Disk usage threshold (%) ] notification_channels = ["email", "slack"] # Notification channels