- 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>
Fixes multiple issues with AsciiDoc hierarchical parsing and preview rendering:
**Content Extraction:**
- Fixed content extraction to include child headers at all parse levels
- Level 3 parsing now properly includes ==== sub headers in === parent content
- Unified content extraction logic stops only at sibling/parent headers
**Event Generation:**
- Fixed collectSectionsAtLevel to include Level 2-N sections for proper hierarchy
- Level 3 parsing creates index events for == sections, content events for === sections
- Maintains NKBIP-01 compliance: parent sections get both index+content events
**Preview Rendering:**
- Fixed heading removal to target specific section titles, not first header found
- === subheader now renders correctly as h3 in preview
- Nested content properly displays in parent sections
**Example Structure (Level 3 parsing):**
```
= title
== test 1 → Index Event (30040) + Content Event (30041)
text
=== subheader → Content Event (30041)
content + nested
==== sub subheader
nested content
== note 2 → Index Event (30040) + Content Event (30041)
text
```
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>