Skip to content

Conversation

@panbanda
Copy link
Owner

@panbanda panbanda commented Jan 6, 2026

Summary

  • Ports the HTML report rendering from Go 3.x version of Omen to Rust
  • Uses minijinja templating engine (Jinja2-compatible) with pulldown-cmark for Markdown
  • Renders identical output to Go version including all charts and interactive tables

Changes

  • Add src/report/ module with types, renderer, and HTML template
  • Add minijinja and pulldown-cmark dependencies
  • Add Template error variant to core error type
  • Update CLI to use new Renderer

Features

  • Full HTML report with dark theme matching Go version
  • 5 Chart.js visualizations (radar, doughnut, line charts)
  • Interactive sortable/searchable tables via Simple-DataTables
  • All sections: Summary, Recommendations, Hotspots, SATD, Duplicates, Trends, Churn, Ownership, Cohesion, Flags, Score Breakdown, Glossary

Test plan

  • All 563 existing tests pass
  • Manual testing: omen report generate followed by omen report render
  • Verified all chart rendering with sample data
  • Clippy clean

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com

Port the HTML report rendering from Go 3.x to Rust using minijinja
templating engine. The report matches the Go version exactly with:

- Dark theme with GitHub-style CSS
- Chart.js visualizations (radar, doughnut, line charts)
- Simple-DataTables for interactive sortable/searchable tables
- Tippy.js tooltips for technical terms
- Responsive sidebar navigation
- All sections: Summary, Hotspots, SATD, Duplicates, Trends, Churn,
  Ownership, Cohesion, Feature Flags, Score Breakdown, Glossary

New files:
- src/report/mod.rs - Module entry point
- src/report/render.rs - Template renderer with filters/functions
- src/report/types.rs - Type definitions matching Go structures
- src/report/template.html - Full HTML template (2165 lines)

Dependencies added:
- minijinja 2.5 - Jinja2-compatible templating
- pulldown-cmark 0.12 - Markdown to HTML conversion

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@panbanda panbanda merged commit 3af50da into main Jan 6, 2026
6 checks passed
@github-actions github-actions bot mentioned this pull request Jan 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants