Skip to content

Add "Preview mode" for markdown files in EditableFileModal - #266

Open
KiKaraage wants to merge 2 commits into
boldsoftware:mainfrom
KiKaraage:main
Open

Add "Preview mode" for markdown files in EditableFileModal#266
KiKaraage wants to merge 2 commits into
boldsoftware:mainfrom
KiKaraage:main

Conversation

@KiKaraage

Copy link
Copy Markdown

Implement #264.

Desktop preview:

image

Mobile preview:

image
  • Add "Preview mode" toggle (eye emoji as icon) beside Comment and Edit, only shown for .md/.markdown/.mdx files
  • Previewer uses MarkdownContent component with identical styling to chat interface, centered against the modal
  • The markdown contents is rendered once per entry from a buffer snapshot (no per-keystroke re-rendering); the Monaco editor stays mounted (undo/cursor preserved), read-only in preview
  • Apply simple Vim nav keybindings when Vim mode is enabled
    • j/k to scroll by line
    • gg/G for top/bottom scroll
    • Ctrl+d/u/f/b for page jumps
    • i/a/o for returning to edit mode
  • Preview mode can be toggled via Ctrl+Shift+K when EditableFileModal is opened
  • Local images dropped (same as chat rendering without a messageId); no server changes

Assisted-by: DeepSeek V4 Pro in Shelley

- Add "Preview mode" toggle (eye emoji as icon) beside Comment and Edit,
only shown for .md/.markdown/.mdx files
- Previewer uses MarkdownContent component with identical styling to
chat interface, centered against the modal
- The markdown contents is rendered once per entry from a buffer
snapshot (no per-keystroke re-rendering); the Monaco editor stays
mounted (undo/cursor preserved), read-only in preview
- Preview mode can be toggled via Ctrl+Shift+K when EditableFileModal is
opened
- Local images dropped (same as chat rendering without a messageId); no
server changes

Assisted-by: DeepSeek V4 Pro in Shelley
With Vim mode enabled, on the Markdown Preview mode, normal-mode keys
scroll the rendered panel:
- j/k to scroll by line
- gg/G for top/bottom scroll
- Ctrl+d/u/f/b for page jumps
- i/a/o for returning to edit mode

Keys are inert while focus is in an input, textarea, or contenteditable

Assisted-by: DeepSeek V4 Pro in Shelley
@cla-bot

cla-bot Bot commented Aug 20, 2026

Copy link
Copy Markdown

We require contributors to sign our Contributor License Agreement, and we don't have you on file. In order for us to review and merge your code, please contact @crawshaw at david@bold.dev to get yourself added.

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