feat: support rich multi-paragraph notes with formatting (Closes #7) #11

Merged
shahondin1624 merged 1 commits from feature/issue-7-support-rich-multi-paragraph-notes into main 2026-03-17 09:41:32 +01:00

Summary

  • Adds {start_of_notes}/{end_of_notes} (short: {son}/{eon}) block directives to ChordProParser
  • Blank lines within the notes block separate paragraphs, multi-line text is joined into single paragraphs
  • PDF renderer now word-wraps note paragraphs with proper paragraph spacing
  • MeasurementEngine estimates wrapped line count for more accurate song height calculations
  • Five new parser tests covering multi-paragraph notes, single paragraph, short directives, combined note directives

Test plan

  • All existing tests pass
  • New test: parse notes block with multiple paragraphs
  • New test: parse notes block with single paragraph
  • New test: parse notes block with short directives son/eon
  • New test: notes block and single note directives combine
  • New test: parse notes block with three paragraphs

Closes #7

## Summary - Adds `{start_of_notes}`/`{end_of_notes}` (short: `{son}`/`{eon}`) block directives to ChordProParser - Blank lines within the notes block separate paragraphs, multi-line text is joined into single paragraphs - PDF renderer now word-wraps note paragraphs with proper paragraph spacing - MeasurementEngine estimates wrapped line count for more accurate song height calculations - Five new parser tests covering multi-paragraph notes, single paragraph, short directives, combined note directives ## Test plan - [x] All existing tests pass - [x] New test: parse notes block with multiple paragraphs - [x] New test: parse notes block with single paragraph - [x] New test: parse notes block with short directives son/eon - [x] New test: notes block and single note directives combine - [x] New test: parse notes block with three paragraphs Closes #7
shahondin1624 added 1 commit 2026-03-17 09:38:41 +01:00
Add {start_of_notes}/{end_of_notes} (and short forms {son}/{eon}) block
directives to ChordProParser for multi-paragraph note content. Blank lines
within the block separate paragraphs. The renderer now word-wraps note
paragraphs to fit within the content width. MeasurementEngine estimates
wrapped line count for more accurate height calculations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
shahondin1624 merged commit 8c92c7d78b into main 2026-03-17 09:41:32 +01:00
shahondin1624 deleted branch feature/issue-7-support-rich-multi-paragraph-notes 2026-03-17 09:41:32 +01:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: shahondin1624/songbook#11