renderreport/lib.rs
1//! # RenderReport
2//!
3//! Data-driven report generation with Typst as embedded render engine.
4//!
5//! ## Quick Start
6//!
7//! ```rust,ignore
8//! use renderreport::{Engine, ReportBuilder, components::ScoreCard};
9//!
10//! let engine = Engine::new()?;
11//! let report = ReportBuilder::new("seo-audit")
12//! .title("SEO Audit Report")
13//! .add_component(ScoreCard::new("Overall Score", 85))
14//! .build();
15//!
16//! let pdf = engine.render_pdf(&report)?;
17//! std::fs::write("report.pdf", pdf)?;
18//! ```
19
20pub mod components;
21pub mod engine;
22pub mod pack;
23pub mod render;
24pub mod theme;
25pub mod vfs;
26
27mod error;
28
29pub use components::{Component, ComponentId, ComponentRegistry};
30pub use engine::Engine;
31pub use error::{Error, Result};
32pub use pack::{Pack, PackId, PackLoader, PackManifest};
33pub use render::{RenderOutput, RenderRequest};
34pub use theme::{Theme, ThemeTokens, TokenValue};
35
36/// Re-export commonly used types
37pub mod prelude {
38 pub use crate::components::*;
39 pub use crate::engine::Engine;
40 pub use crate::theme::{Theme, ThemeTokens};
41 pub use crate::{Error, Result};
42}