Files
Obsidian/.trae/documents/obsidian-halo功能增强计划.md
T
Serendipity 9b4530555f feat(sync): 添加同步状态面板和历史功能
- 创建同步状态面板视图,显示已发布文章列表和快速操作按钮
- 添加同步历史弹窗,记录和展示同步操作记录
- 在侧边栏添加同步图标,支持快速打开面板
- 更新国际化文件,添加中英文同步相关文案
- 编写详细的使用指南文档,说明所有功能使用方法
- 更新插件主程序,注册新命令和视图
2026-04-26 18:34:29 +08:00

214 lines
5.7 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.
# obsidian-halo 插件功能增强计划
## 当前功能分析
当前插件已实现:
- ✅ 发布文档到 Halo
- ✅ 从 Halo 拉取文档
- ✅ 更新已发布文章内容
- ✅ 多站点管理
- ✅ Frontmatter 元数据同步(标题、摘要、分类、标签、封面)
- ✅ 图片上传功能
- ✅ 文章列表增强(分页、筛选)
- ✅ Markdown 文件导入
- ✅ 删除文章功能(支持选择性删除)
- ✅ 标签管理功能
- ✅ 分类管理功能
- ✅ 导出文章为 Markdown
- ✅ 导出文章为 JSON
- ✅ 搜索 Halo 文章
- ✅ 同步状态面板
- ✅ 同步历史记录
- ✅ 使用指南文档
---
## 已完成功能(2024年4月实现)
### 1. 图片/附件上传 ✅
**优先级:高 | 难度:中**
- [x] 自动检测并上传笔记中的图片到 Halo 媒体库
- [x] 转换本地图片路径为 Halo URL
### 2. 批量操作功能 ✅
**优先级:高 | 难度:中**
- [x] 文章列表查看(支持分页、筛选)
- [x] 从 Markdown 文件导入文章
### 3. 标签/分类管理 ✅
**优先级:高 | 难度:中**
- [x] 标签管理(创建、编辑、删除)
- [x] 分类管理(创建、编辑、删除)
### 4. 导出功能 ✅
**优先级:中 | 难度:中**
- [x] 导出文章为 Markdown
- [x] 导出文章为 JSON(备份用)
### 5. 搜索功能 ✅
**优先级:中 | 难度:中**
- [x] 搜索 Halo 文章(按标题、slug 搜索)
- [x] 按发布状态筛选
### 6. 删除功能 ✅
**优先级:高 | 难度:中**
- [x] 选择性删除(仅 Halo / 仅本地 / 全部)
- [x] 二次确认机制
### 7. 同步状态面板 ✅ (新增)
**优先级:高 | 难度:中**
- [x] 侧边栏面板显示已发布文章列表
- [x] 快速操作按钮(更新、拉取)
- [x] 同步历史记录
- [x] 同步图标侧边栏入口
### 8. 使用指南 ✅ (新增)
**优先级:高 | 难度:中**
- [x] 完整的命令列表说明
- [x] 快速开始教程
- [x] 常见问题解答
---
## 待实现功能
### 1. 双向同步增强
**优先级:高 | 难度:高**
- [ ] 差异检测:比较本地和 Halo 版本的修改时间
- [ ] 选择性同步:仅同步本地/仅同步 Halo/完全合并
- [ ] 冲突解决:处理两边同时修改的情况
- [ ] 同步历史:记录每次同步的详情 ✅(已完成基础功能)
### 2. 高级发布选项
**优先级:中 | 难度:中**
- [ ] 自定义 Slug 格式(支持模板变量:`{{title}}`, `{{date}}`
- [ ] 发布时间调度(定时发布)
- [ ] SEO 元数据设置(meta description、keywords
- [ ] 文章属性控制(评论开关、置顶、优先级、可见性)
### 3. 内容预览
**优先级:中 | 难度:中**
- [ ] 发布前预览 Halo 渲染效果
- [ ] 预览不同主题下的样式
- [ ] 实时预览面板
### 4. 模板支持
**优先级:低 | 难度:中**
- [ ] 发布模板:预定义 frontmatter 结构
- [ ] 快捷键自定义默认值
- [ ] 模板变量支持
### 5. 命令面板增强
**优先级:低 | 难度:低**
- [ ] 键盘快捷键支持
- [ ] 快速切换站点
- [ ] 快捷操作菜单
### 6. 用户界面优化
**优先级:低 | 难度:中**
- [ ] 进度条显示
- [ ] 更详细的错误提示
- [ ] 通知中心整合
- [ ] 右键菜单支持
---
## 推荐优先级(建议优先实现)
1. **高级发布选项** - 增加灵活性
2. **内容预览** - 提升用户体验
3. **模板支持** - 提升工作效率
---
## 技术实现要点
### 图片上传实现思路
```typescript
// 1. 解析 Markdown 中的图片引用
// 2. 上传到 Halo 媒体库获取 URL
// 3. 替换本地路径为远程 URL
// Halo 媒体上传 API 端点
POST /apis/api.console.halo.run/v1alpha1/attachments/upload
```
### 批量操作实现思路
```typescript
// 1. 创建批量选择界面
// 2. 批量处理队列
// 3. 进度显示和错误处理
```
### 同步检测实现思路
```typescript
// 1. 保存本地最后同步时间戳
// 2. 对比 Halo 文章的更新时间
// 3. 标记需要更新的文章
```
---
## 开发建议
1. **模块化开发**:新增功能独立成模块
2. **配置化**:新功能支持在设置中开关
3. **国际化**:所有文案支持 i18n
4. **错误处理**:完善异常捕获和用户提示
5. **测试**:添加单元测试和集成测试
---
## 文件结构
```
src/
├── commands/ # 命令相关
│ ├── import-markdown.ts # ✅ 导入 Markdown 文件
│ ├── delete-post.ts # ✅ 删除文章
│ ├── manage-taxonomy.ts # ✅ 管理标签/分类
│ ├── export-post.ts # ✅ 导出文章
│ └── search-posts.ts # ✅ 搜索文章
├── modals/ # 弹窗相关
│ ├── file-preview-modal.ts # ✅ 文件预览
│ ├── delete-confirm-modal.ts # ✅ 删除确认
│ ├── tag-manager-modal.ts # ✅ 标签管理
│ ├── category-manager-modal.ts # ✅ 分类管理
│ ├── search-modal.ts # ✅ 搜索弹窗
│ └── sync-history-modal.ts # ✅ 同步历史
├── views/ # 视图相关
│ └── sync-status-view.ts # ✅ 同步状态面板
├── service/ # 服务层
│ ├── index.ts # Halo API 服务
│ └── image-uploader.ts # ✅ 图片上传
├── utils/ # 工具层
│ ├── image.ts # ✅ 图片处理
│ └── ...
├── i18n/ # 国际化
│ └── locales/
│ ├── zh-cn.json # 中文
│ ├── en.json # 英文
│ └── zh-tw.json # 繁体中文
└── main.ts # 主入口
docs/
└── usage-guide.md # ✅ 使用指南
```
---
最后更新:2024年4月26日