Skip to content

Releases: selimacerbas/markdown-preview.nvim

v1.7.0

19 Apr 21:36

Choose a tag to compare

  • Feature: browser config option to override the system default browser (#11)
    • browser = nil (default): system default
    • browser = "Firefox": browser by app/binary name (macOS uses open -a)
    • browser = { "google-chrome", "--incognito" }: full command with args

v1.6.0

19 Apr 21:25

Choose a tag to compare

  • Fix: overlay zoom-in no longer cuts off content. The fullscreen mermaid viewer now properly scrolls when zoomed beyond the viewport (#11)
  • Feature: bottom_padding config option (0–1 fraction) controls how far the last line can scroll. Default 0.5 means the final line scrolls to the viewport midpoint (#12)
  • Feature: WSL support — the preview now opens via explorer.exe on Windows Subsystem for Linux (#14)

v1.5.3

24 Mar 14:58

Choose a tag to compare

  • Strip YAML front matter from preview — metadata blocks no longer render as headings/text

v1.5.2

21 Mar 00:16

Choose a tag to compare

  • Add task list checkbox rendering (- [ ] / - [x]) via markdown-it-task-lists

v1.5.1

13 Mar 08:41

Choose a tag to compare

  • Remove heading anchor permalink symbols (#) from preview for cleaner readability

v1.5.0

13 Mar 01:38

Choose a tag to compare

  • Add takeover instance mode (default): single browser tab shared across Neovim instances via lock file coordination
  • Add multi instance mode: independent server and browser tab per instance (port 0)
  • Add lock file and remote event modules for cross-instance coordination
  • Secondary instances get scroll sync via HTTP event injection

v1.4.0

21 Feb 13:32

Choose a tag to compare

What's new

LaTeX math rendering

Added support for LaTeX math via KaTeX and markdown-it-texmath.

  • Inline math: $E = mc^2$
  • Display math: $$\int_0^\infty e^{-x^2} dx$$
  • LaTeX environments: \begin{equation}...\end{equation}

All loaded from CDN, zero extra dependencies. Just update and it works.

Closes #6

v1.3.0

15 Feb 20:04

Choose a tag to compare

What's new

Line-based scroll sync

Rewrote scroll sync from heading-based to line-based interpolation, inspired by peek.nvim and iamcco/markdown-preview.nvim.

Before: Only headings were tracked (5-15 anchor points), scrolling up was inconsistent, files without headings had no sync at all.

After: Every block element (paragraphs, headings, lists, tables, blockquotes, code blocks) is tagged with its source line number. The browser interpolates between the nearest elements for sub-element precision. Scrolling is instant (no animation fighting) and works in both directions consistently.

Fixes:

  • Scrolling up no longer fights with itself
  • Files with no headings now scroll correctly
  • Layout shifts (images loading) re-apply scroll position automatically

v1.2.1

15 Feb 12:33

Choose a tag to compare

Fixed

  • Scroll sync heading detection was broken due to Lua pattern {n,m} quantifier not being supported (treated as literal text). Headings are now correctly matched.
  • Removed debug logging left from development.
  • Updated README with scroll sync documentation and fixed stale keymap references in troubleshooting.

v1.2.0

15 Feb 12:08

Choose a tag to compare

New

Heading-based scroll sync

As you move your cursor between sections in Neovim, the browser preview smoothly scrolls to the corresponding heading. No configuration needed — enabled by default.

  • Tracks the nearest heading above the cursor via CursorMoved autocmd
  • Sends a lightweight SSE event only when the heading changes (no unnecessary traffic)
  • Browser uses scrollIntoView({ behavior: 'smooth' }) for a polished experience
  • Disable with scroll_sync = false in setup if not wanted

Requires live-server.nvim v1.1.0+ (for send_event API).

Closes #5