feat: add collapsible block type and enhance paragraph menu UX
- Added CollapsibleBlockComponent with registration in block host and columns
- Enhanced paragraph block with inline "+" button for column layouts and improved menu positioning
- Updated toggle block to support creating new toggle blocks below with dedicated event handlers
- Improved menu styling with fixed positioning, keyboard navigation (arrows, Enter, Escape), and focus management
- Simplified inline action handling by deleg
- Replaced generic alignment buttons with custom image-specific icons (left/center/right/full width)
- Added "Default size" button to reset image dimensions and aspect ratio
- Implemented modal dialogs for image info and caption editing to replace browser prompts
- Enhanced lateral drop detection to create 2-column layouts when dragging blocks side-by-side
- Integrated Unsplash API for image search functionality with environment configuration
- Added new Nimbus Editor page component with navigation from sidebar and mobile drawer
- Enhanced TOC with highlight animation for editor heading navigation
- Improved CDK overlay z-index hierarchy for proper menu layering
- Removed obsolete logging validation script
- Integrated BookmarksService to display and filter bookmarked notes in quick links and paginated list
- Added bookmark toggle button in note viewer with visual feedback (filled/outline icon states)
- Implemented accordion behavior in mobile sidebar where opening one section closes others
- Updated responsive breakpoints to treat tablet as mobile (desktop layout starts at 1024px)
- Added scroll position preservation when resetting note list (e.g. during searches)
- Implemented willReset signal in PaginationService to notify views before data resets
- Created preserveOnReset effect to capture scroll offset before list changes
- Added restoreAfterReset effect to restore scroll position after data reloads
- Updated loadInitial and invalidateCache methods to trigger willReset notifications
- Added support for non-markdown files (images, PDFs, code, etc) in vault metadata endpoints
- Implemented filesystem scanning for non-markdown files with configurable extension whitelist
- Added deduplication by file path to prevent duplicates between Meilisearch and filesystem
- Enhanced folder filtering and kind filtering to properly handle non-markdown files
- Added validation to remove stale entries not present on disk
- Improved logging to track
- Added settings UI to enable/disable .bak file creation when saving files
- Created settings storage in .obsidian/obsiviewer.json to persist backup preferences
- Added API endpoints to read/write backup settings (/api/settings)
- Implemented automatic cleanup of existing .bak files when disabling backups
- Modified file save operations to respect backup setting across notes, bookmarks and graph files
- Removed existing .bak files from version control
- Redesigned editor toolbar with improved layout and accessibility attributes
- Added automatic save after 7 seconds of inactivity for better data protection
- Replaced emoji icons with SVG icons for consistent styling and accessibility
- Added success toasts for PNG/SVG exports with destination path
- Updated button styles and layout for better visual hierarchy
- Added aria-labels and improved keyboard navigation support
- Made action buttons optionally hideable via
- Added new test excalidraw page component and route with deep linking via ?tests=excalidraw
- Enhanced drawings editor to preserve frontmatter and normalize metadata when saving .excalidraw.md files
- Improved excalidraw file handling with better error handling and sanitization
- Updated sidebar and navigation to include test excalidraw option
- Fixed collaborators map serialization issue in excalidraw scene data
- Updated workspace state to open new Excalidraw drawing instead of empty tab
- Removed test-drawing.excalidraw.md file that's no longer needed
- Added Excalidraw plugin to command palette shortcuts
- Updated lastOpenFiles list to include new drawing files