# MDEditor **Repository Path**: ftliang/MDEditor ## Basic Information - **Project Name**: MDEditor - **Description**: A lightweight, cross-platform Markdown editor built with Tauri 2 + Vue 3 + CodeMirror 6 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-06 - **Last Updated**: 2026-07-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MDEditor — 轻量级 Windows Markdown 桌面编辑器 ![Tauri 2](https://img.shields.io/badge/Tauri-2.0-blue) ![Vue 3](https://img.shields.io/badge/Vue-3.5-green) ![TypeScript](https://img.shields.io/badge/TypeScript-5.6-blue) ![CI](https://img.shields.io/badge/CI-Gitee%20Pipeline-brightgreen) ![License](https://img.shields.io/badge/License-AGPL--3.0-orange) ![Version](https://img.shields.io/badge/version-1.3.0-blue) **MDEditor** 是一款基于 Tauri 2 + Vue 3 + CodeMirror 6 的桌面 Markdown 编辑器,专注于 **单文件、轻量、原生** 的写作体验。**完全离线可用**,所有字体、依赖均已内联打包,零网络依赖。 > **v1.3.0 已公开发布。** 本程序完全由 AI 按照作者的意图和指导下全权完成。 > > 本项目基于 **GNU Affero General Public License v3.0 (AGPL-3.0)** 许可开源。详见 [LICENSE](./LICENSE)。 --- ## 快速开始 ### 下载安装 从 [Releases](https://gitee.com/ftliang/MDEditor/releases) 下载最新安装包(`MDEditor_<版本>_x64-setup.exe`),安装后即可使用,无需额外运行时。 ### 命令行用法 ``` MDEditor.exe # 打开文件 MDEditor.exe --diff # 对比两个文件 ``` 如果 MDEditor 已在运行,新文件会在已有窗口中打开(单实例模式)。 --- ## 核心特性 ### Markdown 编辑 - **全格式支持**:GFM、数学公式(KaTeX)、Mermaid 图表、代码高亮(highlight.js,30+ 语言)、脚注、任务列表、Front Matter - **CodeMirror 6 引擎**:Vim 模式、多光标编辑、行号跳转、自动换行 - **编辑模式**:纯编辑 / 分栏(编辑+预览并排) / 仅预览 / 实时预览 / 实时编辑 / 尝鲜模式 - **分栏滚动联动**:分栏模式下编辑区与预览区垂直滚动实时同步,按视口中心对齐 - **实时编辑**:Typora 式 WYSIWYG——默认显示渲染预览,点击任意位置进入编辑,垂直位置对齐,Escape 退出 - **尝鲜模式**(实验性):块级内联编辑——点击段落/标题/列表/表格原地编辑,其余保持预览,点击其他块自动生效 - **斜杠命令**:键入 `/` 快速插入标题、表格、代码块、引用等 - **智能命令面板**:`Ctrl+Shift+K` 打开,全局搜索所有功能 - **增强搜索**:`Ctrl+F` 搜索/替换,命中高亮(琥珀色高对比度)、滚动居中、自动聚焦、大小写/正则选项、i18n 多语言 - **HTML 原生标签**:支持 ``、``、`
` 等原生 HTML 标签(增强型 sanitizer 防护) - **LaTeX 原生分隔符**:支持 `\(...\)`、`\[...\]` 分隔符 - **多编码支持**:自动检测 UTF-8 / GBK / Shift-JIS / Latin-1 等编码 ### 预览特色与尝鲜模式 - **块级内联编辑(尝鲜模式)**:渲染预览中点击任意块(段落/标题/列表/表格)原地切换编辑器,其余保持预览。支持 Ctrl+Enter / ✓ 按钮 / 点击其他块三种确认方式,Escape 放弃修改 - **实时编辑(Live Edit)**:点击预览内容切换到编辑器,自动定位到点击行,垂直对齐减少视觉跳动,Escape 返回预览 - **KaTeX 公式**:行内与块级数学公式实时渲染 - **Mermaid 图表**:流程图、时序图、甘特图、类图、状态图、饼图、ER 图、用户旅程图、象限图、架构图、思维导图等 20+ 图表类型 - **内置计算图**:Markmap(思维导图)、Wardley Maps(战略地图)、Cytoscape(网络图) - **预览缩放**:右下角缩放菜单(50%-300%)或 `Ctrl+滚轮` 快速调节 - **预览区字体调节**:设置面板统一偏移或 `Ctrl+滚轮` 缩放 - **衬线正文字体**:预览区使用 Lora + Noto Serif SC 衬线字体,提升长文阅读体验 ### 文件管理 - **文件树**:左侧面板浏览与切换文件 - **文件比较(Diff)**:并排对比,可视化增删改,支持 CLI 参数直接启动对比 - **文件关联**:支持 `.md`、`.txt` 等扩展名系统关联 - **自动保存**:可配置延迟(1s-60s) - **会话恢复**:重启后自动恢复上次标签页 - **系统托盘**:最小化到托盘,后台常驻 - **大文件安全**:最大读取 50MB,四层安全校验 ### 导出功能 | 格式 | 说明 | |------|------| | HTML | 保留样式的网页文档(品牌字体 Urbanist + Noto Sans SC) | | DOCX | Word 文档 | | PDF | Rust CDP 矢量 PDF / 系统打印对话框 | | PNG | 编辑器截图保存为图片 | ### 外观与设计 - **8 种主题**:Light / Dark / Cyberpunk / Retro Amber / Warm Paper / Midnight Galaxy / Sunset Rust / Frost Mint - **语义色彩系统**:accent-soft / accent-warm / accent-cool / accent-success 四维情绪色 - **过渡动画**:搜索栏滑入滑出、对话框缩放淡入、侧边栏展开收起、文件切换淡入淡出 - **自定义 CSS**:加载外部 CSS 自定义编辑器样式 - **UI 字号独立调节**:不影响编辑器字号 - **多语言**:9 种界面语言(中文 / English / 日本語等) - **设置面板**:基础 / 编辑器 / 外观 / 导出 四分类设置 - **品牌字体**:Urbanist + Noto Sans SC(UI),Lora + Noto Serif SC(预览正文) ### 架构与质量 - **前端设计审查**:52 项改进全部完成(frontend-design + react-best-practices 双技能审查) - **组件拆分**:Editor.vue 拆分为 editor-commands / editor-extensions / EditorSearchBar 三模块 - **Barrel import 消除**:i18n 改为直接路径导入,优化 Tree-shaking - **异步组件**:非首屏组件使用 `defineAsyncComponent` 按需加载 - **事件通信**:Pinia eventBus store 替代 window CustomEvent - **增强型 HTML sanitizer**:DOMParser + 白名单方案,46 个安全测试用例覆盖 - **路径安全**:Rust 端四层纵深防御(规范化 + 白名单 + 系统路径拦截 + 沙箱隔离) - **CI 流水线**:Gitee CI 自动运行前端类型检查、ESLint、测试(139 用例)、构建 - **零网络依赖**:所有字体 base64 内联、依赖 Vite 打包、CSP 严格白名单 --- ## 技术栈 | 层 | 技术 | |----|------| | 桌面框架 | [Tauri 2.x](https://v2.tauri.app/) | | 前端框架 | [Vue 3](https://vuejs.org/) + [TypeScript](https://www.typescriptlang.org/) + [Vite](https://vitejs.dev/) | | 状态管理 | [Pinia](https://pinia.vuejs.org/) | | 编辑器核心 | [CodeMirror 6](https://codemirror.net/) | | Markdown 渲染 | [markdown-it](https://github.com/markdown-it/markdown-it) + [KaTeX](https://katex.org/) + [Mermaid](https://mermaid.js.org/) | | 后端语言 | [Rust](https://www.rust-lang.org/) — edition 2021 | ### 感谢以下开源项目 - [Tauri](https://github.com/tauri-apps/tauri) — 桌面应用框架 - [Vue](https://github.com/vuejs/vue) — 前端框架 - [CodeMirror](https://github.com/codemirror/dev) — 编辑器内核 - [markdown-it](https://github.com/markdown-it/markdown-it) — Markdown 解析 - [KaTeX](https://github.com/KaTeX/KaTeX) — 公式排版 - [Mermaid](https://github.com/mermaid-js/mermaid) — 图表渲染 - [highlight.js](https://github.com/highlightjs/highlight.js) — 代码高亮 - [diff-match-patch](https://github.com/google/diff-match-patch) — 差异对比 - [docx](https://docx.js.org/) — Word 文档生成 - 以及所有其他开源依赖的贡献者 --- [`Gitee 仓库`](https://gitee.com/ftliang/MDEditor) — [`Issues`](https://gitee.com/ftliang/MDEditor/issues) — [`AGPL-3.0`](./LICENSE) **MDEditor** — 一个文件,一个窗口,专心写作。