Files
md-editor/README.md

119 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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) 开源。