- Add progress tracking to show n/total events during publishing
- Display progress bar beneath editor controls in ZettelEditor
- Add VITE_MOCK_PUBLISH env variable for testing UI without publishing
- Mock mode simulates network delay (300-500ms) and generates fake event IDs
- Progress updates after each event publishes in both article and scattered notes modes
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Update comment action menu to match expected behavior:
- "View details" now opens modal showing full event JSON
- Modal includes "View on Event Page" button at top for navigation
- Simplified modal to only show JSON (removed individual field displays)
- Removed separate "View JSON" menu item (consolidated into View details)
Technical changes:
- Consolidated jsonModalOpen and detailsModalOpen into single state
- All action menus (root, replies, nested) now use consistent modal
- Button navigates to /events?id={nevent} for full event view
- Increased JSON preview max-height to 500px for better visibility
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Implement full-featured comment system for publications with support for article-level and section-level comments, complete action menus, and threaded reply functionality.
Key features:
- Article-level comments display next to publication header with responsive layout (desktop: right sidebar, mobile: below header)
- Three-dot action menu on all comment levels (root, replies, nested replies) with View details, View JSON, Copy nevent, and Delete options
- Reply functionality for all comment levels with NIP-22 compliant tagging
- View details navigates to event page (/events?id={nevent})
- View JSON opens modal displaying full event data
- Discussion button now available for blog-type publications
- Replace placeholder in Discussion sidebar with actual comment rendering
Technical implementation:
- Responsive comment layout matching section comment pattern
- State management for reply UI, deletion, and modals
- Proper NIP-22 threading with root/parent tag structure
- Integration with deletion service for comment removal
- Navigation to event details page
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Use white text (gray-100 #f3f4f6) in editor to match preview
- Set editor background to gray-800 (#1f2937) matching preview
- Lighten preview container from gray-900 to gray-800
- Add explicit text-gray-100 color to preview content
- Lighten tag backgrounds to 40% opacity for better contrast
- Add MutationObserver to detect dark mode changes and recreate editor
- Update cursor, selection, and gutter colors for dark mode
Both editor and preview now have consistent white-on-dark-gray styling
for improved readability in dark mode.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fixes:
- Wiki links now render correctly in preview (use placeholder approach to avoid Asciidoctor anchor syntax collision)
- Extract all tags (not just t-tags) for display
- Update colors to use theme leather tones (primary-700/800)
- Lighten bubble backgrounds for better readability
- Fix {@const} placement for Svelte 5 compliance
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Implements [[term]], [[w:term]], and [[d:term]] wiki link syntax:
- New wiki_links.ts utility for parsing and tag generation
- Extract wiki links from content and generate w/d tags
- CodeMirror syntax highlighting (violet/cyan/amber)
- Preview displays extracted wiki tags separately from hashtags
- Tutorial documentation for wiki link usage
Per WIKI_TAG_SPEC.md:
- [[term]] and [[w:term]] generate w-tags (references/mentions)
- [[d:term]] generates d-tags (definitions)
- Custom display text: [[term|display text]]
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Index event (30040) tags: blue
- Content event (30041) tags: green
- Improves visual distinction between event types
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fixed regex bug in attribute parsing (\s instead of \\s)
- Section-specific tags now extracted correctly from AsciiDoc attributes
- Added tag display for index events (30040) in preview
- Removed duplicate document header/tags rendering
- Tags now show for all 30040 and 30041 events at all parse levels
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Increase page container width from 1024px to 1536px for modern displays
- Adjust editor/preview split from 50/50 to 60/40 (editor larger)
- Add max-width constraints to content areas (900px editor, 896px preview)
- Center content within panels for optimal reading line length
- Remove duplicate "Document tags:" display in preview
The editor now has more breathing room while maintaining readable
line lengths. Content stays centered and constrained even with long
paragraphs, improving overall UX for writing and reviewing.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>