//! # Content Module (Future Crate: `rustelo_content`)
//!
//! Content system types and traits for unified content management.
//!
//! ## Future Crate Boundary
//!
//! **Status:** ⚠️ Needs restructuring (currently tightly coupled)
//! **Target Crate:** `rustelo_content`
//! **Blockers:** Depends on routing, i18n, cache modules
//!
//! ### Dependencies (External)
//! - `rustelo_core_types` - Type definitions (already separate crate ✓)
//! - `rustelo_utils` - Utility functions (already separate crate ✓)
//! - `serde`, `serde_yaml` - Serialization
//! - `pulldown-cmark` - Markdown processing
//!
//! ### Dependencies (Internal - will become external)
//! - `crate::routing` - Route resolution (→ `rustelo_routing`)
//! - `crate::i18n` - Internationalization (→ `rustelo_i18n`)
//! - `crate::cache` - Content caching (→ stay in core_lib or `rustelo_cache`)
//!
//! ## Public API
//!
//! This module provides content item definitions, resolution, and rendering
//! traits.

pub mod card;
pub mod item;
pub mod resolver;
pub mod traits;

pub use card::ContentCardItem;
pub use item::*;
pub use resolver::*;
pub use traits::*;

// ============================================================================
// MODULE ORGANIZATION FOR FUTURE CRATE EXTRACTION
// ============================================================================
//
// ## Core Content Modules (will be extracted to rustelo_content crate)
// - card      - Content card presentation
// - item      - Unified content item architecture
// - resolver  - Content type resolution and discovery
// - traits    - Content rendering and processing traits
//
// ## External Dependencies (already separate)
// - rustelo_core_types  ✓
// - rustelo_utils       ✓
//
// ## Internal Dependencies (must be resolved before extraction)
// - crate::routing      → rustelo_routing (extract first)
// - crate::i18n         → rustelo_i18n (extract or trait-based API)
// - crate::cache        → Stay in core_lib or extract to rustelo_cache
//
// ## Extraction Order
// 1. Extract routing first (already ready ✓)
// 2. Extract or create trait-based API for i18n
// 3. Decide on cache strategy (embedded vs separate crate)
// 4. Extract content module
//
// When extracting to rustelo_content crate:
// 1. Resolve internal dependencies (routing, i18n must be external)
// 2. Create new crate: rustelo/crates/rustelo_content/
// 3. Move all modules above to new crate
// 4. Update Cargo.toml dependencies
// 5. Change core_lib: `pub use rustelo_content as content;`
//
// ============================================================================
