Commit Graph
47 Commits
Author SHA1 Message Date
valknarandClaude Sonnet 5 5889f02c21 fix: replace deprecated .Site.LanguageCode with .Site.Language.Locale
Hugo v0.158.0 deprecated .Site.LanguageCode in favor of .Site.Language.Locale,
and deprecated the languageCode config key in favor of locale. Update both to
silence the build warnings.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E8Es4ZhoJG6vrxN3GLGhLz
2026-09-13 17:48:58 +02:00
valknarandClaude Sonnet 4.6 d129c545dd fix: drop noreferrer from footer menu external links to preserve Umami referral tracking
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 12:26:17 +02:00
valknarandClaude Sonnet 4.6 bfe97b9595 feat: add Roux external link to footer nav
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 20:13:14 +02:00
valknarandClaude Sonnet 4.6 987c715c00 fix: align post header left edge with tags block
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 18:29:47 +02:00
valknarandClaude Sonnet 4.6 847a7bc6d1 feat: limit homepage gallery to 4 posts
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 16:24:21 +02:00
valknarandClaude Sonnet 4.6 55ad9c2dde feat: banner plays video, opens lightbox with image+video; remove gallery and works counter
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 18:40:49 +02:00
valknar 1edb3fc140 fix: image and video optimizations 2026-05-10 18:35:58 +02:00
valknar dade82664e fix: author card bio text size 2026-05-09 18:51:33 +02:00
valknar d4dcd61e88 fix: single page header width 2026-05-09 11:25:27 +02:00
valknarandClaude Sonnet 4.6 e66da58826 feat: show all category badges on hero and post cards
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 18:09:30 +02:00
valknarandClaude Sonnet 4.6 436223913e feat: add Prettier with go-template and toml plugins, format all files
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 13:18:05 +02:00
valknarandClaude Sonnet 4.6 d6dd40fe5d feat: add prompt front matter structure, comment out generation notes block
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 20:32:23 +02:00
valknar fa1e84643d fix: featured drop label 2026-05-03 12:09:28 +02:00
valknarandClaude Sonnet 4.6 0fd07614f0 feat: add float animation and pink drop shadow to header logo
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-02 17:05:29 +02:00
valknarandClaude Sonnet 4.6 1ad6737a59 feat: new logo, regenerate all favicons and OG image, switch partial to img
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-02 12:58:05 +02:00
valknarandClaude Sonnet 4.6 879cc18fd3 feat: simplify homepage to single hero, show all other posts in latest grid
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 11:41:04 +02:00
valknar 7651bdd7b5 fix: featured drop label 2026-04-30 11:39:02 +02:00
valknar c5cfb13594 fix: featured drop label 2026-04-29 18:27:21 +02:00
valknarandClaude Sonnet 4.6 99a41ad127 feat: refine logo animation — bloom shrink + outer ring slow spin
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 18:08:39 +02:00
valknarandClaude Sonnet 4.6 70aa6f96d8 feat: add bloom pulse animation to header logo, glitch text-only
- Counter-rotating rings now also pulse outward from center (inner→outer ripple)
- Use standalone `rotate`/`scale` CSS properties so animations don't conflict
- Glitch animation scoped to logo text span only, not the SVG
- Footer logo remains static (logo-static)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 10:47:34 +02:00
valknarandClaude Sonnet 4.6 356098496d feat: animate header logo with counter-rotating rings, static in footer
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 10:37:38 +02:00
valknarandClaude Sonnet 4.6 345f91e045 feat: use img.html partial for hero banner (WebP + srcset) and update CSS
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 20:51:17 +02:00
valknar 6da4119cb4 fix: gradients 2026-04-28 20:01:17 +02:00
valknarandClaude Sonnet 4.6 b779a7541b feat: new polygon peony logo + updated OG image
- Replace logo partial with faceted low-poly peony bloom (v7: blush→heat)
- Update static/logo.svg (app icon, no background)
- Regenerate OG default image with new logo and correct tagline
- Update favicons

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 18:51:32 +02:00
valknarandClaude Sonnet 4.6 ccb7d70542 fix: simplify badge hover to a.badge:hover, remove badge-static class
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 16:04:21 +02:00
valknarandClaude Sonnet 4.6 37a9418136 fix: scope badge hover to link badges, remove inline hover classes, expand logo viewBox
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 16:00:00 +02:00
valknar 164b80f8b1 fix: hero lg text size 2026-04-22 11:17:08 +02:00
valknarandClaude Sonnet 4.6 8470b9d329 fix: adjust author card avatar size and name styling
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 20:30:00 +02:00
valknarandClaude Sonnet 4.6 3a4b877d3d fix: clamp hero description to 3 lines on homepage
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 17:44:16 +02:00
valknarandClaude Sonnet 4.6 714779ce27 fix: move lightbox to baseof as persistent component, fix HTMX history conflicts
- Lightbox lives outside #main-content so HTMX never destroys it
- Gallery dispatches window events to open/close lightbox
- Add hx-history-elt to #main-content so only that element is snapshotted
- Remove view-transition-name to avoid duplicate conflict on history restore
- Close lightbox on navigation via lightbox:close event

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 20:43:38 +02:00
valknarandClaude Sonnet 4.6 a7f334dc14 feat: show latest 4 posts on author page
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 16:25:50 +02:00
valknar 811bb49517 fix: homepage posts size = 8 2026-04-18 11:44:48 +02:00
valknarandClaude Sonnet 4.6 16352b9152 feat: limit homepage latest posts to 4, fix total post count in CTA
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 16:26:10 +02:00
valknarandClaude Sonnet 4.6 10239ffe83 feat: center banner image with fixed-height cover strip
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 15:17:20 +02:00
valknar 177aec5718 fix: nav current text-gradient-alt class 2026-04-11 19:46:05 +02:00
valknarandClaude Sonnet 4.6 3ac7e9c549 fix: lightbox chrome z-index and layout alignment
Root cause: media container was position:absolute inset-0 but without
z-index, while buttons had no z-index either — in fill mode the image
painted over the buttons making close/fill-toggle unclickable.

Fixes:
- Media div is now absolute inset-0 (explicit), chrome bars are z-10
- Top bar is a single flex row (h-14): left spacer | counter | FILL+✕
  so counter, fill toggle and close are vertically aligned at the same
  height instead of scattered absolute elements
- Bottom bar is a flex row (h-14) centred over dots
- Both bars have a linear-gradient scrim so chrome stays legible over
  fill-mode images without a solid background
- Prev/Next arrows get z-10 so they always sit above the media
- Media padding uses pt-14 pb-14 in fit mode to clear the chrome bars

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 18:37:33 +02:00
valknarandClaude Sonnet 4.6 08ddfd54d7 feat: lightbox fill/fit toggle mode
Add fill state (default false) to the Alpine lightbox data:
- FILL button (top-right, left of ✕): switches media to object-cover,
  filling the entire overlay edge-to-edge; button turns heat pink
- FIT restores object-contain with padding; button returns to fog
- Keyboard shortcut F toggles fill while lightbox is open
- close() resets fill to false for the next open
- transition-all duration-300 on container padding and media for
  a smooth morph between modes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 18:33:45 +02:00
valknarandClaude Sonnet 4.6 1998820dec feat: gallery lightbox with Alpine.js
Hugo pre-computes a JSON array of {img, video} entries per gallery item
(WebP 1200w src + optional mp4 src). Alpine reads the array and manages
lightbox state (open/idx/prev/next/close).

Features:
- Click any card → opens fullscreen dark overlay (bg-void/95 + backdrop-blur)
- Videos: controls, autoplay, x-effect reloads src on navigate
- Images: full-res WebP centred with object-contain
- Keyboard: Escape closes, ←/→ navigate
- Dot indicators: active dot expands (heat colour)
- Prev/next arrow buttons (hidden when only 1 item)
- Grid cards: cursor-zoom-in, pointer-events-none on media so click
  always hits the <figure>
- Teleported to <body> via x-teleport to avoid stacking context issues
- Gradient-line accent top and bottom of overlay

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 18:24:33 +02:00
valknar 72d24f5f4d fix: related posts bg 2026-04-11 18:20:01 +02:00
valknar 26a306f3a6 fix: logo text color 2026-04-11 17:51:21 +02:00
valknar 7d29f8373f fix: author-card max-w-2xl 2026-04-11 17:36:20 +02:00
valknarandClaude Sonnet 4.6 36767c3d4d perf: Hugo image processing — auto-convert all images to WebP with srcset
Add layouts/partials/img.html helper that resizes and converts any Hugo
page-resource image to WebP, emitting a responsive srcset at multiple
widths. Wire it up to every image rendering site:

- post-card.html: thumbnail (600w/1000w) + avatar (64px WebP)
- post-card-large.html: featured card background (800w/1200w)
- posts/single.html: banner (1200w/1800w, eager) + gallery (800w/1200w)
- author-card.html: avatar (96px WebP, 2× retina)

Result: banner.png 7.9 MB → 496 KB WebP at 1800w (−94 %).
Hugo caches processed images in resources/_gen/ across builds.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 19:12:06 +02:00
valknarandClaude Sonnet 4.6 9af45979f1 fix: address Lighthouse SEO and performance audit failures
- nav: fix label-content-name-mismatch — aria-label now uses logoText
  ("PIVOINE") to match the visible link text (WCAG 2.5.3)
- index: improve link-text — "Learn more" → "About the magazine"
  so the /about/ CTA has a descriptive accessible name
- head: load Google Fonts async via media=print/onload pattern to
  eliminate render-blocking resource penalty (~480ms est. savings)

Remaining items needing server-side action:
- is-crawlable: x-robots-tag: none,... header must be removed in the
  web server / CDN config (not controllable from this repo)
- image-delivery: large banner PNGs on live site need manual WebP
  conversion or migration to Hugo page bundles for auto-processing

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 19:07:10 +02:00
valknar 00ee9e15ed Revert "polish: smooth hover transitions on nav and footer links"
This reverts commit d967dd261a.
2026-04-10 18:44:15 +02:00
valknarandClaude Sonnet 4.6 d967dd261a polish: smooth hover transitions on nav and footer links
- Desktop nav: underline uses scaleX transform (origin-left) instead of
  width, now shows on hover for inactive links too
- Mobile nav: link text slides translateX on hover for directional feel
- Footer nav: matching scaleX underline on hover
- Footer social: external arrow icon nudges diagonally on hover

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 18:38:14 +02:00
valknarandClaude Sonnet 4.6 245a8e614d feat: add full favicon & PWA meta tags to head
Adds apple-touch-icon, PNG favicons, webmanifest link, and
msapplication-TileColor; existing SVG/ICO fallbacks retained.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 17:46:36 +02:00
valknar cd1ff989d0 Initial commit 2026-04-08 19:49:15 +02:00