fix(email): document post-queue render path and tighten guard

This commit is contained in:
2026-06-27 00:15:21 +02:00
parent 0d8a7d29ed
commit 53010830f7
4 changed files with 23 additions and 15 deletions
@@ -15,9 +15,10 @@ verbatim. Three issues:
like they came from the same product as the forum.
2. **Massive duplication.** Each template inlines the full `<head>` (reset CSS,
media queries), header, and footer — ~400 lines per file, ~390 of them
identical across all 10. `partials/header.html`, `partials/footer.html`, and
`partials/post-queue-body.html` exist but **nothing imports them** — they are
dead code, and the README wrongly claims they are included.
identical across all 10. `partials/header.html` and `partials/footer.html`
exist but **nothing imports them** — they are dead code, and the README
wrongly claims they are included. `partials/post-queue-body.html` is rendered
by NodeBB's post queue flow into notification body content.
3. **Inbox hygiene gaps.** Every template has an empty `<title>` and no
preheader (inbox preview text). These make messages look unfinished in the
inbox list and are easy wins under deliverability heuristics.
@@ -67,7 +68,7 @@ email/
partials/
header.html # doctype, <head>, brand <style>, letterhead band, open container
footer.html # gold hairline, unsubscribe block, closing tags
post-queue-body.html # unchanged in structure; reskinned
post-queue-body.html # NodeBB post queue flow renders this into notification body; reskinned
welcome.html # IMPORT header + body block + IMPORT footer
verify-email.html
reset.html
@@ -75,7 +76,7 @@ email/
registration_accepted.html
banned.html
invitation.html
notification.html # body imports post-queue-body.html when applicable
notification.html # renders {body}; post queue flow supplies rendered post-queue body
digest.html # keeps its loops; reskinned
test.html
```