我做了个原生的 Markdown 编辑器 WeMark,几 MB,秒开

发布于

## 起因

我平时笔记和文档都写 Markdown,试过不少编辑器,最后总卡在同一个矛盾上:所见即所得写起来最舒服的那几个,大多是 Web 技术套壳,装完几百 MB,点开还得等一下;而足够轻快的,又大多是「左边纯文本、右边预览」,写着写着眼睛还是盯在源码上。

想要的东西一直没等到,就自己写了一个,叫 WeMark。引擎是从零做的,原生渲染,不是 Electron / WebView 套壳,所以安装包只有几 MB,冷启动基本是点开就在。

![WeMark 主界面](https://i.imgur.com/qnOyN1O.png)

![代码块语法高亮](https://i.imgur.com/F4rGOH9.png)

## 现在能做什么

- **实时预览**:光标所在的那一行显示 Markdown 源码,其余行是排版后的样子。不用分屏、不用切「编辑/预览」,敲完 `## ` 那行就直接变成标题,视线不用离开正文。
- **表格可以在渲染后的文档里直接改**:加行加列、移动列、排序、设置对齐,都在表格上原地操作,不用回到源码里数竖线。
- **打开大文件**:菜单里有单独的「文件 › 打开大文件…」,大文件也能打开、滚动不卡。代价是这条路径是只读的阅读模式。
- **三种视图**:纯阅读 / 实时编辑 / 左右分栏,分栏是滚动同步的。
- 文件就是标准的 `.md` 纯文本,GFM 兼容,没有私有格式和私有目录,不喜欢随时能换回别的编辑器。
- 其余零碎的:代码块语法高亮、任务列表、文件树、大纲跳转、亮暗主题跟随系统、界面内置 20 种语言。

表格这块多放两张图。选中一列:

![选中表格的一列](https://i.imgur.com/9K5WeaN.png)

然后排序、加列、移动列、设置对齐、删除列,都在这个菜单里,源码会跟着改:

![表格的列操作菜单](https://i.imgur.com/tQN1LQB.png)

## 现在不能做什么

- **只有 Windows**(10 及以上,64 位)。macOS 和 Linux 在计划中。
- **没有任何导出功能**。没有 PDF,没有 HTML,没有打印。
- **不支持数学公式**,内联 HTML 也不渲染。
- **编辑模式有大小上限**(几百 KB)。超过就只能用只读的阅读模式打开。
- 这是**首个公开预览版**,估计还有不少 bug。

## 下载

[https://wemark.xmagicer.com/](https://wemark.xmagicer.com/) —— 有安装版(带自动更新)和便携版(解压即用)。免费,不需要注册账号。

用着有什么问题或者建议,欢迎在下面回复,我都会看。也可以来群里聊:

- QQ 群: [https://qm.qq.com/q/jMa5rxjUJ2](https://qm.qq.com/q/jMa5rxjUJ2)
- Discord: [https://discord.gg/GqnERvHjR](https://discord.gg/GqnERvHjR)

---

原文链接:[点击查看](https://www.v2ex.com/t/1226833)

评论(5)

体积确实控制得挺小的,但是实际用下来,流畅度被 Typora 碾压了,有点卡。

· 0 个赞

回复

回复 @ssack9:你测试的时候,编辑的 md 文件体积大吗?

· 0 个赞

回复

回复 @ssack9:性能这块我正在考虑专门出一个优化版本,不过代价是安装包的体积估计会膨胀不少。

· 0 个赞

这种文本编辑器底层逻辑不是应该都做按行缓存吗?视图里只渲染可视区域以及上下几百行,算好滚动条及时刷新不就行了。感觉大文件加载不难做吧。

· 0 个赞

回复

回复 @wbrobot:纯做显示确实好搞,虚拟滚动嘛。但加上编辑功能就复杂了。目前编辑大文件确实有大小限制,不过阅读模式已经做了优化,你可以下个 200MB 的 md 文件,用 Typora 和我的大文件只读模式对比下试试,应该能看出来差别。

· 0 个赞