diff --git a/assets/img/header.jpg b/assets/img/header.jpg index 734dbf018..1b3639c3b 100644 Binary files a/assets/img/header.jpg and b/assets/img/header.jpg differ diff --git a/public/assets/img/header.jpg b/public/assets/img/header.jpg index dd6e4029e..febe8ce78 100644 Binary files a/public/assets/img/header.jpg and b/public/assets/img/header.jpg differ diff --git a/src/__tests__/pages/feed.xml.test.ts b/src/__tests__/pages/feed.xml.test.ts index 0276ff79d..56a967724 100644 --- a/src/__tests__/pages/feed.xml.test.ts +++ b/src/__tests__/pages/feed.xml.test.ts @@ -130,12 +130,12 @@ describe('feed.xml', () => { // Content is framed: a "new post" lead-in, the rendered body, and a book CTA. expect(item.content).toContain('
Rendered HTML
'); expect(item.content).toContain('A new post from'); - expect(item.content).toContain(siteConfig.bookUrl); + expect(item.content).toContain(siteConfig.bookUrlEmail); expect(item.content.indexOf('A new post from')).toBeLessThan( item.content.indexOf('Rendered HTML
'), ); expect(item.content.indexOf('Rendered HTML
')).toBeLessThan( - item.content.indexOf(siteConfig.bookUrl), + item.content.indexOf(siteConfig.bookUrlEmail), ); expect(item.link).toBe('https://ben.balter.com/2024/06/15/my-post/'); expect(item.author).toBe(siteConfig.email); diff --git a/src/components/BookCta.astro b/src/components/BookCta.astro index 6c5b95759..0b660915c 100644 --- a/src/components/BookCta.astro +++ b/src/components/BookCta.astro @@ -2,10 +2,12 @@ /** * Book CTA Component * - * Promotes the Open & Async book with a link to the book site. + * Promotes the Open & Async book with a buy link to the book site. * Supports two variants: inline (for posts) and featured (for homepage). * Both quote the marketing site (open-and-async.com): a dark-navy "book * object" anchored by the 3D cover mockup, with the lime→pink accent system. + * Now that the book has launched, both variants sell ("Buy it") rather than + * capture emails. For the dedicated launch announcement use BookLaunchCta. */ import { Image } from 'astro:assets'; @@ -30,10 +32,10 @@ const inlineHeadline = relation === 'adapted' ? 'This post is adapted from the book.' : relation === 'cut' - ? "This post didn't make the book's final cut." + ? "There's a whole book's worth more where this came from." : relation === 'inspired' ? 'This post inspired a chapter in the book.' - : "Like this post? It's becoming a book."; + : "Liked this post? It's now a book."; // Colorize the ampersand with the site's signature lime→pink gradient. // Consume surrounding spaces so mx-1 controls the total whitespace (natural @@ -62,7 +64,7 @@ const commitGraphPaths = ` target="_blank" rel="noopener noreferrer" data-track-book-cta - class="book-cta-featured not-prose block overflow-hidden rounded-xl bg-brand-950 border border-brand-600 p-6 md:p-8 relative group no-underline shadow-card dark:shadow-card-dark hover:shadow-card-hover dark:hover:shadow-card-hover-dark motion-safe:hover:-translate-y-px transition-all duration-200 motion-safe:animate-fade-up" + class="book-cta-featured not-prose block overflow-hidden rounded-xl bg-brand-950 border border-brand-600 p-6 md:p-8 relative group no-underline shadow-card dark:shadow-card-dark hover:shadow-card-hover dark:hover:shadow-card-hover-dark motion-safe:hover:-translate-y-px transition-all duration-200 motion-safe:animate-fade-up focus-visible:outline-2 focus-visible:outline-accent-400 focus-visible:outline-offset-2" >- Coming {siteConfig.bookLaunch} + Out now
- {siteConfig.bookDescription}. Drawing on a decade at GitHub — sign up to get notified when it launches. + {siteConfig.bookDescription}. Drawing on a decade at GitHub — on Kindle, Apple Books, Kobo & more.
- Get notified + Buy it — {siteConfig.bookPrice}- Coming {siteConfig.bookLaunch} + Out now
{inlineHeadline} @@ -122,9 +124,9 @@ const commitGraphPaths = ` target="_blank" rel="noopener noreferrer" data-track-book-cta - class="inline-flex items-center gap-1.5 text-sm font-semibold text-accent-400 no-underline transition-colors duration-200 before:absolute before:inset-0 before:rounded-xl" + class="inline-flex items-center gap-1.5 text-sm font-semibold text-accent-400 no-underline transition-colors duration-200 before:absolute before:inset-0 before:rounded-xl focus-visible:outline-2 focus-visible:outline-accent-400 focus-visible:outline-offset-2" > - Get notified when it launches + Buy Open & Async — {siteConfig.bookPrice}
| ` +
- ` Coming ${siteConfig.bookLaunch} ` + + `Out now ` + `${headline} ` + `${siteConfig.bookDescription}. ` + - `Get notified when it launches →` + + `Buy it — ${siteConfig.bookPrice} →` + ` |