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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
// Copyright (c) 2026 vectorless developers
// SPDX-License-Identifier: Apache-2.0
//! Document parsing module.
//!
//! This module provides parsers for different document formats.
//! Each parser extracts [`RawNode`]s from documents that can then be
//! organized into a [`DocumentTree`].
//!
//! # Supported Formats
//!
//! - **Markdown** - Full support via [`MarkdownParser`]
//! - **PDF** - Full support via [`PdfParser`] with TOC extraction
//! - **DOCX** - Full support via [`DocxParser`] with heading detection
//! - **HTML** - Full support via [`HtmlParser`] with heading hierarchy
//!
//! # Example
//!
//! ```rust,no_run
//! use vectorless::parser::{DocumentParser, MarkdownParser, DocumentFormat};
//!
//! # #[tokio::main]
//! # async fn main() -> vectorless::Result<()> {
//! // Create a parser
//! let parser = MarkdownParser::new();
//!
//! // Parse content
//! let content = "# Title\n\nContent here.";
//! let result = parser.parse(content).await?;
//!
//! println!("Extracted {} nodes", result.node_count());
//! for node in &result.nodes {
//! println!(" - {} (level {})", node.title, node.level);
//! }
//! # Ok(())
//! # }
//! ```
// Markdown parsing module
// PDF parsing module
// HTML parsing module
// TOC processing module
// DOCX parsing module
// Re-export main types
pub use ;
// Re-export parser trait
pub use DocumentParser;
// Re-export registry and convenience functions
pub use ;
// Re-export concrete parsers
pub use DocxParser;
pub use ;
pub use ;
pub use PdfParser;