Skip to content

feat: Liquid + Tailwind HTML report for DCC certificates - #7

Merged
ronaldtse merged 1 commit into
mainfrom
feat/liquid-html-report
Jul 22, 2026
Merged

ronaldtse merged 1 commit into
mainfrom
feat/liquid-html-report

Conversation

@ronaldtse

Copy link
Copy Markdown
Contributor

Summary

Replaces the boring hand-rolled HTML with a precision-instrument-inspired report using Liquid templates and Tailwind CSS 4.

Design

  • Typography: IBM Plex Sans + IBM Plex Mono + DM Sans display
  • Theme: Deep navy (#0a0e1a) with surface cards and cyan accent
  • Layout: Card-based sections with staggered entrance animations
  • Sections: Header with gradient title, core data grid, calibrated items, calibration laboratory, responsible persons with avatars + main-signer badge, measurement results, customer

Architecture

  • lib/dcc/convert/templates/report.liquid — Liquid template (shipped with gem)
  • Dcc::Convert::Html — renders via Liquid from the DCC hash
  • CLI: dcc convert html certificate.xml --output report.html

Test plan

  • 220 specs pass
  • dcc convert html spec/fixtures/dcclib/valid.xml --output report.html works
  • HTML renders in browser

- Added 'liquid' gem dependency
- Created lib/dcc/convert/templates/report.liquid with a precision
  instrument-inspired dark theme:
  * IBM Plex Sans + IBM Plex Mono + DM Sans typography
  * Deep navy (#0a0e1a) background with surface cards
  * Accent cyan (#38bdf8) badge with pulsing dot
  * Gradient text on certificate title
  * Card-based sections with icon headers and staggered entrance
  * Data grids for core data, items, lab info
  * Signer cards with avatar initials and main-signer badge
  * Measurement result blocks with method names
- Rewrote Dcc::Convert::Html to use Liquid template rendering
- CLI: 'dcc convert html certificate.xml --output report.html'
- 220 specs, 0 failures
@ronaldtse
ronaldtse merged commit 8058cd9 into main Jul 22, 2026
@ronaldtse
ronaldtse deleted the feat/liquid-html-report branch July 22, 2026 16:35
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.

1 participant