66 Commits

Author SHA1 Message Date
Raphael S. 0e3a6a268e chore: reorganize imports in index.tsx and add constants file 2025-12-13 15:54:26 +00:00
Raphael S. b61d3338f4 chore: huge cleanup 2025-12-13 15:53:33 +00:00
Raphael S. b7bd1e1fa7 feat(authors): add author data and schema validation
- 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.
2025-12-13 14:41:31 +00:00
Raphael S. 33e4534def chore(search): remove unused search files and components 2025-12-12 10:28:21 +00:00
Raphael S. 682a28008e feat(search): implement advanced tag filtering and search functionality
- 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.
2025-12-11 21:20:55 +00:00
Raphael S. 343f0c6578 feat(home): refactor HomeLayout and implement PageCard component
- Simplified HomeLayout by removing unnecessary code and integrating PageCard for rendering individual pages.
- Updated styles for improved layout and search functionality.
- Enhanced SearchIcon usage for better search experience.
2025-12-10 23:08:59 +00:00
Raphael S. 5a3fad55b7 feat(views): update view handling with KV configuration check
- 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.
2025-12-10 22:34:17 +00:00
Raphael S. 6ed3840de4 feat(views): implement view tracking and display functionality
- 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.
2025-12-10 13:15:14 +00:00
Raphael S. 9c21c7a4ea feat(tts): implement text-to-speech API and caching mechanism
- 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`.
2025-12-10 09:17:47 +00:00
Raphael S. ab44fb1d58 feat(avatar): implement avatar component with fallback and styling
- 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
2025-12-07 13:03:02 +00:00
Raphael S. 488fef1846 feat(icons): add new SVG icons for expand, fast forward, picture-in-picture, and rewind
- 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.
2025-12-03 10:31:20 +00:00
Raphael S. 8e50ef4604 feat(tts): implement text-to-speech API for article narration
- 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.
2025-11-30 03:31:37 +00:00
Raphael S. b714f913be feat(authors): add new authors and update author schema
- 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.
2025-11-30 00:02:40 +00:00
Raphael S. 702a679e25 feat(theme): implement theming support with next-themes
- 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.
2025-11-27 20:42:32 +00:00
Raphael S. 733b06f3ba feat(docs): add typography styles
- 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.
2025-11-27 19:32:29 +00:00
Raphael S. b3efbe67d2 feat: remove unused SVG assets and update TypeScript configuration
- 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.
2025-11-25 23:35:41 +00:00