use docparser_core::engine::DocumentEngine;
use docparser_core::registry::Registry;
use docparser_core::{emit, plugins};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let path = std::env::args()
.nth(1)
.unwrap_or_else(|| "note.md".to_string());
let mut registry = Registry::new();
plugins::text::register_defaults(&mut registry);
let engine = DocumentEngine::new(registry);
let doc = engine.parse(&path)?;
println!(
"{} 页 / {} 块 / {} 字符",
doc.pages.len(),
doc.pages.iter().map(|p| p.blocks.len()).sum::<usize>(),
doc.meta.text_length
);
for (i, page) in doc.pages.iter().enumerate() {
println!("--- page {i} {:?}", page.name);
for block in &page.blocks {
println!(" {:?}: {}", block.kind, block.content);
}
}
println!("\n===== markdown =====\n{}", emit::to_markdown(&doc));
Ok(())
}