Skip to content

fix: improve markdown rendering and bullet alignment#530

Merged
backnotprop merged 6 commits intomainfrom
feat/render-bullets-better
Apr 9, 2026
Merged

fix: improve markdown rendering and bullet alignment#530
backnotprop merged 6 commits intomainfrom
feat/render-bullets-better

Conversation

@backnotprop
Copy link
Copy Markdown
Owner

Summary

  • Pin bullet markers to top of multi-line list items (items-start on flex container)
  • Use consistent bullet glyph (•) across all nesting levels
  • Add strikethrough support (~~text~~<del>)
  • Fix ***bold italic*** by checking triple-asterisk before double
  • Add backslash escaping (\*, \_, \`, \[, \~, etc.)
  • Add autolink support (<https://url> and <email@domain.com>)
  • Nudge checkbox icons down 3px to align with text baseline
  • Add test fixture covering all bullet/list types and inline gap cases

Test plan

  • Open tests/test-fixtures/10-inline-gaps-and-bullets.md via plannotator annotate
  • Verify multi-line bullet items have marker pinned to first line
  • Verify consistent bullet glyph at all nesting levels
  • Verify strikethrough renders correctly
  • Verify ***bold italic*** renders as bold italic
  • Verify backslash-escaped chars render as literals with no backslash shown
  • Verify autolinks render as clickable links
  • Verify checkbox alignment with text

- Add `items-start` to list item flex container so markers align to the
  first line instead of centering vertically across the full item height
- Use consistent bullet glyph (•) across all nesting levels
- Add test fixture 10 covering all bullet/list types and inline gap cases

For provenance purposes, this commit was AI assisted.
- Add strikethrough support (~~text~~)
- Fix ***bold italic*** by checking triple-asterisk before double
- Nudge checkbox icons down 3px to align with text baseline

For provenance purposes, this commit was AI assisted.
- Add \* \_ \` \[ \~ \\ escape sequences — consume backslash and emit literal character
- Add \ to nextSpecial scanner so the escape handler fires correctly mid-text

For provenance purposes, this commit was AI assisted.
- Handle <https://url> as clickable external links
- Handle <email@domain.com> as mailto links
- Add < to nextSpecial scanner so autolinks are detected mid-text

For provenance purposes, this commit was AI assisted.
Not a supported feature — matches Obsidian behavior.

For provenance purposes, this commit was AI assisted.
In row layout, check hasPreviousVersion && planDiffStats (what
PlanDiffBadge actually needs) instead of onPlanDiffToggle (always
truthy). Prevents an empty wrapper div that created phantom width
via gap-x-3 in the sticky bar.

For provenance purposes, this commit was AI assisted.
@backnotprop backnotprop merged commit 062106f into main Apr 9, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant