[TypeSpec Authoring] Extract assessment HTML into an editable template
- Dominant language
- C#
- Stars
- 135
- Forks
- 260
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 130
Description
## Goal
Extract the assessment report HTML from JavaScript string-building code into an editable template so contributors can change the report layout and styling without modifying renderer logic.
## Scope
- Define a template and view-model boundary for the assessment report.
- Move the static document structure and styles into template-owned files.
- Keep dynamic sections, escaping, source links, anchors, and accessibility behavior deterministic and safe.
- Preserve standalone offline HTML output without adding a browser or server runtime dependency.
- Document how contributors preview and validate template changes locally.
## Acceptance criteria
- The report's static markup and styling can be changed primarily through template files rather than `render-assessment-html.mjs`.
- All dynamic content is escaped by default, with explicit handling for trusted generated markup.
- Template errors fail with actionable diagnostics instead of producing partial reports.
- The 11 accepted assessment reports render successfully; any intentional HTML changes are reviewed and their regression oracles are updated.
- Tests cover template loading, missing placeholders or sections, escaping, and deterministic rendering.
Contributor guide
Research direction
Start with render-assessment-html.mjs to understand the current JavaScript string-building logic and define the template/view-model boundary. Locate the assessment report templates and existing regression oracles, then run the tests covering the 11 accepted reports. Done means deterministic standalone HTML, safe escaping and actionable template errors, with documented local preview and validation steps.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100