- Introduced author data files for multiple authors including Anton Stallbörger, Jace Attard, Raphael Salaja, and Russell Dare.
- Implemented a schema for author validation using Zod to ensure data integrity.
- Added functions to read and validate author data from JSON files.
feat(content): implement page formatting utilities
- Created utilities for formatting page data, including author resolution and published date formatting.
- Added functions to format a full Page object and an array of Page objects for consistent display.
feat(tts): add text-to-speech functionality
- Developed ElevenLabs integration for synthesizing speech with timestamps.
- Implemented caching mechanisms for audio and timestamp data.
- Added error handling for article retrieval and ElevenLabs API responses.
feat(views): implement article view tracking
- Added functionality to track and increment view counts for articles using Vercel KV.
- Created utility functions for formatting view counts for display.
feat(hierarchy): add documentation on designing hierarchy
- Created a new document outlining principles of design hierarchy, including spacing, contrast, scale, and weight.
- Provided guidelines for designing flows and attention diagnostics.
- Introduced a new TagFilter component for enhanced search capabilities.
- Integrated search-string library for parsing search queries.
- Added support for filtering by tags, authors, and date ranges.
- Implemented sorting options for search results.
- Enhanced user experience with suggestions and filter chips.
This update significantly improves the search functionality, allowing users to filter articles more effectively based on various criteria.
- Implement checks for KV configuration in view retrieval and increment functions.
- Adjust view count responses based on KV availability.
- Update styles to improve layout and remove unused color files.
- Add ViewTracker component to increment view count on page load.
- Integrate view count retrieval in the Header and HomeLayout components.
- Update styles for consistent letter-spacing across components.
- Remove views field from markdown content and source configuration.
- Add API routes for getting and incrementing view counts using Vercel KV.
- Introduced a new API endpoint for text-to-speech functionality.
- Added caching for synthesized audio to improve performance.
- Implemented error handling for article retrieval and TTS processing.
- Enhanced the audio reader component to utilize the new API.
- Updated icon components and layout styles for better UI presentation.
BREAKING CHANGE: The text-to-speech endpoint has changed from `/api/text-to-speech` to `/api/tts`.
- Added Avatar component with Root, Image, and Fallback subcomponents.
- Utilized color hashing for fallback background color based on initials.
- Styled components for consistent appearance.
feat(button): create button component with motion support
- Introduced Button component with size and variant props.
- Integrated motion for animated button interactions.
- Applied styling for different button states.
feat(category): develop category component with overflow handling
- Created Category component with Chip and Overflow subcomponents.
- Implemented color hashing for category dots.
- Added popover functionality for displaying overflow categories.
feat(icons): add various icon components
- Implemented Copy, Download, Github, and Link icons.
- Standardized icon properties for size and color.
feat(popover): build popover component for UI interactions
- Developed Popover component with customizable trigger and popup.
- Styled popover for better visibility and user experience.
fix(docs): enforce views property as required in docs schema
- Changed views property in docs schema from optional to required.
- Ensured consistency in data structure for documentation.
feat(get-page): implement utility functions for page data retrieval
- Added functions to retrieve author, coauthors, views, and published date from page data.
- Enhanced data handling for better integration with UI components.flop
- Introduced new icons: ExpandIcon, FastForward15sIcon, PictureInPictureIcon, and Rewind15sIcon.
- Each icon is implemented as a functional component with customizable size and color.
- Icons are designed to be used in various UI components.
feat(orb): implement interactive orb component with customizable features
- Added Orb component for rendering a dynamic visual representation.
- Supports color customization, volume control, and agent state management.
- Utilizes Three.js for rendering and includes shaders for visual effects.
feat(theme): define color variables for black and white themes
- Created CSS variables for black and white color themes.
- Variables include various alpha levels for better transparency control.
- Supports modern color-gamut features for enhanced color representation.
- Add a new API route for text-to-speech functionality that synthesizes speech from article content.
- Cache audio and timestamp data to improve performance and reduce redundant API calls.
- Handle errors gracefully and provide meaningful responses for missing articles or API failures.
feat(audio-reader): create audio reader component for narration playback
- Develop a client-side audio reader component that fetches narration data and synchronizes word highlighting during playback.
- Implement play/pause functionality with visual feedback for loading and error states.
- Ensure accessibility and responsiveness in the audio playback interface.
feat(rehype): add rehype plugin for word spans in markdown
- Introduce a rehype plugin that wraps words in spans for better interaction with the audio reader.
- Normalize words and manage word IDs for synchronization with audio timestamps.
style(audio-reader): enhance styles for audio reader component
- Improve the visual design of the audio reader component, including button styles and progress indicators.
- Ensure consistent spacing and alignment for a better user experience.
fix(normalize-word): refine word normalization logic
- Update the normalization function to handle various non-word characters more effectively.
- Introduced new author data files for Anton Stallbörger, Jace Attard, Raphael Salaja, and Russell Dare.
- Updated the author schema to include additional social media fields.
- Implemented a script to generate the authors index file automatically.
- Added utility functions for handling author data, including fetching and validating author information.
- Enhanced the author display components in the header to include avatars and initials.
BREAKING CHANGE: The author schema now requires a new structure for social media links.
- Added a ThemeProvider to manage light and dark themes.
- Updated styles to support theme-based color changes.
- Introduced new CSS variables for typography and colors.
- Removed outdated markdown content and improved code block styling.
- Enhanced configuration for rehypeCodeOptions to support new themes.
BREAKING CHANGE: Theming structure has changed, requiring updates to CSS and component usage.
- Introduced a new typography guide in MDX format, showcasing various typography elements and styles.
- Updated the server configuration to include the new typography documentation.
- Refactored CSS styles to consolidate theme colors and reset styles.
- Removed outdated color and typography CSS files, replacing them with a more modular structure.
- Enhanced the build configuration to support stricter React mode for better performance and debugging.
BREAKING CHANGE: Removed old theme color and typography files, requiring updates to any custom styles relying on them.
- Deleted unused SVG files to clean up the project.
- Updated TypeScript configuration for improved path mappings and included new files.
- Added new source files for dynamic and server-side rendering with Fumadocs.
- Introduced markdown content files for documentation and API reference.
- Implemented new styling and theming system with CSS variables for better design consistency.
BREAKING CHANGE: The structure of the source files has changed, requiring updates to imports in other parts of the application.