utf8proj-render 0.9.1

Rendering backends for utf8proj (SVG, text, etc.)
Documentation

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)?;