# MarkFlow **Repository Path**: tomwld/mark-flow ## Basic Information - **Project Name**: MarkFlow - **Description**: 一个纯粹、现代、轻量且功能丰富的Markdown 编辑器,基于 Tauri、Vue 3 和 TypeScript 构建, 提供流畅的输入体验。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-12 - **Last Updated**: 2026-05-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MarkFlow
MarkFlow Logo

一个纯粹、现代、轻量且功能丰富的Markdown 编辑器,基于 Tauri、Vue 3 和 TypeScript 构建, 提供流畅的输入体验。

[English](./README.md) | **简体中文**
## ✨ 特性 - **📝 现代编辑器**: 基于 Vditor 即时渲染(IR)模式构建,提供所见即所得的流畅写作体验。 - **🌗 主题切换**: 原生支持明亮和暗黑模式。 - **📂 文件管理**: - 集成文件树和大纲视图(可切换侧边栏部分)。 - **右键菜单支持**: 在文件树中右键进行新建文件/文件夹、重命名、删除及在资源管理器中显示等操作。 - 标签页式编辑界面。 - 自动保存和会话持久化(启动时恢复打开的文件)。 - 最近打开的文件历史记录。 - 新文件“智能命名”(基于内容自动生成文件名)。 - **🖥️ 系统集成**: - **文件关联**: 直接打开 `.md`、`.markdown` 和 `.txt` 文件。 - **上下文菜单**: 资源管理器中支持“使用 MarkFlow 打开”选项。 - **🛠️ 生产力工具**: - **专注模式**: 无干扰写作体验。 - **扩展语法**: 支持 GFM、上标 (~sub~)、下标 (^sup^) 和 Emoji 代码 (:smile:)。 - **数学公式支持**: 使用 KaTeX 渲染 LaTeX 数学公式。 - **交互式工具栏**: Vditor 内置工具栏,快速插入表格、脚注、任务列表、代码块和数学公式。 - **表情选择器**: 内置 Emoji 选择器,轻松在文档中插入表情符号。 - **查找替换**: Vditor 内置全文档查找和替换功能。 - **状态栏**: 实时显示字数、行数和光标位置。 - **文档恢复**: 自动备份和崩溃恢复,防止数据丢失。 - **文件树键盘导航**: 完整的键盘操作支持(方向键、Enter、Delete)。 - **模板功能**: 从预设模板快速创建新文档。 - **大纲搜索**: 大纲视图中支持快速搜索和跳转。 - **设置面板**: 可配置字体大小、行高、自动保存间隔、Vim 模式等。 - **自定义 CSS**: 支持注入自定义样式。 - **🔒 安全性**: 完善的 CSP 策略、HTML 清理、文件系统权限限制和外部链接验证。 - **🧪 测试**: 100+ 单元测试,覆盖核心 composables 和组件。 - **📝 统一日志**: 模块级日志系统,支持按环境自动过滤日志级别。 - **🌍 国际化**: 完整支持英语和简体中文。 - **📤 导出**: 将文档导出为带样式的 HTML 和 PDF 文件。 ## ⌨️ 快捷键 > **提示**: 编辑器内的快捷键(如查找替换 `Ctrl+F`、表情选择器、表格插入等)由 Vditor 内置处理。以下为全局应用级快捷键: | 快捷键 | 动作 | |----------|--------| | `Ctrl/Cmd + N` | 新建文件 | | `Ctrl/Cmd + O` | 打开文件 | | `Ctrl/Cmd + Alt + O` | 打开文件夹 | | `Ctrl/Cmd + S` | 保存文件 | | `Ctrl/Cmd + Alt + S` | 另存为 | | `Ctrl/Cmd + P` | 切换预览 | | `Ctrl/Cmd + Alt + P` | 导出 PDF | | `Ctrl/Cmd + Alt + H` | 导出 HTML | | `Ctrl/Cmd + B` | 切换侧边栏 | | `Ctrl/Cmd + Alt + B` | 切换大纲 | | `F11` | 切换专注模式 | ## 🛠️ 技术栈 - **核心**: [Tauri v2](https://tauri.app/) (Rust + WebView) - **前端**: [Vue 3](https://vuejs.org/) + [TypeScript](https://www.typescriptlang.org/) - **样式**: [UnoCSS](https://unocss.dev/) (Atomic CSS) - **状态管理**: Vue Composition API + [VueUse](https://vueuse.org/) - **编辑器引擎**: [Vditor](https://b3log.org/vditor/) (即时渲染模式) - **Markdown 解析**: 内置于 Vditor - **图表渲染**: [Mermaid](https://mermaid.js.org/) - **数学渲染**: [KaTeX](https://katex.org/) ## 🚀 快速开始 ### 前置要求 - [Node.js](https://nodejs.org/) (v16+) - [pnpm](https://pnpm.io/) (包管理器) - [Rust](https://www.rust-lang.org/) (用于 Tauri 后端) ### 安装 1. 克隆仓库: ```bash git clone https://gitee.com/tomwld/mark-flow.git cd mark-flow ``` 2. 安装依赖: ```bash pnpm install ``` ### 开发 启动带有热重载的开发服务器: ```bash pnpm tauri dev ``` ### 构建 构建生产环境应用: ```bash pnpm tauri build ``` 可执行文件将位于 `src-tauri/target/release/bundle/` 目录下。 ## 📂 项目结构 ``` MarkFlow/ ├── src/ # 前端源代码 │ ├── components/ # Vue 组件 (编辑器, 预览, 侧边栏等) │ ├── data/ # 静态数据 (Emojis 等) │ ├── locales/ # i18n 翻译文件 │ ├── utils/ # 工具函数 │ ├── App.vue # 主应用组件 │ └── main.ts # 应用入口点 ├── src-tauri/ # Rust 后端源代码 │ ├── src/ # Rust 源文件 │ ├── tauri.conf.json # Tauri 配置 │ └── Cargo.toml # Rust 依赖 └── uno.config.ts # UnoCSS 配置 ``` ## 📄 许可证 [MIT](LICENSE)