ByteMD 是一款基于 Svelte 构建的轻量级 Markdown 编辑器组件,支持 React、Vue 和 Angular 等多种前端框架。具备插件系统,可扩展代码高亮、数学公式和 Mermaid 流程图等功能,适用于内容创作和开发文档编写。
浏览次数
4
收藏次数
0
点赞次数
0
ByteMD
ByteMD 是一款基于 Svelte 构建的轻量级 Markdown 编辑器组件,支持 React、Vue 和 Angular 等多种前端框架。具备插件系统,可扩展代码高亮、数学公式和 Mermaid 流程图等功能,适用于内容创作和开发文档编写。
标签: ByteMD Markdown 编辑器 Svelte 组件 React Markdown Vue Markdown
介绍详情

ByteMD 介绍

什么是 ByteMD?

ByteMD 是一个基于 Svelte 构建的 Markdown 编辑器组件。它可以编译为标准的 JavaScript DOM 操作,不依赖任何 UI 框架的运行时包,因此非常轻量级,并且能够轻松适配 React、Vue 和 Angular 等其他前端框架。

主要特性

  • 轻量且框架无关:ByteMD 使用 Svelte 构建,编译后不依赖任何 UI 框架运行时,适用于多种前端环境。
  • 易于扩展:通过插件系统可以扩展基础 Markdown 语法,支持代码高亮、数学公式和 Mermaid 流程图等功能。
  • 默认安全:内置处理了跨站脚本(XSS)攻击,无需额外引入 DOM 清理步骤。
  • SSR 兼容:ByteMD 可以直接在服务器端渲染(SSR)环境中使用,无需额外配置。

安装与使用

ByteMD 提供多个版本的组件,适用于不同框架:

包名 描述
bytemd Svelte/Vanilla JS 组件
@bytemd/react React 组件
@bytemd/vue Vue 2 组件
@bytemd/vue-next Vue 3 组件

插件系统

ByteMD 的插件系统非常强大,以下是部分官方插件:

插件名称 功能描述
@bytemd/plugin-gfm 支持 GitHub Flavored Markdown
@bytemd/plugin-highlight 代码块语法高亮
@bytemd/plugin-math 支持数学公式
@bytemd/plugin-mermaid 支持 Mermaid 流程图

技术架构

ByteMD 使用 remark 和 rehype 生态系统处理 Markdown,完整处理流程包括:

  1. Markdown 文本解析为 AST
  2. 通过 remark 插件操作 Markdown AST
  3. 转换为 HTML AST
  4. 安全清理 HTML AST
  5. 通过 rehype 插件操作 HTML AST
  6. 将 HTML AST 转换为字符串
  7. 渲染后的额外 DOM 操作

应用场景

  • 博客内容编辑器
  • 技术文档编写工具
  • 在线 Markdown 编辑器
  • 需要富文本编辑功能的 Web 应用

开发者资源

ByteMD 采用 MIT 开源协议,欢迎开发者参与贡献和使用。