作为一个严肃的开发者,使用网页Markdown编辑器写文档是日常工作。相比各种强大的代码编辑器,时常感到各种网页Markdown编辑器弱爆了:
- 没有行号
- 不能搜索 / 替换
- 不支持Frontmatter
- ...
最近在开发一个内容管理器,需要一个Markdown编辑器。既然有机会自己干一个,为何不干一个自己比较满意的呢?
经过一番考察,决定使用CodeMirror这款网页代码编辑神器作为底层编辑器,采用React封装,实现我希望的专业级Markdown编辑器功能:
- Frontmatters, 支持YAML / TOML /JSON
- 键盘布局, Vim / Sublime / Emacs, 和默认
- 行编号
- 块折叠
- 预览 / 全屏 / 编辑和实时预览
- 搜索与替换
- 国际化,已内置zh-CN。 开发者可以针对不同语言提供菜单提示/ 搜索/替换的对应语言。
- 工具栏/菜单: 提供默认的菜单,支持常见的Markdown格式
- 可扩展 - 对开发者开放CodeMirror,允许提供自己的菜单,自己的预览组件和底层CodeMirror事件处理器。
经过两个星期的开发,这款编辑器已经推上了Github,发布到了NPM。
如果喜欢,在Github给我们加点星星吧,也算支持中国开源开发者。
ProMarkdown使用TypeScript开发,广泛使用了React 16.8.3最新的Hooks函数。顺便夸下Hooks,确实会大大简化React状态管理。
不一定需要TypeScript才能使用ProMarkdown,您只需要将它作为普通npm包使用就行了。
几张演示图:
- 默认

- 裸编辑器




欢迎使用ProMarkdown。