# 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
