b72f36926a
- 添加文章搜索命令,支持按关键词筛选和发布状态过滤 - 新增文章导出功能,支持导出为 Markdown 和 JSON 格式 - 扩展国际化配置,添加相关翻译文本 - 更新功能增强计划文档,标记已完成功能 - 移除不再需要的下载信息和插件清单文件
5.1 KiB
5.1 KiB
obsidian-halo 插件功能增强计划
当前功能分析
当前插件已实现:
- ✅ 发布文档到 Halo
- ✅ 从 Halo 拉取文档
- ✅ 更新已发布文章内容
- ✅ 多站点管理
- ✅ Frontmatter 元数据同步(标题、摘要、分类、标签、封面)
- ✅ 图片上传功能
- ✅ 文章列表增强(分页、筛选)
- ✅ Markdown 文件导入
- ✅ 删除文章功能(支持选择性删除)
- ✅ 标签管理功能
- ✅ 分类管理功能
- ✅ 导出文章为 Markdown
- ✅ 导出文章为 JSON
- ✅ 搜索 Halo 文章
已完成功能(2024年实现)
1. 图片/附件上传 ✅
优先级:高 | 难度:中
- 自动检测并上传笔记中的图片到 Halo 媒体库
- 转换本地图片路径为 Halo URL
2. 批量操作功能 ✅
优先级:高 | 难度:中
- 文章列表查看(支持分页、筛选)
- 从 Markdown 文件导入文章
3. 标签/分类管理 ✅
优先级:高 | 难度:中
- 标签管理(创建、编辑、删除)
- 分类管理(创建、编辑、删除)
4. 导出功能 ✅
优先级:中 | 难度:中
- 导出文章为 Markdown
- 导出文章为 JSON(备份用)
5. 搜索功能 ✅
优先级:中 | 难度:中
- 搜索 Halo 文章(按标题、slug 搜索)
- 按发布状态筛选
6. 删除功能 ✅
优先级:高 | 难度:中
- 选择性删除(仅 Halo / 仅本地 / 全部)
- 二次确认机制
待实现功能
1. 双向同步增强
优先级:高 | 难度:高
- 差异检测:比较本地和 Halo 版本的修改时间
- 选择性同步:仅同步本地/仅同步 Halo/完全合并
- 冲突解决:处理两边同时修改的情况
- 同步历史:记录每次同步的详情
2. 高级发布选项
优先级:中 | 难度:中
- 自定义 Slug 格式(支持模板变量:
{{title}},{{date}}) - 发布时间调度(定时发布)
- SEO 元数据设置(meta description、keywords)
- 文章属性控制(评论开关、置顶、优先级、可见性)
3. 内容预览
优先级:中 | 难度:中
- 发布前预览 Halo 渲染效果
- 预览不同主题下的样式
- 实时预览面板
4. 状态管理和日志
优先级:中 | 难度:中
- 插件面板:显示所有同步状态
- 同步历史记录
- 错误日志和告警
- 同步状态图标(同步中、已同步、有冲突)
5. 模板支持
优先级:低 | 难度:中
- 发布模板:预定义 frontmatter 结构
- 快捷键自定义默认值
- 模板变量支持
6. 命令面板增强
优先级:低 | 难度:低
- 键盘快捷键支持
- 快速切换站点
- 快捷操作菜单
7. 用户界面优化
优先级:低 | 难度:中
- 进度条显示
- 更详细的错误提示
- 通知中心整合
- 右键菜单支持
推荐优先级(建议优先实现)
- 双向同步增强 - 高级用户需求
- 高级发布选项 - 增加灵活性
- 状态管理和日志 - 问题排查和监控
- 内容预览 - 提升用户体验
- 模板支持 - 提升工作效率
技术实现要点
图片上传实现思路
// 1. 解析 Markdown 中的图片引用
// 2. 上传到 Halo 媒体库获取 URL
// 3. 替换本地路径为远程 URL
// Halo 媒体上传 API 端点
POST /apis/api.console.halo.run/v1alpha1/attachments/upload
批量操作实现思路
// 1. 创建批量选择界面
// 2. 批量处理队列
// 3. 进度显示和错误处理
同步检测实现思路
// 1. 保存本地最后同步时间戳
// 2. 对比 Halo 文章的更新时间
// 3. 标记需要更新的文章
开发建议
- 模块化开发:新增功能独立成模块
- 配置化:新功能支持在设置中开关
- 国际化:所有文案支持 i18n
- 错误处理:完善异常捕获和用户提示
- 测试:添加单元测试和集成测试
文件结构
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年