跳到正文
CDGet
  • 首页
  • 项目
  1. 首页
  2. 全部项目
  3. Mawy

Mawy

库

把 Markdown 的编辑与阅读做进同一个库,同时以 React 库和 Flutter 包提供。可以对着排好版的文档写,也可以切到源码写,两者只隔一次点击;写完的文档交给只读的阅读器,呈现出来一模一样。

主页 (在新标签页中打开)文档 (在新标签页中打开)源代码 (在新标签页中打开)

关于这个项目

Mawy 把 Markdown 编辑器和阅读器做成了同一个库,并同时以 React 库和 Flutter 包提供。编辑器和另行维护的渲染器迟早会在某处不一致——一张表格、一层嵌套列表、一个代码块——那一刻,作者确认过的文档就不再是读者拿到的文档。这里两边共用同一个解析器和同一个渲染器,所以敲进去的就是读到的。

编辑器不是两个编辑器,而是同一份文档的两种视图。带语法着色的 Markdown 源码与排好版的文档只隔一次点击,格式工具栏上的每个命令同时也是一个快捷键,来回切换不会丢掉另一种视图表达不了的东西。着色层底下是一个真正的 textarea,所以浏览器自带的撤销记录、输入法的组字和移动端键盘都照常工作。阅读器本身就是一个完整的阅读界面:字体、字号、行高、字距、栏宽、明暗配色,以及一份标题大纲——没有一项会改动文档。如果不给它文档,它就是一个文件选择器,把 .md 文件拖上去就是它空状态的用处。

安装是一个包加一行 CSS。这个库画出来的一切都经过 --mawy-* 自定义属性,所以换主题是在外层元素上重新声明一个令牌,而不是靠更高的优先级去压过某条规则,深色模式也只是其中一个令牌。它不向外取任何东西:字体菜单给出的是读者机器上已经有的字体,随包附带的十三款自由许可字族只有在应用主动传入时才会用到。Markdown 变成的是元素而不是一串 HTML,所以文档和页面之间没有 innerHTML。React 包仅提供 ESM,附带 TypeScript 类型声明,运行时依赖只有工具栏图标用的那一个。

功能

  • 文档站点

  • TypeScript 类型

  • 多语言支持

  • 经测试验证

  • 跨平台支持

  • 内置无障碍支持

  • 深色模式

  • 支持摇树优化

项目信息

起始
2026
许可证
MIT (在新标签页中打开)
编程语言
JavaScriptDart
标签
markdownmarkdown-editormarkdown-viewerwysiwygtext-editor
软件包
mawy-react (在新标签页中打开)npmmawy (在新标签页中打开)pub.dev
热度
4
GitHub 星标
1,613
npm 下载量
数据点:30 个。范围:0 至 322。
Mawy — npm 下载量, 最近 30 天
npm 下载量
9月2日132
9月3日0
9月4日2
9月5日7
9月6日152
9月7日0
9月8日0
9月9日2
9月10日5
9月11日146
9月12日171
9月13日322
9月14日34
9月15日0
9月16日35
9月17日184
9月18日39
9月19日35
9月20日14
9月21日34
9月22日15
9月23日36
9月24日144
9月25日50
9月26日3
9月27日7
9月28日3
9月29日14
9月30日17
10月1日10
最近 30 天
联系我们赞助
这里列出的项目均以 MIT 许可证开源。© 2026 CDGet. 保留所有权利。