Skip to content

Add per-page backgrounds for featured releases#2

Merged
stefan-burke merged 5 commits into
mainfrom
claude/add-page-backgrounds-MMbTK
May 2, 2026
Merged

Add per-page backgrounds for featured releases#2
stefan-burke merged 5 commits into
mainfrom
claude/add-page-backgrounds-MMbTK

Conversation

@stefan-burke
Copy link
Copy Markdown
Member

Summary

Adds themed, low-opacity background images for the four featured release pages:

Page Body class Background
Drama Llamas .page--releases--drama-llamas pink fur
Jude's World .page--releases--judes-world magenta squiggles & rings
Bumbling .page--releases--bumbling pink bees
Caltrop Kaiju .page--releases--caltrop-kaiju black cityscape (anchored to bottom)

Backgrounds are painted via a position: fixed pseudo-element behind the content (opacity: 0.18), so they stay put while scrolling and don't interfere with text contrast.

Heads-up about the artwork

The four images you attached came through as multimodal content rather than files I could read off disk, so I wasn't able to save the originals. The SVGs in images/page-backgrounds/ are approximations I generated based on what each image looked like — same vibe, same palette, but not the real thing. Swap them out (keeping the same filenames) and the styling will pick up the new artwork automatically.

Other notes

  • Body classes are produced by the template's getBodyClasses helper (page--<segments-of-page.url-joined-by-->), confirmed by running it against @sindresorhus/slugify.
  • I couldn't run a full bun run build to view the output — snippets/socials.md uses a deprecated intro key on its icon-links block and the template's block-schema validator rejects it. That's pre-existing on main and unrelated to this change, so I left it alone. The SCSS itself compiles cleanly via sass.compileString.

Test plan

  • Fix the unrelated snippets/socials.md key (introintro_content) and run bun run build
  • Visit /releases/drama-llamas/, /releases/judes-world/, /releases/bumbling/, /releases/caltrop-kaiju/ and confirm each shows its background
  • Confirm other release pages (e.g. Red Gold, Righteous Jaunt) are unchanged
  • Replace the SVG approximations with the real images at the same paths

https://claude.ai/code/session_017XBupgWxK11qYn8oJFkXJB


Generated by Claude Code

claude added 5 commits May 2, 2026 10:20
Adds low-opacity themed backgrounds for the Drama Llamas, Jude's World,
Bumbling, and Caltrop Kaiju release pages, applied via fixed pseudo-elements
on the body's auto-generated page-path class.

I generated SVG approximations of the supplied images (pink fur, magenta
squiggles, pink bees, black cityscape) since the original uploads weren't
accessible as files in the build environment - swap the SVGs out for the
real artwork when you have it.
- Swap the SVG placeholders for the real PNGs uploaded to images/backgrounds
  on main; drop the page-backgrounds/ directory of approximations.
- Update theme.scss to point at the new files, with sensible per-image
  sizing (cover for the fur photo, tiled for the squiggle/bee patterns,
  bottom-anchored repeat-x for the cityscape).
- Migrate every block frontmatter to the current schema:
    - intro:        -> intro_content:   (everywhere except section-header)
    - header_intro: -> intro_content:
    - header_align: -> align:           (only on section-header blocks; dropped
                                         elsewhere since the field was removed)
    - heading_level: dropped from features blocks (no replacement)
- The build now passes end to end.
Brings back the oversized-dice corner artwork from the old buttonkin.com
site as the default background on every page that doesn't already have a
custom themed image. The single dice-corner asset is mirrored: rendered
bottom-left as-is on body::before, and bottom-right via scaleX(-1) on
body::after, so the dice cluster appears in both bottom corners.

Stacking changes:
- Move the page background colour from body to html and make body
  transparent so the body::before/::after pseudo-elements with z-index: -1
  actually paint behind body content instead of being hidden by it.

Same-pass tweaks requested alongside the dice work:
- --body-background-alt is now a translucent rgba so the dice/themed
  images show through alternating sections.
- Drop the bumbling and jude's world background opacity from 0.18 to 0.10
  so the patterns are noticeably softer behind the content.
- Stretch the dice background full-viewport (background-size: cover on a
  single ::before) instead of mirrored corners — matches the old buttonkin.com
  cover-image treatment.
- Set --color-dark-bg / --color-dark-bg-alt to #322036d6 (translucent plum)
  so dark sections will let the page background bleed through once the
  template is updated to read from the CSS variable rather than its
  hardcoded #1f2937.
- Add image_aspect_ratio: "5/4" to the recent-blog-posts snippet.
@stefan-burke stefan-burke merged commit 9abf405 into main May 2, 2026
4 checks passed
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.

2 participants