5c4a16dc3a
添加从本地 Markdown 文件导入创建文章的功能,支持文件预览和自动发布选项 新增文章删除命令,支持选择性删除 Halo 文章或本地文件 添加标签和分类管理功能,支持创建、编辑和删除操作 更新国际化文案,支持新功能的多种语言界面 扩展服务层以支持文章导入、删除和标签分类管理 API 调用 更新插件版本至 2.1.1 并更新作者信息
211 lines
5.8 KiB
Markdown
211 lines
5.8 KiB
Markdown
# Obsidian Halo 插件功能增强计划
|
|
|
|
## 一、功能对比分析
|
|
|
|
### Halo CLI 已有功能
|
|
|
|
| 分类 | 功能 | CLI 支持 |
|
|
|------|------|---------|
|
|
| **文章管理** | 发布文章 | ✅ 完整 |
|
|
| | 更新文章 | ✅ 完整 |
|
|
| | 删除文章 | ✅ 完整 |
|
|
| | 列出文章列表 | ✅ 完整 |
|
|
| | 查看文章详情 | ✅ 完整 |
|
|
| | 批量操作 | ✅ PowerShell 脚本 |
|
|
| **导出/导入** | 导出为 JSON | ✅ 完整 |
|
|
| | 导出为 Markdown | ✅ 完整 |
|
|
| | 从 JSON 导入 | ✅ 完整 |
|
|
| | 从 Markdown 导入 | ✅ 完整 |
|
|
| **标签管理** | 列出标签 | ✅ 完整 |
|
|
| | 创建标签 | ✅ 完整 |
|
|
| | 更新标签 | ✅ 完整 |
|
|
| | 删除标签 | ✅ 完整 |
|
|
| | 为文章设置标签 | ✅ 完整 |
|
|
| **分类管理** | 列出分类 | ✅ 完整 |
|
|
| | 创建分类 | ✅ 完整 |
|
|
| | 更新分类 | ✅ 完整 |
|
|
| | 删除分类 | ✅ 完整 |
|
|
| | 设置优先级 | ✅ 完整 |
|
|
| **其他内容** | 单页管理 | ✅ 完整 |
|
|
| | 搜索内容 | ✅ 完整 |
|
|
| **系统管理** | 附件管理 | ✅ 完整 |
|
|
| | 备份管理 | ✅ 完整 |
|
|
| | 动态管理 | ✅ 完整 |
|
|
| | 评论管理 | ✅ 完整 |
|
|
| | 插件管理 | ✅ 完整 |
|
|
| | 主题管理 | ✅ 完整 |
|
|
|
|
---
|
|
|
|
## 二、Obsidian 插件当前功能
|
|
|
|
| 分类 | 功能 | 状态 |
|
|
|------|------|------|
|
|
| **文章管理** | 发布文章 | ✅ 已实现 |
|
|
| | 更新文章(同步 Halo 到本地) | ✅ 已实现 |
|
|
| | 列出文章列表 | ❌ 缺失 |
|
|
| | 查看文章详情 | ❌ 缺失 |
|
|
| | 删除文章 | ❌ 缺失 |
|
|
| | 批量发布 | ❌ 缺失 |
|
|
| **图片上传** | 自动上传图片 | ✅ 已实现(新增) |
|
|
| **标签/分类** | 为文章设置标签 | ✅ 已实现 |
|
|
| | 为文章设置分类 | ✅ 已实现 |
|
|
| | 创建标签 | ❌ 缺失 |
|
|
| | 创建分类 | ❌ 缺失 |
|
|
| | 管理标签/分类 | ❌ 缺失 |
|
|
| **导出/导入** | 从 Markdown 导入 | ❌ 缺失 |
|
|
| | 导出为 Markdown | ❌ 缺失 |
|
|
| | 导出为 JSON | ❌ 缺失 |
|
|
| **其他** | 单页管理 | ❌ 缺失 |
|
|
| | 搜索 | ❌ 缺失 |
|
|
|
|
---
|
|
|
|
## 三、功能优先级建议
|
|
|
|
### 高优先级(核心功能)
|
|
|
|
1. **文章列表查看**
|
|
- 在命令面板中显示 Halo 文章列表
|
|
- 支持分页、筛选(草稿/已发布)
|
|
- 快速预览文章信息
|
|
|
|
2. **导入功能增强**
|
|
- 支持从本地 Markdown 文件导入创建文章
|
|
- 智能解析文件路径和文件名
|
|
|
|
3. **文章删除功能**
|
|
- 添加删除命令(需二次确认)
|
|
- 支持删除本地文件或仅删除 Halo 文章
|
|
|
|
### 中优先级(常用功能)
|
|
|
|
4. **批量操作**
|
|
- 批量发布多篇文章
|
|
- 批量同步已发布文章
|
|
- 批量管理(删除、更新标签等)
|
|
|
|
5. **标签/分类管理**
|
|
- 创建新标签/分类
|
|
- 查看现有标签/分类列表
|
|
- 更新/删除标签/分类
|
|
|
|
6. **导出功能**
|
|
- 导出文章为 Markdown
|
|
- 导出文章为 JSON(备份用)
|
|
|
|
### 低优先级(增强功能)
|
|
|
|
7. **搜索功能**
|
|
- 搜索 Halo 文章
|
|
- 快速定位文章
|
|
|
|
8. **单页管理**
|
|
- 发布/管理独立页面
|
|
- 与文章类似的工作流
|
|
|
|
---
|
|
|
|
## 四、实施步骤
|
|
|
|
### 第一阶段:核心补充(1-2 周)
|
|
|
|
#### 任务 1:文章列表功能
|
|
- [ ] 创建文章列表 Modal
|
|
- [ ] 实现分页、筛选功能
|
|
- [ ] 添加快速操作按钮(查看、编辑、删除)
|
|
- [ ] 集成到命令面板
|
|
|
|
#### 任务 2:导入功能
|
|
- [ ] 实现从文件导入创建文章
|
|
- [ ] 智能解析 Markdown 文件
|
|
- [ ] 支持选择文件对话框
|
|
|
|
#### 任务 3:删除功能
|
|
- [ ] 添加删除命令
|
|
- [ ] 二次确认机制
|
|
- [ ] 删除选项(仅 Halo / 仅本地 / 全部)
|
|
|
|
### 第二阶段:常用功能(2-4 周)
|
|
|
|
#### 任务 4:批量操作
|
|
- [ ] 批量选择界面
|
|
- [ ] 批量发布队列
|
|
- [ ] 进度显示和错误处理
|
|
|
|
#### 任务 5:标签/分类管理
|
|
- [ ] 标签管理 Modal
|
|
- [ ] 分类管理 Modal
|
|
- [ ] 创建/编辑/删除功能
|
|
|
|
#### 任务 6:导出功能
|
|
- [ ] 导出为 Markdown
|
|
- [ ] 导出为 JSON(备份)
|
|
- [ ] 选择保存路径
|
|
|
|
### 第三阶段:增强功能(4+ 周)
|
|
|
|
#### 任务 7:搜索功能
|
|
- [ ] 文章搜索 Modal
|
|
- [ ] 快速筛选和定位
|
|
|
|
#### 任务 8:单页管理
|
|
- [ ] 单页发布命令
|
|
- [ ] 单页列表查看
|
|
- [ ] 单页导入/导出
|
|
|
|
---
|
|
|
|
## 五、技术实现建议
|
|
|
|
### API 端点
|
|
|
|
| 功能 | API 端点 |
|
|
|------|----------|
|
|
| 列出文章 | `GET /apis/uc.api.content.halo.run/v1alpha1/posts` |
|
|
| 获取文章 | `GET /apis/uc.api.content.halo.run/v1alpha1/posts/{name}` |
|
|
| 删除文章 | `DELETE /apis/uc.api.content.halo.run/v1alpha1/posts/{name}` |
|
|
| 列出标签 | `GET /apis/content.halo.run/v1alpha1/tags` |
|
|
| 创建标签 | `POST /apis/content.halo.run/v1alpha1/tags` |
|
|
| 列出分类 | `GET /apis/content.halo.run/v1alpha1/categories` |
|
|
| 创建分类 | `POST /apis/content.halo.run/v1alpha1/categories` |
|
|
|
|
### 文件结构建议
|
|
|
|
```
|
|
src/
|
|
├── commands/ # 命令相关
|
|
│ ├── publish.ts
|
|
│ ├── delete.ts
|
|
│ ├── list.ts
|
|
│ ├── import.ts
|
|
│ └── export.ts
|
|
├── modals/ # 弹窗相关
|
|
│ ├── post-list-modal.ts
|
|
│ ├── tag-manager-modal.ts
|
|
│ ├── category-manager-modal.ts
|
|
│ └── search-modal.ts
|
|
├── service/ # 服务层
|
|
│ ├── index.ts # 现有
|
|
│ └── image-uploader.ts # 现有
|
|
└── utils/ # 工具层
|
|
├── image.ts # 现有
|
|
└── ...
|
|
```
|
|
|
|
---
|
|
|
|
## 六、建议实施顺序
|
|
|
|
1. **先实现文章列表**(最常用)
|
|
2. **再实现导入功能**(补全工作流)
|
|
3. **实现删除功能**(完整性)
|
|
4. **实现批量操作**(效率提升)
|
|
5. **实现标签/分类管理**(内容组织)
|
|
6. **实现导出功能**(备份需求)
|
|
7. **实现搜索功能**(快速定位)
|
|
8. **实现单页管理**(可选)
|
|
|
|
---
|
|
|
|
请确认需要实现哪些功能,我将制定详细的技术方案。 |