Files
Obsidian/.trae/documents/obsidian-halo功能增强计划.md
T
Serendipity b72f36926a feat(halo): 新增文章搜索和导出功能
- 添加文章搜索命令,支持按关键词筛选和发布状态过滤
- 新增文章导出功能,支持导出为 Markdown 和 JSON 格式
- 扩展国际化配置,添加相关翻译文本
- 更新功能增强计划文档,标记已完成功能
- 移除不再需要的下载信息和插件清单文件
2026-04-26 17:35:37 +08:00

195 lines
5.1 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年实现)
### 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] 二次确认机制
---
## 待实现功能
### 1. 双向同步增强
**优先级:高 | 难度:高**
- [ ] 差异检测:比较本地和 Halo 版本的修改时间
- [ ] 选择性同步:仅同步本地/仅同步 Halo/完全合并
- [ ] 冲突解决:处理两边同时修改的情况
- [ ] 同步历史:记录每次同步的详情
### 2. 高级发布选项
**优先级:中 | 难度:中**
- [ ] 自定义 Slug 格式(支持模板变量:`{{title}}`, `{{date}}`
- [ ] 发布时间调度(定时发布)
- [ ] SEO 元数据设置(meta description、keywords
- [ ] 文章属性控制(评论开关、置顶、优先级、可见性)
### 3. 内容预览
**优先级:中 | 难度:中**
- [ ] 发布前预览 Halo 渲染效果
- [ ] 预览不同主题下的样式
- [ ] 实时预览面板
### 4. 状态管理和日志
**优先级:中 | 难度:中**
- [ ] 插件面板:显示所有同步状态
- [ ] 同步历史记录
- [ ] 错误日志和告警
- [ ] 同步状态图标(同步中、已同步、有冲突)
### 5. 模板支持
**优先级:低 | 难度:中**
- [ ] 发布模板:预定义 frontmatter 结构
- [ ] 快捷键自定义默认值
- [ ] 模板变量支持
### 6. 命令面板增强
**优先级:低 | 难度:低**
- [ ] 键盘快捷键支持
- [ ] 快速切换站点
- [ ] 快捷操作菜单
### 7. 用户界面优化
**优先级:低 | 难度:中**
- [ ] 进度条显示
- [ ] 更详细的错误提示
- [ ] 通知中心整合
- [ ] 右键菜单支持
---
## 推荐优先级(建议优先实现)
1. **双向同步增强** - 高级用户需求
2. **高级发布选项** - 增加灵活性
3. **状态管理和日志** - 问题排查和监控
4. **内容预览** - 提升用户体验
5. **模板支持** - 提升工作效率
---
## 技术实现要点
### 图片上传实现思路
```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 # ✅ 搜索弹窗
├── service/ # 服务层
│ ├── index.ts # Halo API 服务
│ └── image-uploader.ts # ✅ 图片上传
├── utils/ # 工具层
│ ├── image.ts # ✅ 图片处理
│ └── ...
└── main.ts # 主入口
```
---
最后更新:2024年