markdown/.trae/documents/PRD.md

139 lines
6.5 KiB
Markdown
Raw 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.

## 1. 产品概述
这是一个基于 uTools 平台的 Markdown 编辑器插件,提供本地 Markdown 文件的管理、编辑、预览和 Git 集成功能。用户可以在 uTools 中直接打开、编辑和预览 Markdown 文件,享受类似 Typora 的编辑体验。
产品主要解决开发者和写作者在本地管理和编辑 Markdown 文件时的效率问题通过集成文件树、实时预览、搜索、Git 操作等功能,提供一站式的 Markdown 文档处理解决方案。
## 2. 核心功能
### 2.1 功能模块
本 Markdown 编辑器插件包含以下主要功能页面:
1. **主编辑界面**: 文件树导航、多标签页编辑器、实时预览面板
2. **搜索界面**: 文件内容搜索、文件名搜索、搜索结果展示
3. **导出界面**: HTML/PDF 导出、水印配置
4. **Git 操作界面**: 提交、推送、拉取等 Git 操作
**新增多标签页功能**: 右侧编辑区域支持多标签页管理,包含固定的首页标签和动态的文件标签页
### 2.2 页面详情
| 页面名称 | 模块名称 | 功能描述 |
|---------|---------|---------|
| 主编辑界面 | 文件树导航 | 显示本地文件夹结构,支持递归展开子目录,提供刷新按钮,可切换已选择的目录 |
| 主编辑界面 | 文件选择 | 点击文件树中的文件在右侧打开新标签页,支持打开多个文件 |
| 主编辑界面 | 多标签页管理 | 右侧编辑区域支持多标签页,包含固定首页和动态文件标签 |
| 主编辑界面 | 首页标签 | 显示最近打开的 Markdown 文件列表和置顶的文件列表 |
| 主编辑界面 | 文件置顶 | 在文件树中右键 Markdown 文件可选择置顶或取消置顶 |
| 主编辑界面 | Markdown 编辑器 | 支持直接编辑 Markdown 文件,提供源码模式和预览模式切换 |
| 主编辑界面 | 实时预览 | 编辑时实时渲染 Markdown 内容,支持同步滚动 |
| 主编辑界面 | 图片处理 | 支持粘贴图片自动保存到以当前 MD 文件命名的文件夹,图片文件名使用时间戳命名 |
| 搜索界面 | 内容搜索 | 支持在文件内容中搜索,支持正则表达式,可跳转到搜索结果位置 |
| 搜索界面 | 文件搜索 | 支持按文件名搜索,点击结果可直接打开对应文件 |
| 导出界面 | HTML 导出 | 将当前 Markdown 文件导出为 HTML 格式 |
| 导出界面 | PDF 导出 | 将当前 Markdown 文件导出为 PDF 格式,支持自定义水印内容 |
| Git 操作界面 | Git 状态检测 | 自动检测目录中是否存在 .git 文件夹 |
| Git 操作界面 | 提交操作 | 提供提交按钮,点击后弹出输入框输入提交信息 |
| Git 操作界面 | 推送拉取 | 支持 Git 推送和拉取操作 |
### 2.3 右键菜单功能
| 功能类型 | 功能描述 |
|---------|---------|
| 目录操作 | 右键目录可新增文件夹或文件 |
| 文件操作 | 右键文件可删除文件 |
| Markdown 文件操作 | 右键 Markdown 文件可置顶或取消置顶 |
| 文件夹操作 | 右键文件夹可删除文件夹 |
| 重命名 | 右键文件或文件夹可重命名 |
| 路径复制 | 可复制当前文件或目录的路径 |
| 资源管理器 | 可打开当前文件或目录所在的本地文件管理器 |
| 克隆复制 | 可复制克隆文件或目录,并添加 -copy 后缀 |
## 3. 核心流程
### 3.1 文件编辑流程
1. 用户选择本地文件夹,插件加载文件树结构
2. 用户在文件树中点击 Markdown 文件
3. 右侧创建新的标签页,加载文件内容,同时显示实时预览
4. 用户可在多个打开的文件间切换标签页
5. 用户编辑内容,预览面板实时更新
6. 用户可切换源码/预览模式
7. 编辑完成后文件自动保存
8. 文件关闭时从标签页中移除
### 3.2 首页标签流程
1. 插件启动时默认显示首页标签
2. 首页显示最近打开的 Markdown 文件列表最多10个
3. 首页显示置顶的 Markdown 文件列表
4. 用户点击最近打开或置顶的文件,打开对应标签页
5. 置顶状态通过右键菜单控制,配置保存在当前目录的 `.md-helper.json` 文件中
### 3.3 图片处理流程
1. 用户在编辑器中粘贴图片
2. 插件检测粘贴内容包含图片
3. 自动创建以当前 MD 文件名命名的文件夹
4. 图片以时间戳命名并保存到该文件夹
5. 在 Markdown 中自动生成正确的图片引用路径
### 3.3 搜索流程
1. 用户输入搜索关键词,选择搜索类型(内容/文件名)
2. 插件扫描目标文件或目录
3. 显示搜索结果列表,包含文件路径和匹配内容预览
4. 用户点击搜索结果,跳转到对应文件并定位到匹配位置
### 3.4 Git 操作流程
```mermaid
graph TD
A[检测Git仓库] --> B{存在.git文件夹?}
B -->|是| C[显示Git操作按钮]
B -->|否| D[隐藏Git功能]
C --> E[用户选择操作]
E --> F[提交]
E --> G[推送]
E --> H[拉取]
F --> I[输入提交信息]
I --> J[执行提交]
G --> K[执行推送]
H --> L[执行拉取]
```
## 4. 用户界面设计
### 4.1 设计风格
- **主色调**: 深蓝色 (#1890ff) 搭配白色背景,营造专业科技感
- **辅助色**: 浅灰色 (#f5f5f5) 用于背景分隔,深灰色 (#333) 用于文字
- **按钮样式**: 圆角矩形设计,主要操作为实心按钮,次要操作为线框按钮
- **字体**: 使用系统默认字体,编辑器区域使用等宽字体 (Consolas, Monaco)
- **布局**: 左侧固定宽度的文件树,右侧可调整的编辑器和预览面板
- **图标**: 使用简洁的线性图标,符合现代设计趋势
### 4.2 页面布局
| 页面模块 | 布局设计 | 交互元素 |
|---------|---------|---------|
| 文件树面板 | 左侧 250px 固定宽度,可折叠 | 文件夹图标、文件图标、右键菜单 |
| 编辑器区域 | 中间自适应区域,支持分屏 | 编辑工具栏、编辑区域、滚动条 |
| 预览区域 | 右侧可调整宽度,可隐藏 | 预览内容、同步滚动 |
| 顶部工具栏 | 固定顶部,包含主要操作 | 模式切换、搜索、导出、Git 操作 |
| 状态栏 | 底部固定,显示状态信息 | 当前文件、编码、行列号 |
### 4.3 响应式设计
- **桌面端**: 完整三栏布局(文件树+编辑器+预览)
- **平板端**: 文件树可折叠,编辑器和预览可切换显示
- **移动端**: 单栏布局,通过标签页切换不同功能模块
### 4.4 无障碍设计
- 所有交互元素支持键盘导航
- 提供清晰的焦点指示
- 使用语义化 HTML 标签
- 支持屏幕阅读器
- 颜色对比度符合 WCAG 2.1 AA 标准