Skip to content

StefanBartl/mdview.nvim

Repository files navigation

🔧 Alpha stage – this project is highly experimental and under active development. Don't expect this plugin is working with your system yet.

   ##     ## ########  ##     ## #### ######## ##      ##           ##    ## ##     ## #### ##     ##
   ###   ### ##     ## ##     ##  ##  ##       ##  ##  ##           ###   ## ##     ##  ##  ###   ###
   #### #### ##     ## ##     ##  ##  ##       ##  ##  ##           ####  ## ##     ##  ##  #### ####
   ## ### ## ##     ## ##     ##  ##  ######   ##  ##  ##           ## ## ## ##     ##  ##  ## ### ##
   ##     ## ##     ##  ##   ##   ##  ##       ##  ##  ##           ##  ####  ##   ##   ##  ##     ##
   ##     ## ##     ##   ## ##    ##  ##       ##  ##  ##    ###    ##   ###   ## ##    ##  ##     ##
   ##     ## ########     ###    #### ########  ###  ###     ###    ##    ##    ###    #### ##     ##

version status Neovim Lazy.nvim Lua TypeScript Server WASM License Platform Performance Build Contributions


Overview

mdview.nvim is a browser-based Markdown preview plugin for Neovim. It provides a fast, real-time rendering pipeline powered by Node.js or Bun (future option), and uses WebSocket communication to synchronize Markdown buffers with a live browser view.

  • WebSocket - WASM - NodeJS - Bun - WebTransport ready

Key features:

  • Live browser preview for Markdown documents
  • Automatic update on file changes or buffer switch
  • Internal & external link resolution within project directories
  • WASM-based rendering and syntax highlighting (planned)
  • Lightweight TypeScript client with incremental DOM updates
  • Written in Lua + TypeScript for portability and performance

Development

To develop or contribute:

  1. Clone the repository:
git clone https://github.com/StefanBartl/mdview.nvim
cd mdview.nvim
  1. Load manually or via your preferred plugin manager.

  2. Start the development server (default: Node.js runtime):

npm install
npm run dev
  1. For Bun users (optional, experimental):
bun install
bun run dev
  1. Make changes, test, and submit pull requests or open issues.

Contributions are welcome – whether it’s a bugfix, optimization, or new feature idea.


Architecture

Component Technology Description
Core Lua Handles Neovim buffer events, state management, IPC
Server Node.js (default) / Bun (future) Local WebSocket + HTTP bridge for Markdown rendering
Client TypeScript / WASM Browser frontend with live DOM updates
Communication WebSocket Real-time bidirectional updates
Rendering Markdown-It / markdown-wasm Fast Markdown → HTML transformation

License

MIT License


Disclaimer

ℹ️ mdview.nvim is under active development – expect rapid iteration, experimental features, and evolving APIs.


Feedback

Your feedback is very welcome!

Use the GitHub Issue Tracker to:

  • Report bugs
  • Suggest new features
  • Ask usage questions
  • Share thoughts on UI or workflow

For open discussion, visit the GitHub Discussions.

If you find this plugin useful, please give it a ⭐ on GitHub to support its development.


About

Browser-based Markdown preview plugin for Neovim. Provides fast, real-time rendering pipeline to synchronize Markdown buffers with a live browser view and localwide anchor/link jump. (WebSocket, WASM, NodeJS/Bun)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors