- Added functionality to cache TTS audio at the paragraph level, allowing
for regeneration of only changed paragraphs.
- Updated cache key structure to accommodate paragraph-specific caching.
- Enhanced document analysis to track cache status for individual paragraphs.
- Added detailed usage instructions for the TTS generation script.
- Implemented document analysis to gather character counts and cache status.
- Introduced cost estimation for TTS generation based on character count.
- Improved handling of document slugs for both directory-based and flat .mdx files.
- Refactor article components to enhance readability and maintainability.
- Introduce new layout for article header and content with improved styling.
- Update imports and remove unused files for better code clarity.
- Add new NotFound component for handling 404 errors with user-friendly messaging.
- Introduced a new Controls component to standardize button layouts.
- Updated button demos to utilize the new Controls component for better structure.
- Refactored existing button styles and removed unused code.
- Introduced a new documentation page covering various pseudo-elements, including `::backdrop`, `::view-transition`, and `::scroll-marker`.
- Added examples and practical patterns for using these pseudo-elements effectively.
- Created a new CSS module for styling demo components related to pseudo-elements.
Also added TypeScript interface for icon properties to improve type safety in icon components.
- Removed voice parameter from TTS API calls to streamline the process.
- Consolidated voice handling to a single environment variable for cost efficiency.
- Updated related components and types to reflect the removal of voice selection.
- Implement a progress bar that simulates a download process.
- Includes start and reset functionality with visual feedback.
- Styles are defined in a separate CSS module for better organization.
feat(sidebar-demo): create a sidebar demo with animations
- Introduce a sidebar that can be toggled open and closed.
- Uses motion for smooth transitions and animations.
- Menu items are displayed with icons and labels.
feat(swipe-to-dismiss): implement swipe-to-dismiss notifications
- Create a notification system where users can swipe to dismiss.
- Notifications include icons and text, with animations on drag.
- Supports resetting notifications to the initial state.
feat(tab-switcher): add a tab switcher component
- Implement a tab switcher with smooth transitions between tabs.
- Each tab displays an icon and label, with an animated indicator.
- Uses motion for enhanced user experience.
feat(toast-demo): create a toast notification demo
- Implement toast notifications that appear on user action.
- Toasts include icons, titles, and can be dismissed.
- Styles are defined in a separate CSS module for clarity.
feat(tts): add edge TTS functionality for speech synthesis
- Implement speech synthesis using edge TTS with chunking support.
- Handles text splitting, audio generation, and subtitle parsing.
- Includes error handling and retry logic for robustness.
- Consolidate word highlighting functionality into a new module.
- Remove deprecated methods and streamline the highlight process.
- Update references in the Root component to utilize new highlight methods.
Introduce a new interface, IconProps, to standardize the properties
for SVG icon components. This interface includes optional size and
color properties, enhancing the flexibility and usability of icon
components across the application.
- Introduced an `icon` field in document metadata to categorize content.
- Updated `PageCard` component to render icons based on the new metadata.
- Added new icon components for `EssayPreview` and `MotionPreview`.
- Refactored existing components to utilize the new icon system.
fix(rehype-word-spans): simplify property access for dataFootnotes
fix(gradient): use template literal for hex color generation
build: modify build script to include TTS generation
chore: add dotenv and picocolors dependencies
chore: add tsx as a dev dependency
feat: implement TTS audio generation script
- Replace DiaBrowser with a new Browser component for better structure.
- Update styles for the new component to enhance visual consistency.
- Refactor rehypeWordSpans to use a constant for counter.
- Clean up commented properties in rehypeWordSpans for clarity.
- Introduced new icons including NoteIcon and OpenAIIcon for enhanced visual representation.
- Added icons for the Squash and Stretch principles: ArrowIcon, CrownIcon, FireIcon, and ToastIcon.
- Implemented anticipation icons: HighPriority, InProgress, Done, Todo, Check, Bolt, and Avatar.
- Created corresponding styles and components for the new icons to ensure consistent design and functionality.
- Removed multiple CSS files and merged styles into a single index.css for better maintainability.
- Updated styles for headings, lists, tables, and code blocks to use CSS variables for consistency.
- Improved readability and organization of styles by utilizing the `:where` pseudo-class.
- Removed deprecated styles and ensured all typography and code styles are defined in one place.
BREAKING CHANGE: The structure of CSS files has changed, affecting how styles are imported and applied.