- Add lunr dependency to package.json and pnpm-lock.yaml.
- Implement SearchDialog component for full‑text search using lunr.
- Add readTime prop to BlogCard with default 5 min read.
- Add reading‑time utility for estimated read duration.
- Update layout and page components to include new props.
- Generate search.json data for indexing.
Hubert The Eunuch
- Introduce ThemePreferenceDialog.astro with two‑step flow and reduced motion support.
- Modify BaseLayout.astro to render dialog for first‑time visitors.
- Ensure dialog respects user preferences and theme toggles.
Hubert The Eunuch
- Add SOCIAL_LINKS import to BaseLayout and BlogPost
- Add Master Person schema to BaseLayout
- Reference Person @id in BlogPost article schema
Hubert The Eunuch
- Refactor component styles to use CSS custom properties for colors and backgrounds.
- Replace hard‑coded Tailwind classes with theme variables across BlogCard, BlogFilters, Footer, GridOverlay, Navigation, PostNavigation, ReadingProgress, RelatedPosts, TableOfContents, ThemeToggle, sections, layouts, pages, and global.css.
- Add ThemeToggle component for user‑controlled theme switching.
- Update global styles to define new theme variables.
- Ensure all components respect theme changes and maintain accessibility.
Hubert The Eunuch
- Introduced HTML_MARKER constant in consts.ts for website visualization tool diagnostics.
- Updated BaseLayout.astro to include the HTML_MARKER in the head section for improved site diagnostics.
- Removed unused Lucide CDN script from BaseHead component to reduce network costs.
- Enhanced CustomCursor component with requestAnimationFrame for smoother animations and respect for user motion preferences.
- Updated Hero section styles for faster fade-out transitions and improved responsiveness to user preferences.
- Optimized clock functionality in Hero section to reduce drift and improve performance.
- Streamlined mousemove event handling in Hero section for better performance and reduced resource usage.
- Lazy-loaded markdown renderer in contact page to keep initial JavaScript lighter.
- Added will-change property to global CSS for improved rendering performance.
- Changed site URL in configuration from 'https://example.com' to 'https://nicholai.work'.
- Updated site title and description for better SEO optimization.
- Removed outdated portrait images and replaced them with optimized formats in the hero section.
- Enhanced BaseHead component with structured data for improved search engine visibility.
- Added reading time calculation to blog posts for better user engagement.
- Changed site title and description to reflect personal branding as a VFX Artist & Technical Generalist.
- Added social links for contact and networking.
- Revamped footer layout for improved aesthetics and functionality.
- Reorganized blog and homepage layouts to enhance user experience and visual appeal.
- Updated global styles to incorporate Tailwind CSS for a modern design approach.