Complete the AST-based parsing migration by removing all deprecated manual
parsing functions. The codebase now exclusively uses Asciidoctor's AST
for document processing.
- Remove parseAsciiDocWithMetadata, parseAsciiDocIterative, generateNostrEvents
- Delete 484 lines of legacy parsing code from asciidoc_metadata.ts
- Clean up imports and formatting across affected files
- Fix import paths to use consistent module resolution
- Remove unused UI imports from compose page
This completes the transition to AST-based PublicationTree architecture.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Replace manual regex parsing with proper Asciidoctor AST traversal for more
accurate and scalable document processing. Add dynamic parse level system
that correctly maps AsciiDoc hierarchy to Nostr events.
Key changes:
- New asciidoc_ast_parser.ts using Asciidoctor's native document structure
- PublicationTree factory for seamless integration with existing architecture
- Fixed level mapping: Asciidoctor levels 1-5 → app levels 2-6
- Dynamic parse level generation (2-6) with proper event count progression
- Responsive editor height using viewport units for adaptive screen sizing
- Enhanced preview with hierarchical visualization and event boundaries
Event count progression now works correctly:
- Level 2: 3 events → Level 6: 20+ events
- Full reactivity when changing parse levels
- Proper content type detection (Article vs Notes vs None)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Use SvelteKit context instead of stores to share NDK instance (see https://svelte.dev/docs/svelte/context)
- Clean up some dead code
- Move some standalone CSS into `app.css`
- Svelte components and snippets that support embedded event rendering are moved to `src/lib/components/embedded_events` dir.
- Some now-unused components are removed entirely.
- Imports are updated.
- Eliminate a component that is no longer needed.
- Reduce duplicate code.
- Tidy up code along the way.
- Ran `deno fmt` to auto-format code (hence the large diff).