npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

markstream-vue

v0.0.3-beta.1

Published

Vue 3 Markdown renderer optimized for large docs: progressive Mermaid, streaming diff code blocks, and fast real-time preview.

Readme

markstream-vue

针对 Vue 3 的高性能、流式友好型 Markdown 渲染组件 — 支持渐进式 Mermaid、流式 diff 代码块以及为大文档优化的实时预览。

NPM version Docs NPM downloads Bundle size License

📖 所有详细文档、API、示例和高级用法已迁移至 VitePress 中文文档站点: https://markstream-vue-docs.simonhe.me/zh/guide/

🚀 实时演示

  • Playground(交互演示): https://markstream-vue.simonhe.me/
  • 交互测试页面: https://markstream-vue.simonhe.me/test

交互测试页面

  • 试用交互式测试页面以便快速验证与调试: https://markstream-vue.simonhe.me/test

    此页面提供左侧编辑器与右侧实时预览(由本库驱动)。页面包含“生成并复制分享链接”功能,会将你的输入编码到 URL 中以便分享;当输入过长无法嵌入 URL 时,会提供直接打开或预填 GitHub Issue 的回退流程。

    你可以使用该页面复现渲染问题,验证数学公式 / Mermaid / 代码块的渲染行为,并快速生成可共享链接或带复现信息的 issue。

介绍视频

一段短视频介绍了 markstream-vue 的关键特性与使用方式。

在 Bilibili 查看介绍

在 Bilibili 上观看: Open in Bilibili

⚡ 快速上手

pnpm add markstream-vue
# npm install markstream-vue
# yarn add markstream-vue
import MarkdownRender from 'markstream-vue'
// main.ts
import { createApp } from 'vue'
import 'markstream-vue/index.css'

createApp({
  components: { MarkdownRender },
  template: '<MarkdownRender custom-id="docs" :content="doc" />',
  setup() {
    const doc = '# Hello markstream-vue\\n\\n支持 **流式** 节点。'
    return { doc }
  },
}).mount('#app')

确保在 CSS reset(如 @tailwind base@unocss/reset)之后导入 markstream-vue/index.css,最好放在 @layer components 中以避免 Tailwind/UnoCSS 覆盖组件样式。根据需求再按需安装可选 peer 依赖:stream-monaco(Monaco 代码块)、shiki(Shiki 高亮)、mermaid(Mermaid 图表)、katex(数学公式)。

⚙️ 性能模式

  • 默认虚拟化窗口:保持 max-live-nodes 默认值(320),渲染器会立即渲染当前窗口的节点,同时只保留有限数量的 DOM 节点,实现平滑滚动与可控内存,占位骨架极少。
  • 增量流式模式:当需要更明显的“打字机”体验时,将 :max-live-nodes="0"。这会关闭虚拟化并启用 batchRendering 系列参数控制的增量渲染,新的节点会以小批次加上占位骨架的形式进入视图。

可根据页面类型选择最合适的模式:虚拟化适合长文档/回溯需求,增量流式适合聊天或 AI 输出面板。

快速链接

  • ⚡ 极致性能:为流式场景设计的最小化重渲染和高效 DOM 更新
  • 🌊 流式优先:原生支持不完整或频繁更新的 token 化 Markdown 内容
  • 🧠 Monaco 流式更新:高性能的 Monaco 集成,支持大代码块的平滑增量更新
  • 🪄 渐进式 Mermaid:图表在语法可用时即时渲染,并在后续更新中完善
  • 🧩 自定义组件:允许在 Markdown 内容中嵌入自定义 Vue 组件
  • 📝 完整 Markdown 支持:表格、公式、Emoji、复选框、代码块等
  • 🔄 实时更新:支持增量内容而不破坏格式
  • 📦 TypeScript 优先:提供完善的类型定义与智能提示
  • 🔌 零配置:开箱即可在 Vue 3 项目中使用
  • 🎨 灵活的代码块渲染:可选 Monaco 编辑器 (CodeBlockNode) 或轻量的 Shiki 高亮 (MarkdownCodeBlockNode)
  • 🧰 解析工具集:stream-markdown-parser 文档现已覆盖如何在 Worker/SSE 流中复用解析器、直接向 <MarkdownRender :nodes> 输送 AST、以及注册全局插件/数学辅助函数的方式。

故障排查 & 常见问题

详细故障排查与常见问题已迁移至文档站点: https://markstream-vue-docs.simonhe.me/zh/guide/troubleshooting

如需更多帮助,请到 GitHub Issues 创建问题: https://github.com/Simon-He95/markstream-vue/issues

鸣谢

本项目使用并受益于:

感谢这些项目的作者与贡献者!

Star 历史

Star History Chart

许可

MIT © Simon He