Skip to main content

Module report_template

Module report_template 

Source
Expand description

Declarative, JSON-based design templates for the hourly daily report.

The visual style of the hourly report (fonts, border/fill colors, column widths, row heights and which sections are shown) used to be hardcoded in crate::libs::export. This module externalizes that style into a serializable ReportTemplate so it can be customized without recompiling.

§Resolution

Templates are looked up by name (config.report.template, default siserver) in <data>/report_templates/<name>.json. When the file is missing or fails to parse, the built-in ReportTemplate::siserver default is used, guaranteeing the report always renders. On first use the default siserver.json is materialized to disk so users have a concrete example to copy and edit.

§Colors

Colors are stored as #RRGGBB hex strings and converted to rust_xlsxwriter::Color via ReportTemplate::parse_color.

Structs§

FontSpec
Font specification for a single report element.
ReportTemplate
A complete, serializable description of the hourly report’s visual design.
TemplateFonts
The set of fonts used across the report’s distinct elements.