Clone this repository
For self-hosted knots, clone URLs may differ based on your setup.
Download tar.gz
Content container min-height ratchets up to the tallest tab seen
and never shrinks, preventing any layout jumps when switching tabs.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Prevents layout jolt when switching tabs by pinning the content
container's min-height to the outgoing panel's height, then
smoothly transitioning to the new panel's height once loaded.
Uses MutationObserver to detect when async content replaces
the loading spinner.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Tab selection syncs to URL hash (#posts, #writing, etc.)
- Page reload restores the active tab from hash
- Back/forward navigation switches tabs via hashchange
- Fix music track styles (scoped → global for dynamic elements)
- PostFeed defers loading when hash points to another tab
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Writing, Music, Repos, Annotations, Notes, and Feeds now fetch data
dynamically on tab switch instead of at build time. Content is always
fresh without needing a rebuild. Only the profile header and writing
article pages remain build-time rendered.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Feed link cards were inline, causing clipped borders and small hover area.
Now display:block for proper card layout.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>