1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//! Multi-crate documentation generation.
//!
//! This module provides support for generating documentation from multiple
//! rustdoc JSON files, enabling cross-crate linking and self-contained
//! documentation for entire dependency trees.
//!
//! # Architecture
//!
//! The multi-crate system uses these components:
//!
//! - [`CrateCollection`]: Container for parsed crates with processing order
//! - [`MultiCrateParser`]: Scans directories and parses JSON files
//! - [`UnifiedLinkRegistry`]: Cross-crate link resolution
//! - [`MultiCrateContext`]: Shared state during generation
//! - [`MultiCrateGenerator`]: Orchestrates per-crate generation
//! - [`SummaryGenerator`]: Creates mdBook-compatible SUMMARY.md
//!
//! # Usage
//!
//! ```ignore
//! use docs_md::multi_crate::{MultiCrateParser, MultiCrateGenerator};
//!
//! let crates = MultiCrateParser::parse_directory(Path::new("target/doc"))?;
//! let generator = MultiCrateGenerator::new(&crates, &args);
//! generator.generate()?;
//! ```
/// Rust module path separator (e.g., `serde_json::de::from_str`).
pub const RUST_PATH_SEP: &str = "::";
/// File system path separator for generated documentation.
pub const FILE_PATH_SEP: char = '/';
pub use CrateCollection;
pub use ;
pub use MultiCrateGenerator;
pub use MultiCrateParser;
pub use UnifiedLinkRegistry;
pub use ;
pub use SummaryGenerator;