Skip to content

feat(blog): show post header art on blog index cards - #338

Merged
crs48 merged 3 commits into
mainfrom
claude/crazy-tesla-1c2eab
Jun 29, 2026
Merged

feat(blog): show post header art on blog index cards#338
crs48 merged 3 commits into
mainfrom
claude/crazy-tesla-1c2eab

Conversation

@crs48

@crs48 crs48 commented Jun 29, 2026

Copy link
Copy Markdown
Owner

What

The blog index cards were text-only. Each post already ships a bespoke, art-directed hero (PirateHero, MycelialHero, StarHero, …) — this surfaces that art on the preview cards so the blog page reads as colourful and distinct at a glance.

How

  • Extracted each hero's decorative inline SVG into a reusable *Art.astro component: PirateArt, MycelialArt, StarArt, LeverArt, DustArt, ForestArt, LoomArt.
  • Each hero now imports its art component as the full-bleed background (hero rendering is byte-identical — a transparent refactor).
  • The blog index (site/src/pages/blog/index.astro) renders the same component as a banner at the top of each card, keyed by slug. Card and hero are single-sourced, so they can never diverge.
  • Card markup restructured: overflow-hidden wrapper, art banner (h-40 sm:h-48, subtle bottom border, gentle hover zoom), then the existing padded text block.

Still 100% inline SVG, no external assets (Self-Audit parity).

Verification

  • astro build ✓ (107 pages)
  • Previewed /blog: all 7 cards render their matching header art, light + dark mode ✓
  • Spot-checked a post page (/blog/the-gentlest-furnace): hero unchanged ✓
  • No console errors ✓

No changeset — change is confined to site/ (not a publishable packages/* library).

🤖 Generated with Claude Code

The blog index cards were text-only. Each post already has a bespoke,
art-directed hero (PirateHero, MycelialHero, …); this surfaces that art on
the preview cards so the page reads as colourful and distinct at a glance.

Extract each hero's decorative inline SVG into a reusable `*Art.astro`
component (PirateArt, MycelialArt, StarArt, LeverArt, DustArt, ForestArt,
LoomArt). Each hero now imports its art component as the full-bleed
background, and the blog index renders the same component as a banner at the
top of each card — single-sourced, so card and hero never diverge. Still
100% inline SVG, no external assets (Self-Audit parity).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: xNet Test <test@xnet.dev>
@crs48
crs48 temporarily deployed to pr-338 June 29, 2026 02:41 — with GitHub Actions Inactive
@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

✓ Changelog fragment found — thanks!

Adds the changelog fragment for #338 (blog index cards now show each
post's hero artwork), satisfying the changelog-section gate.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: xNet Test <test@xnet.dev>
@crs48
crs48 temporarily deployed to pr-338 June 29, 2026 02:43 — with GitHub Actions Inactive
@crs48
crs48 temporarily deployed to pr-338 June 29, 2026 02:44 — with GitHub Actions Inactive
@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Preview removed for PR #338.

github-actions Bot added a commit that referenced this pull request Jun 29, 2026
@crs48
crs48 merged commit 59a2e05 into main Jun 29, 2026
14 checks passed
@crs48
crs48 deleted the claude/crazy-tesla-1c2eab branch June 29, 2026 02:51
github-actions Bot added a commit that referenced this pull request Jun 29, 2026
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