一个基于 Electron + React 的跨平台 Markdown 编辑器,支持 Windows / macOS / Linux。 界面采用苹果风格毛玻璃效果,菜单栏 10% 透明度,无底部状态栏。
┌──────────────────────────────────────────────────────────────┐
│ 菜单栏(10% 透明毛玻璃):新建 · 打开 · 保存 · 另存为 · 关闭标签 │
├──────────────────────────────────────────────────────────────┤
│ 标签栏:多文件标签,名称截断,悬停显示完整绝对路径 │
├──────────┬─────────────────────────┬─────────────────────────┤
│ 大纲树 │ 实时预览 │ 编辑器 (Monaco) │
│ 10% │ 45% │ 45% │
├──────────┴─────────────────────────┴─────────────────────────┤
│ (无状态栏) │
└──────────────────────────────────────────────────────────────┘
- 多标签页:同时打开多个文件,文件名过长自动截断,鼠标悬停显示完整绝对路径
- 三栏界面:左侧大纲树(10%)/ 中间实时预览(45%)/ 右侧编辑器(45%)
- 大纲导航:自动解析 Markdown 标题层级,点击可跳转到对应行
- 实时预览:所写即所得,输入即渲染(防抖 250ms)
- 毛玻璃效果:菜单栏 10% 透明,面板半透明 + 背景模糊
- 无状态栏:界面干净简洁
| 功能 | 快捷键 |
|---|---|
| 新建标签 | Ctrl/Cmd + N |
| 打开文件 | Ctrl/Cmd + O |
| 保存 | Ctrl/Cmd + S |
| 另存为 | Ctrl/Cmd + Shift + S |
| 关闭标签 | Ctrl/Cmd + W |
npm install
npm run dev # 启动开发模式(Vite HMR + Electron)npm run build # 生产构建(dist/ + dist-electron/)
npm run start # 运行生产构建
npm run dist # 打包安装包(产物在 release/)electron-builder 已配置三个平台的打包目标:
- Windows: NSIS 安装包 (
.exe) - macOS: DMG (
.dmg) - Linux: AppImage + deb (
.AppImage/.deb)
提示:在各自平台系统上分别执行
npm run dist,才能构建对应平台的原生安装包。
Linux 沙箱提示:若运行报 SUID sandbox 错误,可用 --no-sandbox 启动。
| 组件 | 选型 |
|---|---|
| 桌面框架 | Electron 28 |
| UI | React 18 + TypeScript + Vite 5 |
| 编辑器 | Monaco Editor(VS Code 内核) |
| Markdown 渲染 | marked |
| 打包 | electron-builder |