Typora太贵了?这款用 Flutter 重写的 Markdown 编辑器,真的可以

0 阅读6分钟

Typora 收费后,我试了不下十款编辑器,直到遇到它。

事情是这样的

相信不少朋友和我一样,日常写技术文档、博客、笔记都离不开 Markdown。之前一直用 Typora,体验确实好,但自从它开始收费之后,就一直在找替代品。

Obsidian?功能强大,但我只是想写个 Markdown,不想管理一个知识库。VS Code?装一堆插件之后勉强能用,但总觉得杀鸡用牛刀。原版 MarkText?开源免费,但已经两年多没更新了,Bug 一堆没人修。

前段时间在 GitHub 闲逛,偶然发现了一个叫 MarkText Plus 的项目。名字看着像是 MarkText 的升级版,点进去一看——还真是。用 Flutter 从头重写的,界面清爽,功能齐全,关键是完全免费开源

用了一段时间,觉得有必要安利一下。

先说结论

如果你的需求是:

  • 一个打开就能写的 Markdown 编辑器
  • 不想装一堆插件,开箱即用
  • 希望启动快、不卡顿、不吃内存
  • 最好免费开源

那 MarkText Plus 基本就是你要找的东西。

项目地址github.com/SugarFatFre…

轻量到什么程度

先上一组数据,感受一下差距:

MarkText PlusTyporaObsidianVS Code
安装包~25MB~80MB~300MB~100MB
启动速度<1s~2s~3s~3s
内存占用~80MB~150MB~300MB~400MB
底层技术FlutterElectronElectronElectron

为什么差这么多?因为 Electron 本质上是打包了一个 Chrome 浏览器,而 Flutter 编译出来的是原生代码。这不是优化的问题,是起跑线就不一样

25MB 的安装包,秒开,写东西的时候风扇不转。就这一点,已经赢了。

功能够用吗

说实话,刚开始我也担心"轻量"是不是"简陋"的委婉说法。用下来发现,该有的功能一个不少。

三种编辑模式随便切

  • 源码模式:带行号、语法高亮,写代码的朋友最熟悉
  • 预览模式:实时渲染,写完就是最终效果
  • 分屏模式:左边写右边看,中间的分隔条可以拖

我个人最常用分屏模式,左边敲 Markdown 右边实时看效果,体验和 Typora 的实时预览各有千秋。

8 套主题,审美在线

这是让我比较惊喜的地方。不是那种随便调几个颜色就叫"主题"的敷衍做法,每套都是精心设计过的:

浅色系:Red Graphite(红石墨)、Shibuya(涩谷)、Pink Blossom(粉樱)、Sky Blue(天蓝)

深色系:Dark Graphite(深色石墨)、Dieci OLED(纯黑)、Nord(极光)、Midnight(暗夜蓝)

而且主题会自动判断明暗,选了深色主题就是深色模式,不需要额外设置。个人最喜欢 Nord 和 Shibuya,写东西的时候心情都好一点。

Mermaid 图表,原生渲染

这个功能必须单独拿出来说。在 Markdown 里写 Mermaid 语法,切到预览模式直接就能看到渲染好的图表:

graph TD
    A[需求评审] --> B[技术方案]
    B --> C{方案评审}
    C -->|通过| D[开发]
    C -->|打回| B
    D --> E[测试]
    E --> F[上线]

流程图、时序图、甘特图、饼图、雷达图、时间线、看板……基本上 Mermaid 支持的图表类型都能渲染。

重点来了:这个渲染是纯 Dart 实现的,不依赖 WebView。什么意思呢?就是不需要联网,不需要加载一个隐藏的浏览器内核,渲染速度快,也不会有 WebView 那些奇奇怪怪的兼容性问题。

写技术文档的时候画个流程图,再也不用切到别的工具了。

12 种语言

英语、中文、日语、韩语、德语、法语、意大利语、俄语、西班牙语、葡萄牙语、阿拉伯语、巴西葡萄牙语。阿拉伯语还做了 RTL(从右到左)布局适配。

对于一个开源项目来说,国际化做到这个程度挺用心的。

其他值得一提的

  • 查找替换:支持正则、大小写、全字匹配,够用
  • 文件树:侧边栏可以打开整个文件夹,拖拽也行
  • 自动保存:间隔时间可配置,再也不怕断电
  • 数学公式:LaTeX 语法,行内和块级都支持
  • 导出:HTML 和 PDF,HTML 导出还自带 GitHub 风格样式
  • 快捷键:Ctrl+B 加粗、Ctrl+I 斜体这些都有,和主流编辑器一致

技术层面聊两句

如果你也是开发者,可能会好奇它的技术选型。简单说几点:

自研解析器:没有用第三方 Markdown 库,自己写的解析器和渲染器。好处是完全可控,想加什么语法扩展都方便。

Riverpod 状态管理:Flutter 生态里比较成熟的方案,代码组织得挺清晰。

Token 化主题系统:14 个颜色 token 控制全局样式,想加新主题只需要定义一组颜色值就行。

Mermaid 渲染引擎:自带 Dagre 和 Sugiyama 两种布局算法,用 CustomPainter 直接画。不是套壳 WebView,是真的从解析到渲染全部自己实现的。

整体架构是四层:UI → 状态管理 → 服务层 → 平台层。代码结构清晰,想参与贡献的话上手门槛不高。

和同类产品怎么选

MarkText PlusTyporaObsidian原版 MarkText
免费开源❌($14.99)部分免费✅(已停更)
启动速度中等中等
内存占用中等中等
Mermaid原生渲染WebView需要插件WebView
主题数量8 套6 套社区主题6 套
多语言12 种有限社区翻译8 种
分屏编辑
插件系统规划中

选 MarkText Plus 的理由:轻量、快、免费、Mermaid 原生渲染、积极维护中

暂时不选的理由:功能还在完善中(约 40% 完成度),没有插件系统,没有双向链接

说白了,如果你需要的是一个纯粹的 Markdown 编辑器,它已经够用了。如果你需要知识管理、双向链接、插件生态,那目前 Obsidian 还是更合适。

怎么用

最简单的方式,三行命令:

git clone https://github.com/SugarFatFree/marktext-plus.git
cd marktext-plus/code
flutter pub get && flutter run

不想折腾编译环境的话,直接去 Releases 下载对应平台的安装包就行。Windows、macOS、Linux 都有。

最后

说实话,MarkText Plus 目前还不算完美,有些功能还在开发中。但从它的迭代速度来看(写这篇文章时已经到 v1.1.4 了),作者是在认真做这个项目的。路线图里还规划了图片拖拽插入、快捷键自定义、Git 集成、甚至 AI 辅助写作。

如果你也在找一款轻量、好看、免费的 Markdown 编辑器,不妨试试。好用的话去 GitHub 点个 Star,对开源作者来说就是最好的鼓励。

项目地址github.com/SugarFatFre…

开源协议:MIT

如果你有其他好用的 Markdown 编辑器推荐,也欢迎在评论区分享,大家一起交流。