DotMD:一款基于 Go + Wails 的轻量开源 Markdown 桌面编辑器
Markdown 写作,应该像喝水一样简单。
一、引言
Markdown 是一种极简的标记语言,用简单的符号就能写出结构清晰、排版美观的文档,早已成为技术写作、笔记管理、博客发布的事实标准。
但一个顺手的 Markdown 编辑器并不好找:
- 在线编辑器依赖网络,隐私与体验都打折扣;
- 重量级 IDE功能繁杂,启动慢、内存占用高,写篇笔记杀鸡用牛刀;
- 商业软件需要付费订阅,且不开放源码。
DotMD 就是为了解决这些问题而生——一款开源、免费、轻量、本地运行的桌面 Markdown 查看与编辑器。它开箱即用,下载一个单文件 exe 双击就能运行,无需安装、无需联网。
📸 界面预览
打开示例文档 doc/demo.md 的实际效果(分屏编辑 + 实时预览):




二、为什么会有 DotMD
DotMD 的诞生源于一个朴素的需求:想要一个"刚刚好"的 Markdown 编辑器。
- 要快:启动迅速,编辑流畅,不卡顿;
- 要全:实时预览、数学公式、图表、代码高亮一个都不能少;
- 要轻:不引入复杂的插件生态,界面干净不打扰;
- 要自由:开源、免费、数据都在本地,想怎么用就怎么用。
于是作者用 Go + Wails v2 + React 自己动手做了 DotMD,并把它开源出来,希望能帮到同样喜欢 Markdown 的人。
三、核心特性
📂 目录树管理
打开任意文件夹,左侧自动生成目录树,.md 文档一目了然。支持新建文件、新建文件夹、重命名、删除(右键菜单),写多文档项目时非常顺手。
🖊️ 流畅的编辑体验
基于 CodeMirror 6 的源码编辑器,自带 Markdown 语法高亮、行号、代码折叠和自动补全。三种视图模式随意切换:
- 编辑:专注写作;
- 分屏:左侧编辑、右侧实时预览(默认推荐);
- 预览:只读渲染,适合展示。
🔄 编辑与预览精确对齐
分屏模式下,编辑器与预览按源码行号精确对齐双向同步——滚动左侧源码,右侧预览自动跳到对应内容;滚动右侧预览,左侧源码同步跟随。基于每个块级元素标注的源码行号实现,而不是简单的比例滚动,真正做到"看到哪里、写到哪里"。
🧮 数学公式(KaTeX)
支持行内公式 $...$ 与块级公式 $$...$$,渲染基于 KaTeX,速度快、质量高。写技术文章、论文笔记都不在话下:
E = m c 2 , e i π + 1 = 0 E = mc^2, \quad e^{i\pi} + 1 = 0 E=mc2,eiπ+1=0
📊 图表(Mermaid)
内嵌 Mermaid,直接书写图表代码即可渲染出流程图、时序图、甘特图等。技术架构图、流程说明,一行代码搞定:
💻 代码高亮
highlight.js 驱动,支持几十种编程语言,技术文档中的代码块赏心悦目。
🖼️ 本地图片预览
文档中相对路径引用的本地图片可以直接在预览中显示(如 ),无需上传图床、无需外链。打开任意含本地图片的 Markdown 文档,所见即所得。
📁 文件管理
- 新建文件 / 新建文件夹 / 重命名 / 删除(右键菜单);
- 拖放打开:把
.md文件直接拖到窗口任意位置即可打开; - 未保存提示:关闭窗口或切换文件时,若有未保存更改会自动提示,避免误丢内容。
📤 导出
- HTML:生成独立可打开的文件,样式、公式、代码高亮全部内联,无需任何环境;
- PDF:一键导出,适合存档与分享。
🔗 系统集成
.md文件关联:打开程序时自动检测.md关联;未关联到 DotMD(含关联到其他程序)时会提示一键关联,关联后双击.md文件即可用 DotMD 打开;- 右键/双击打开:右键
.md→ 打开方式 → DotMD,或双击关联文件,自动打开; - 单实例运行:重复打开文件自动转发到已运行实例,不重复启动;
- 版本信息:关于弹窗动态显示当前程序版本号。
⌨️ 常用快捷键
| 快捷键 | 功能 |
|---|---|
Ctrl+S | 保存 |
Ctrl+B / Ctrl+I | 加粗 / 斜体 |
Ctrl+F | 查找 |
Ctrl+Alt+F | 替换 |
F3 / Ctrl+G | 查找下一个 |
Shift+F3 / Ctrl+Shift+G | 查找上一个 |
Esc | 关闭搜索面板 / 弹窗 |
四、技术架构
DotMD 采用 Go 后端 + Web 前端 的桌面应用架构,通过 Wails v2 桥接。
技术栈总览
| 层 | 技术 |
|---|---|
| 桌面框架 | Wails v2(Go + WebView2) |
| 后端 | Go 1.25(文件系统、注册表关联、本地资源服务) |
| 前端 | React 19 + Vite + TypeScript |
| 编辑器 | CodeMirror 6 |
| Markdown 渲染 | marked + DOMPurify |
| 公式 | KaTeX |
| 图表 | Mermaid |
| 代码高亮 | highlight.js |
| PDF 导出 | html2canvas + jsPDF |
这套组合的好处是:后端小而稳(Go 编译为单一可执行文件),前端生态丰富(复用成熟 Web 组件),最终产物是一个自包含的 exe,分发部署极其简单。文档里引用的本地图片则通过后端提供的本地资源服务(assetserver Handler)在预览中加载,无需外部依赖。
五、快速上手
- 获取:从仓库下载
dotmd.exe(免安装单文件,Windows 10/11 x64); - 运行:双击
dotmd.exe,无需安装、无需联网; - 打开方式(任选其一):
- 点击「打开文件夹」,选择 Markdown 文档所在目录;
- 点击「打开文件」选择单个文档;
- 把
.md文件拖到窗口任意位置; - 双击已关联的
.md文件(首次启动按提示一键关联);
- 开始写作:进入编辑,右侧实时预览,滚动自动对齐;
- 导出:工具栏一键导出 HTML / PDF。
提示:若系统缺少 WebView2 运行时(一般 Win10/11 自带),按提示安装即可。
六、适用场景
- ✍️ 技术写作:公式、图表、代码高亮全覆盖,一篇技术博客一次写完;
- 📒 个人笔记:目录树管理,多文档切换顺手,数据 100% 留在本地;
- 📚 文档整理:README、说明文档、接口文档,导出 HTML/PDF 方便分享;
- 🎓 学习记录:Markdown 语法练习、公式笔记、流程图草图;
- 🖼️ 图文笔记:本地图片直接显示,配合目录树管理图片素材。
七、与同类产品对比
| 对比项 | DotMD | Typora | Mark Text | VS Code |
|---|---|---|---|---|
| 开源免费 | ✅ | ❌ 付费 | ✅ | ✅ |
| 免安装单文件 | ✅ | ❌ | ✅ | ❌ |
| 实时预览 | ✅ | ✅ | ✅ | ✅(需插件) |
| 精确对齐同步滚动 | ✅ | ✅ | ✅ | ✅ |
| 本地图片预览 | ✅ | ✅ | ✅ | ✅ |
| 数学公式 | ✅ KaTeX | ✅ | ✅ | 需插件 |
| Mermaid 图表 | ✅ | ✅ | 部分 | 需插件 |
| 拖放打开文件 | ✅ | ✅ | ❌ | ✅ |
| 启动轻量 | ✅ | ✅ | ✅ | ❌ 偏重 |
| 目录树 | ✅ | ✅ | ❌ | ✅ |
DotMD 的定位是轻量、专注、开箱即用:不需要插件、不需要配置,装上就能舒服地写 Markdown。
八、获取与支持
- 📦 源码仓库:https://gitcode.com/itopit/dotmd(欢迎 Star ⭐)
- 🖥️ 运行环境:Windows 10 / 11(x64)
- 🏷️ 当前版本:v1.0.0
- 📄 开源协议:MIT,可自由使用、修改、商用
九、结语
Markdown 编辑器很多,但"刚刚好"的那一个需要用心打磨。DotMD 坚持轻量、开源、免费、本地优先,不断打磨编辑体验——精确对齐的同步滚动、开箱即用的文件关联、顺手的拖放打开、本地图片直显。
打开它,写下第一行 # Hello, DotMD! 吧。
本文由 DotMD 编写,打开 doc/demo.md 可体验全部渲染能力。

220

被折叠的 条评论
为什么被折叠?



