finds.dev← search

// the find

Vanessa219/vditor

★ 11,130 · TypeScript · MIT · updated Jul 2026

♏ 一款浏览器端的 Markdown 编辑器,支持所见即所得(富文本)、即时渲染(类似 Typora)和分屏预览模式。An In-browser Markdown editor, support WYSIWYG (Rich Text), Instant Rendering (Typora-like) and Split View modes.

Vditor is a browser-based Markdown editor with three editing modes: WYSIWYG, instant rendering (Typora-style where syntax hides after you leave the line), and traditional split-pane preview. It's built in TypeScript and ships as an npm package that works with vanilla JS or any framework. The target audience is developers building content platforms, forums, or blogging tools who need an embeddable editor rather than a standalone app.

The three-mode approach is genuinely useful — you can let non-technical users stay in WYSIWYG while power users use instant rendering, and you configure which mode to expose. The feature set is unusually wide for an embeddable editor: math via KaTeX or MathJax, Mermaid diagrams, music notation via abcjs, ECharts, PlantUML, and Graphviz are all included. The upload API is well-designed — it handles drag-drop, clipboard paste, cross-origin uploads, and lets you intercept at multiple points (validate, transform, format) without having to rewrite the core behavior. Built-in XSS sanitization is on by default, which is the right call for any editor that accepts user input.

The bundle is large by default and relies on a CDN (unpkg) for lazy-loading heavy dependencies like Mermaid and ECharts — if that CDN is unavailable or you have strict CSP requirements, you need to self-host and manually thread the cdn option through every static method call, which is tedious. The project is primarily maintained by the same team behind SiYuan Note, and the documentation and issue tracker skew heavily Chinese; the English README is a translation and the community forum is in Chinese, so debugging edge cases is harder if you don't read it. The instant-rendering mode has known cursor and selection quirks that have been open issues for years — editing complex nested structures (tables inside blockquotes, for instance) can produce unexpected jumps. Changelog entries frequently say 'fix' without explaining what was broken, making it hard to judge whether upgrading is safe.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →