initial commit: MD Editor with Tauri + React

This commit is contained in:
2026-06-18 21:46:20 +08:00
commit e05550f631
142 changed files with 39602 additions and 0 deletions

118
README.md Normal file
View File

@@ -0,0 +1,118 @@
# MD Editor
一款基于 **Tauri v2 + React + TypeScript** 构建的轻量级 Markdown 桌面编辑器,支持 GitHub 风格实时预览、明暗主题切换、文件关联与外部修改监听。
> 喵~ 这是一个仍在持续打磨中的小工具,欢迎 Star 和 Issue ✨
---
## 功能特性
- 📝 **双栏实时预览** — 左侧编辑,右侧同步渲染 GitHub 风格 Markdown
- 🌗 **明暗主题切换** — 编辑器与预览区均支持深色 / 浅色模式
- ⌨️ **常用快捷键** — 新建、打开、保存、切换视图一键直达
- 💾 **文件操作** — 新建、打开、保存、另存为,支持 `.md` / `.markdown` / `.txt`
- 🔗 **文件关联** — Windows 下可注册右键菜单“使用 MD 编辑器打开”
- 👀 **外部修改监听** — 文件被其他程序修改时自动提示重载
- 🚪 **退出保护** — 未保存时拦截关闭,防止误操作丢失内容
- 📱 **移动端构建** — 已配置 Android 构建脚本
---
## 技术栈
| 层级 | 技术 |
|------|------|
| 桌面框架 | [Tauri v2](https://v2.tauri.app/) |
| 前端框架 | 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](https://nodejs.org/) ≥ 18
- [Rust](https://www.rust-lang.org/tools/install) 工具链
-Windows如需构建 `.msi` / `.exe` 安装包,建议安装 [Visual Studio Build Tools](https://visualstudio.microsoft.com/downloads/)
### 安装依赖
```bash
npm install
```
### 开发运行
```bash
npm run tauri dev
```
### 构建桌面应用
```bash
npm run tauri build
```
构建产物位于 `src-tauri/target/release/bundle/`
### 构建 Android APK
```bash
npm run android
```
---
## 快捷键
| 操作 | 快捷键 |
|------|--------|
| 新建文件 | `Ctrl + N` |
| 打开文件 | `Ctrl + O` |
| 保存 | `Ctrl + S` |
| 另存为 | `Ctrl + Shift + S` |
| 切换编辑/预览/分屏 | `Ctrl + P` |
---
## 项目结构
```text
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](./LICENSE) 开源。