e2f9c9d556
Fix TOC showing headings from previous article
...
The TOC was displaying sections from previously viewed articles when
navigating between posts. This happened because the DOM query for
headings ran before Next.js finished updating the page content.
Changes to components/post-toc.tsx:
- Clear items and activeId immediately when pathname changes
- Add 50ms delay before querying DOM for new headings
- Properly handle IntersectionObserver cleanup with timeout
This ensures the TOC always shows the correct headings for the
current article, not the previous one.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-20 23:29:17 +08:00
0bb3ee40c6
Optimize performance: Replace Framer Motion and FontAwesome, convert Mastodon to Server Component
...
Major performance optimizations addressing PageSpeed Insights warnings:
**Phase 1: Replace Framer Motion with CSS (~60-100KB savings)**
- Remove Framer Motion from components/post-layout.tsx
- Add CSS transitions to styles/globals.css for TOC animations
- Replace motion.div/motion.button with regular elements + CSS classes
- Remove framer-motion package dependency
**Phase 2: Replace FontAwesome with React Icons (~150-250KB savings)**
- Replace FontAwesome in 16 components with react-icons
- Use Feather icons (react-icons/fi) for UI elements
- Use FontAwesome brand icons (react-icons/fa) for social media
- Remove 4 @fortawesome packages (@fortawesome/fontawesome-svg-core,
@fortawesome/free-brands-svg-icons, @fortawesome/free-solid-svg-icons,
@fortawesome/react-fontawesome)
- Updated components:
- app/error.tsx, app/tags/page.tsx, app/tags/[tag]/page.tsx
- components/hero.tsx, components/mastodon-feed.tsx
- components/meta-item.tsx, components/nav-menu.tsx
- components/post-card.tsx, components/post-layout.tsx
- components/post-list-item.tsx, components/post-list-with-controls.tsx
- components/post-storyline-nav.tsx, components/post-toc.tsx
- components/right-sidebar.tsx, components/search-modal.tsx
- components/site-footer.tsx, components/theme-toggle.tsx
**Phase 3: Convert Mastodon Feed to Server Component**
- Convert components/mastodon-feed.tsx from Client Component to async Server Component
- Replace client-side useEffect fetching with server-side ISR
- Add 30-minute revalidation (next: { revalidate: 1800 })
- Eliminate 2 blocking client-side network requests
- Remove loading state (rendered on server)
**Total Impact:**
- JavaScript bundle: ~210-350KB reduction
- Blocking network requests: 2 eliminated
- Main thread time: Reduced by ~100-160ms
- Build: ✅ Verified successful
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-20 21:51:24 +08:00
45cfc6acc4
Fix TOC showing wrong headings across navigation
...
The TOC component was only extracting headings once at mount, causing it to show stale headings when navigating between posts via client-side routing. Now it re-extracts headings whenever the pathname changes.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-20 20:29:30 +08:00
4c08413936
Migrate to Contentlayer2
2025-11-19 21:46:49 +08:00
79578252df
Apply new type scale to TOC
2025-11-19 00:33:11 +08:00
b4ee8b122f
Remove dot icon from TOC items
2025-11-18 23:57:40 +08:00
cd95a7bb79
Render TOC items as divs to eliminate bullets
2025-11-18 23:51:43 +08:00
f34221b567
Exclude TOC from prose styling
2025-11-18 23:50:03 +08:00
3509b43643
Inline TOC list style overrides
2025-11-18 23:49:08 +08:00
b69755c2d6
Force TOC list to remove default bullets
2025-11-18 23:41:37 +08:00
dadb5dce5c
Remove default list bullets from TOC
2025-11-18 23:36:27 +08:00
7a6cd55c42
Polish TOC bullets
2025-11-18 23:34:38 +08:00
1e39647ab6
Fix duplicate imports in post TOC
2025-11-18 23:31:52 +08:00
80d0b236c5
Refine navigation and post UI
2025-11-18 17:34:05 +08:00
b47549437a
Add scroll-synced active state to post TOC
2025-11-17 21:09:11 +08:00
b89c01c966
Tweak card images, dark mode text, social links, and add right sidebar
2025-11-17 17:19:47 +08:00
603274d025
Improve layout with hero, cards, typography, TOC and reading progress
2025-11-17 17:07:01 +08:00