You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(email): introduce React Email templates and a shared Oblidog layout #478
Use readable typography, restrained Oblidog branding and mobile-friendly layouts; avoid wide dashboard-like tables.
Define and demonstrate the build-time HTML export / Python Jinja integration for dynamic collections, conditions and escaping. A static HTML export alone must not freeze report data.
Export templates during the build or commit generated artifacts with a deterministic freshness check; document the chosen approach.
Keep report queries, business rules, scheduling and SMTP delivery in Python. Production sending must not require a Node service or external rendering API.
Add synthetic preview fixtures for empty, normal, long-name, long-list, multi-ledger and multi-currency data.
Acceptance criteria
Preview and export are reproducible through documented commands.
Python safely renders variable-length collections and conditional sections; user-supplied content is escaped.
Generated HTML is available in backend images and applicable deployment packaging.
Shared layout is readable at mobile and desktop widths, including images-disabled mode and common email-client constraints.
Representative rendered previews are visually reviewed.
Plain-text delivery remains supported.
Out of scope
Scheduling/preferences changes (#139), delivery retry semantics (#375), changes to report selection or calculations.
Priority
High product value; prerequisite for the report redesign issues.
Activity