markstream-vue
Version:
Vue 3 Markdown renderer optimized for large docs: progressive Mermaid, streaming diff code blocks, and fast real-time preview.
74 lines (49 loc) • 3.85 kB
Markdown
# markstream-vue
> Fast, streaming-friendly Markdown rendering for Vue 3 — progressive Mermaid, streaming diff code blocks, and real-time previews optimized for large documents.
[](https://www.npmjs.com/package/markstream-vue)
[](README.zh-CN.md)
[](https://markstream-vue-docs.simonhe.me/)
[](https://www.npmjs.com/package/markstream-vue)
[](https://bundlephobia.com/package/markstream-vue)
[](./LICENSE)
> 📖 All detailed documentation, API, examples, and advanced usage have been migrated to the VitePress documentation site:
> https://markstream-vue-docs.simonhe.me/guide/
## 🚀 Playground & Demo
- Playground (interactive demo): https://markstream-vue.simonhe.me/
- Interactive test page: https://markstream-vue.simonhe.me/test
Try the interactive test page to quickly verify and debug:
https://markstream-vue.simonhe.me/test
This page provides a left editor and right live preview (powered by this library). It includes "generate & copy share link" functionality, encoding your input into the URL for sharing. If the input is too long, fallback options are provided to open directly or pre-fill a GitHub Issue.
You can use this page to reproduce rendering issues, verify math/Mermaid/code block behavior, and quickly generate shareable links or reproducible issues.
## 📺 Introduction Video
A short video introduces the key features and usage of markstream-vue:
[](https://www.bilibili.com/video/BV17Z4qzpE9c/)
Watch on Bilibili: [Open in Bilibili](https://www.bilibili.com/video/BV17Z4qzpE9c/)
## Features
- ⚡ Extreme performance: minimal re-rendering and efficient DOM updates for streaming scenarios
- 🌊 Streaming-first: native support for incomplete or frequently updated tokenized Markdown
- 🧠 Monaco streaming updates: high-performance Monaco integration for smooth incremental updates of large code blocks
- 🪄 Progressive Mermaid: charts render instantly when syntax is available, and improve with later updates
- 🧩 Custom components: embed custom Vue components in Markdown content
- 📝 Full Markdown support: tables, formulas, emoji, checkboxes, code blocks, etc.
- 🔄 Real-time updates: supports incremental content without breaking formatting
- 📦 TypeScript-first: complete type definitions and IntelliSense
- 🔌 Zero config: works out of the box in Vue 3 projects
- 🎨 Flexible code block rendering: choose Monaco editor (`CodeBlockNode`) or lightweight Shiki highlighting (`MarkdownCodeBlockNode`)
## Troubleshooting & Common Issues
Troubleshooting has moved into the docs:
https://markstream-vue-docs.simonhe.me/guide/troubleshooting
If you can't find a solution there, open a GitHub issue:
https://github.com/Simon-He95/markstream-vue/issues
## Thanks
This project uses and benefits from:
- [stream-monaco](https://github.com/Simon-He95/stream-monaco)
- [stream-markdown](https://github.com/Simon-He95/stream-markdown)
- [mermaid](https://mermaid-js.github.io/mermaid)
- [shiki](https://github.com/shikijs/shiki)
- [markdown-it-ts](https://github.com/Simon-He95/markdown-it-ts)
Thanks to the authors and contributors of these projects!
## Star History
[](https://www.star-history.com/#Simon-He95/markstream-vue&Date)
## License
[MIT](./LICENSE) © [Simon He](https://github.com/Simon-He95)