feat: enhance embed block resizing, improve bookmark viewMode reactivity, and redesign tests panel UI
- Fixed bookmark block viewMode not updating on block changes by converting to setter/getter pattern with cached property
- Enhanced embed block with persistent resize handles using opacity transitions instead of DOM changes to prevent iframe flashing
- Improved YouTube URL handling to support watch, youtu.be, shorts, and embed formats with normalized embed URLs
- Added iframe permissions (
feat: add bookmark view modes (card/tile/cover) and enhance button block with visual config modal
- Added three view modes for bookmark blocks: card (default with side image), tile (compact horizontal), and cover (large top image)
- Implemented view mode submenu in block context menu with visual indicators for active mode
- Enhanced bookmark favicon handling with fallback logic and error state tracking
- Refactored button block with inline visual editor replacing text inputs
- Created Button
feat: add line numbers to code blocks with gutter styling
- Implemented line number display with absolute positioned gutter (40px width, right-aligned text)
- Added dynamic padding to pre element based on showLineNumbers state (3.5rem left padding when enabled)
- Moved hljs import to top-level for better performance and removed redundant dynamic imports
- Added ViewEncapsulation.None to enable global hljs theme styling
- Enhanced gutter styling with semi-transparent background, border, and pointer
feat: redesign code block header with professional action buttons and tabbed menu
- Replaced collapsible header with dedicated action buttons for line numbers, word wrap, and collapse/preview
- Added custom SVG icons for each action button with active/inactive states and hover effects
- Implemented tabbed menu interface with Language/Theme/Font/Options sections replacing vertical scrolling
- Added collapsed preview mode with syntax highlighting using cached highlightedHtml
- Introduced auto-detect language toggle
docs: restructure README with concise overview and improved organization
- Condensed README from 715 to 113 lines with streamlined feature descriptions
- Replaced verbose documentation with quick-start focused content
- Reorganized sections: removed detailed architecture, API endpoints, and Meilisearch implementation details
- Added version badges and simplified feature categories (Navigation, Markdown, Graph)
- Streamlined installation instructions with Docker-first approach and simplified local
feat: enhance Unsplash integration with pagination, random images, and portrait orientation
- Added pagination support to search endpoint with page parameter and orientation control (defaults to portrait)
- Implemented new /random endpoint for fetching random portrait images with configurable count
- Enhanced UnsplashPickerComponent with infinite scroll, loading states, and automatic random image loading on open
- Added debounced search input, scroll detection for pagination, and improved error
refactor: compact block context menu styling and improve visual density
- Reduced menu width from 240px to 220px and decreased padding throughout for more compact layout
- Scaled down button sizes (p-2 → p-1.5), gaps (gap-3 → gap-2.5), and font sizes (text-base → text-sm)
- Shrunk color picker swatches from 7x7 to 5x5 with thinner ring borders for cleaner appearance
- Tightened spacing in toolbars, submenus, and all menu sections while maintaining usability
- Added opacity property binding