You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Per-post opt-in via blueskyPostUrl in MDX meta. When set, the post page
renders a Bluesky-branded reply pill plus the underlying thread (via
bluesky-comments). Posts without the field are unaffected.
The standalone "About the author" colophon is folded into the byline so
each post has one author block instead of two: name, social icons, date,
optional cross-post note, and a far-right "Jump to comments" link.
Also restores the global Footer on blog post pages, which had only ever
been wired into the homepage and showcase pages.
Copy file name to clipboardExpand all lines: AGENTS.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,5 +52,6 @@ Before editing anything that touches styled-components APIs (`createTheme`, `The
52
52
- OKLCH hue 0° is pink/magenta, not red. Warmer = higher hue toward orange. Read `logoPalette.ts` for the offset that places red at step 0.
53
53
-`mix-blend-mode` and `filter` on children of `preserve-3d` elements flattens 3D. Use alpha in background colors or `color-mix` instead.
54
54
- Blog posts are assembled dynamically from MDX files at build time by `utils/blog.server.ts`. No JSON index to maintain — just create the MDX file with `export const meta`.
55
+
- Blog comments (Bluesky) are opt-in per post via `blueskyPostUrl` in the MDX `meta` export. No URL → no comments section. Auto-discovery is intentionally not used because Bluesky closed public access to `searchPosts`. `components/BlogComments.tsx` is a client component that imports `bluesky-comments` CSS and overrides its hashed CSS-Module selectors via `[class*='_name_']` attribute matches so overrides survive package upgrades.
55
56
-`PlatonicLogo.tsx` faces must NOT use `backface-visibility: hidden`. Per-face axis-angle interpolation during morph transitions can briefly flip a face normal and cull mid-animation. `transform-style: preserve-3d` z-sorts back faces naturally. Per-face depth bias (tiny outward push along each face's normal) breaks z-degeneracy for edge-on faces without culling.
56
57
-`CelebrationEffect.tsx` particles are `React.memo`'d; `onAnimationEnd` is a stable `useCallback` that reads `fwId`/`particleId` from `data-*` attributes. Don't close over IDs in per-item arrow functions — it defeats memoization on the particle list.
0 commit comments