Skip to content

Frame RSS/email feed items with a lead-in and book CTA#1910

Merged
benbalter merged 1 commit into
mainfrom
feed-email-framing
Jul 14, 2026
Merged

Frame RSS/email feed items with a lead-in and book CTA#1910
benbalter merged 1 commit into
mainfrom
feed-email-framing

Conversation

@benbalter

Copy link
Copy Markdown
Owner

The first Kit email blast (for Work loudly) worked, but the reader experience was rough: Kit renders the raw post body straight into subscriber email, so it opened mid-thought with no indication it was a new post on ben.balter.com, and the on-site <BookCta> (Astro/Tailwind/SVG-only) never reaches the feed — no book push at the end.

This wraps every feed item's content with two plain, email-safe pieces:

  • Lead-in (top): "A new post from ben.balter.com · Read it on the web →" — so the email/RSS item is clearly framed and links to the canonical post.
  • Book CTA (bottom): an inline-styled <table> callout (no Tailwind/SVG/webp, so it survives email clients) mirroring BookCta's relation-aware copy — adapted / cut / inspired each get their own line, with a generic "it's becoming a book" fallback. Driven per-post by post.data.bookRelation, so it stays dynamic.

Applies to RSS readers and email alike.

Notes

  • The launch framing ("Coming July 21, 2026" / "Get notified when it launches") is hardcoded, matching the current BookCta. Deliberately not sharing a source of truth for a one-week pre-launch window — a code comment flags that these two strings need the same buy-now flip as BookCta at launch.
  • Only takes effect for the next post blast once merged and deployed.

Testing

  • npm run test:vitest src/__tests__/pages/feed.xml.test.ts — 9/9 pass (updated to assert lead-in → body → CTA ordering)
  • Changed file is type-clean under astro check

🤖 Generated with Claude Code

Kit renders the raw post body straight into subscriber email, so it
opened mid-thought with no indication it was a new post on ben.balter.com,
and the on-site <BookCta> (Astro/Tailwind-only) never reached the feed.

Wrap each feed item's content with a plain, inline-styled framing line up
top and a relation-aware book callout at the bottom, mirroring BookCta's
copy. Applies to RSS readers and email alike.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@benbalter
benbalter force-pushed the feed-email-framing branch from 311cbc7 to 8e705f6 Compare July 14, 2026 17:43
@benbalter
benbalter merged commit b8dff5c into main Jul 14, 2026
12 of 13 checks passed
@benbalter
benbalter deleted the feed-email-framing branch July 14, 2026 17:46
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