Expand description
§utf8proj-render
Rendering backends for utf8proj schedules.
This crate provides:
- Interactive HTML Gantt chart rendering
- SVG Gantt chart rendering
- MermaidJS Gantt chart rendering (for Markdown/docs)
- PlantUML Gantt chart rendering (for wikis and documentation)
- Excel costing reports (for corporate project quoting)
- Text-based output
- Custom renderer trait
§Example
ⓘ
use utf8proj_core::{Project, Schedule, Renderer};
use utf8proj_render::{HtmlGanttRenderer, SvgRenderer, MermaidRenderer, PlantUmlRenderer};
// Interactive HTML Gantt chart
let renderer = HtmlGanttRenderer::new();
let html = renderer.render(&project, &schedule)?;
// Pure SVG output
let svg_renderer = SvgRenderer::default();
let svg = svg_renderer.render(&project, &schedule)?;
// MermaidJS for Markdown/documentation
let mermaid_renderer = MermaidRenderer::new();
let mermaid = mermaid_renderer.render(&project, &schedule)?;
// PlantUML for wikis and documentation
let plantuml_renderer = PlantUmlRenderer::new();
let plantuml = plantuml_renderer.render(&project, &schedule)?;
// Excel costing report
let excel_renderer = ExcelRenderer::new().currency("€");
let xlsx_bytes = excel_renderer.render(&project, &schedule)?;
std::fs::write("project_cost.xlsx", xlsx_bytes)?;Re-exports§
pub use excel::ExcelConfig;pub use excel::ExcelRenderer;pub use excel::ScheduleGranularity;pub use gantt::FocusConfig;pub use gantt::GanttTheme;pub use gantt::HtmlGanttRenderer;pub use gantt::TaskVisibility;pub use mermaid::MermaidRenderer;pub use plantuml::PlantUmlRenderer;
Modules§
- excel
- Excel costing report renderer
- gantt
- Interactive HTML Gantt Chart Renderer
- mermaid
- MermaidJS Gantt chart renderer
- plantuml
- PlantUML Gantt chart renderer
Structs§
- SvgRenderer
- SVG Gantt chart renderer configuration
- Text
Renderer - Plain text renderer for console output
Enums§
- Display
Mode - Display mode for task labels in charts