Skip to main content

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 patterns;
24pub mod render;
25pub mod theme;
26pub mod vfs;
27
28mod error;
29
30pub use components::{Component, ComponentId, ComponentRegistry};
31pub use engine::{Engine, ReportBuilder};
32pub use error::{Error, Result};
33pub use pack::{Pack, PackId, PackLoader, PackManifest};
34pub use patterns::{AuditPattern, MarketingPattern, ExecutivePattern, BasePattern};
35pub use render::{RenderOutput, RenderRequest};
36pub use theme::{Theme, ThemeTokens, TokenValue};
37
38/// Re-export commonly used types
39pub mod prelude {
40    pub use crate::components::*;
41    pub use crate::engine::Engine;
42    pub use crate::theme::{Theme, ThemeTokens};
43    pub use crate::{Error, Result};
44}