9c388b599d52daacee57cce9ce0d628c57ba314b
Co-authored-by: Cursor <cursoragent@cursor.com>
MD Editor
一款基于 Tauri v2 + React + TypeScript 构建的轻量级 Markdown 桌面编辑器,支持 GitHub 风格实时预览、明暗主题切换、文件关联与外部修改监听。
喵~ 这是一个仍在持续打磨中的小工具,欢迎 Star 和 Issue ✨
功能特性
- 📝 双栏实时预览 — 左侧编辑,右侧同步渲染 GitHub 风格 Markdown
- 🌗 明暗主题切换 — 编辑器与预览区均支持深色 / 浅色模式
- ⌨️ 常用快捷键 — 新建、打开、保存、切换视图一键直达
- 💾 文件操作 — 新建、打开、保存、另存为,支持
.md/.markdown/.txt - 🔗 文件关联 — Windows 下可注册右键菜单“使用 MD 编辑器打开”
- 👀 外部修改监听 — 文件被其他程序修改时自动提示重载
- 🚪 退出保护 — 未保存时拦截关闭,防止误操作丢失内容
- 📱 移动端构建 — 已配置 Android 构建脚本
技术栈
| 层级 | 技术 |
|---|---|
| 桌面框架 | Tauri v2 |
| 前端框架 | React 19 + TypeScript 5 |
| 构建工具 | Vite 6 |
| 编辑器 | CodeMirror 6(@codemirror/lang-markdown) |
| Markdown 渲染 | Marked + Highlight.js |
| 样式 | 原生 CSS + github-markdown-css |
| 后端命令 | Rust(std::fs + Tauri 插件) |
快速开始
环境要求
- Node.js ≥ 18
- Rust 工具链
-(Windows)如需构建
.msi/.exe安装包,建议安装 Visual Studio Build Tools
安装依赖
npm install
开发运行
npm run tauri dev
构建桌面应用
npm run tauri build
构建产物位于 src-tauri/target/release/bundle/。
构建 Android APK
npm run android
快捷键
| 操作 | 快捷键 |
|---|---|
| 新建文件 | Ctrl + N |
| 打开文件 | Ctrl + O |
| 保存 | Ctrl + S |
| 另存为 | Ctrl + Shift + S |
| 切换编辑/预览/分屏 | Ctrl + P |
项目结构
MDEditer/
├── public/ # 静态资源(图标、字体)
├── scripts/ # 字体子集化相关脚本
├── src/
│ ├── components/ # React 组件(Editor / Preview / Toolbar / StatusBar)
│ ├── context/ # 主题上下文
│ ├── hooks/ # 文件状态 Hook
│ ├── lib/ # Markdown 渲染
│ ├── styles/ # 全局与字体样式
│ ├── App.tsx # 主应用
│ └── main.tsx # 入口
├── src-tauri/
│ ├── src/ # Rust 源码
│ ├── icons/ # 应用图标
│ ├── Cargo.toml # Rust 依赖
│ └── tauri.conf.json # Tauri 配置
├── package.json
├── vite.config.ts
└── README.md
贡献
欢迎提交 Issue 或 Pull Request!如果你发现 bug 或有新功能建议,请随时交流。
许可证
本项目基于 MIT License 开源。
Languages
TypeScript
54.1%
CSS
21.7%
Kotlin
10.8%
Python
6.2%
Rust
5.5%
Other
1.7%