Files
Obsidian/.trae/documents/obsidian-halo功能增强对比计划.md
T
Serendipity 5c4a16dc3a feat(halo-plugin): 新增文章导入、删除和标签分类管理功能
添加从本地 Markdown 文件导入创建文章的功能,支持文件预览和自动发布选项
新增文章删除命令,支持选择性删除 Halo 文章或本地文件
添加标签和分类管理功能,支持创建、编辑和删除操作
更新国际化文案,支持新功能的多种语言界面
扩展服务层以支持文章导入、删除和标签分类管理 API 调用
更新插件版本至 2.1.1 并更新作者信息
2026-04-26 17:23:35 +08:00

5.8 KiB

Obsidian Halo 插件功能增强计划

一、功能对比分析

Halo CLI 已有功能

分类 功能 CLI 支持
文章管理 发布文章 完整
更新文章 完整
删除文章 完整
列出文章列表 完整
查看文章详情 完整
批量操作 PowerShell 脚本
导出/导入 导出为 JSON 完整
导出为 Markdown 完整
从 JSON 导入 完整
从 Markdown 导入 完整
标签管理 列出标签 完整
创建标签 完整
更新标签 完整
删除标签 完整
为文章设置标签 完整
分类管理 列出分类 完整
创建分类 完整
更新分类 完整
删除分类 完整
设置优先级 完整
其他内容 单页管理 完整
搜索内容 完整
系统管理 附件管理 完整
备份管理 完整
动态管理 完整
评论管理 完整
插件管理 完整
主题管理 完整

二、Obsidian 插件当前功能

分类 功能 状态
文章管理 发布文章 已实现
更新文章(同步 Halo 到本地) 已实现
列出文章列表 缺失
查看文章详情 缺失
删除文章 缺失
批量发布 缺失
图片上传 自动上传图片 已实现(新增)
标签/分类 为文章设置标签 已实现
为文章设置分类 已实现
创建标签 缺失
创建分类 缺失
管理标签/分类 缺失
导出/导入 从 Markdown 导入 缺失
导出为 Markdown 缺失
导出为 JSON 缺失
其他 单页管理 缺失
搜索 缺失

三、功能优先级建议

高优先级(核心功能)

  1. 文章列表查看

    • 在命令面板中显示 Halo 文章列表
    • 支持分页、筛选(草稿/已发布)
    • 快速预览文章信息
  2. 导入功能增强

    • 支持从本地 Markdown 文件导入创建文章
    • 智能解析文件路径和文件名
  3. 文章删除功能

    • 添加删除命令(需二次确认)
    • 支持删除本地文件或仅删除 Halo 文章

中优先级(常用功能)

  1. 批量操作

    • 批量发布多篇文章
    • 批量同步已发布文章
    • 批量管理(删除、更新标签等)
  2. 标签/分类管理

    • 创建新标签/分类
    • 查看现有标签/分类列表
    • 更新/删除标签/分类
  3. 导出功能

    • 导出文章为 Markdown
    • 导出文章为 JSON(备份用)

低优先级(增强功能)

  1. 搜索功能

    • 搜索 Halo 文章
    • 快速定位文章
  2. 单页管理

    • 发布/管理独立页面
    • 与文章类似的工作流

四、实施步骤

第一阶段:核心补充(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. 实现单页管理(可选)

请确认需要实现哪些功能,我将制定详细的技术方案。