Skip to content

feat(docs): brand the generated OG cards to match the landing - #779

Merged
thebuilder merged 1 commit into
mainfrom
claude/align-og-cards
Aug 5, 2026
Merged

feat(docs): brand the generated OG cards to match the landing#779
thebuilder merged 1 commit into
mainfrom
claude/align-og-cards

Conversation

@thebuilder

Copy link
Copy Markdown
Owner

What & why

Blume auto-generates a per-page Open Graph card for every doc and changelog page on the Vercel build (~110 cards, at /og/<route>.png). They were shipping in Blume's light default while the landing page's custom card is dark — an inconsistent share-image family.

This aligns them: the generated cards now use the landing's dark instrument palette.

Changes

  • public/logo-og.svglogo-horizontal with attribute-level currentColor strokes. Blume's card renderer paints currentColor in the foreground, but the source logo only mapped it inside a <style> block, which the SVG rasteriser doesn't apply — so the mark would have stayed dark-on-dark. This variant paints correctly light on the dark card.
  • seo.og in blume.config.ts — dark palette (background #0b0b12, foreground #f5f3ff, muted #a6a3be, violet accent) + the logo above.

The landing keeps its bespoke card — the ogImage="/og-home.png" override still wins; only the generated cards change.

Before / after (generated /overview card)

Before: light background, dark title. After: dark background, light title + logo, matching the landing.

Verification

Built with the Vercel site env (VERCEL_PROJECT_PRODUCTION_URL) to trigger generation:

  • /overview and /api/core-apis cards render dark with the light logo, page title, and muted description. ✅
  • biome clean · fallow audit exits 0 · blume build succeeds (112 pages).

Note: OG cards only render on the production Vercel build (Blume detects the site from the platform env), so validate against the live URL after merge.

🤖 Generated with Claude Code

Blume auto-generates a per-page Open Graph card for every doc and
changelog page on Vercel, but they shipped in Blume's light default
while the landing card is dark — an inconsistent share-image family.

Point `seo.og` at the landing's dark instrument palette and a
`currentColor` logo variant so every generated card matches:
- public/logo-og.svg is logo-horizontal with attribute-level
  currentColor strokes (Blume's card renderer paints currentColor in the
  foreground; the source logo only mapped it inside a <style> block,
  which the SVG rasteriser doesn't apply — so the mark would have stayed
  dark on dark).
- seo.og.palette sets the dark background, light foreground/muted, and
  the violet accent.

The landing keeps its bespoke card (the ogImage override still wins);
the ~110 generated cards now render dark to match.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@bolt-new-by-stackblitz

Copy link
Copy Markdown

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@vercel

vercel Bot commented Aug 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
react-intersection-observer Building Building Preview Aug 5, 2026 12:24pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
react-intersection-observer-storybook Skipped Skipped Aug 5, 2026 12:24pm

@thebuilder
thebuilder merged commit aed6bf7 into main Aug 5, 2026
8 of 9 checks passed
@thebuilder
thebuilder deleted the claude/align-og-cards branch August 5, 2026 12:24
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