feat(sync): 添加同步状态面板和历史功能
- 创建同步状态面板视图,显示已发布文章列表和快速操作按钮 - 添加同步历史弹窗,记录和展示同步操作记录 - 在侧边栏添加同步图标,支持快速打开面板 - 更新国际化文件,添加中英文同步相关文案 - 编写详细的使用指南文档,说明所有功能使用方法 - 更新插件主程序,注册新命令和视图
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
# 同步状态面板功能规格说明
|
||||
|
||||
## Why
|
||||
|
||||
当前插件的功能分散在多个命令中,用户难以直观地了解:
|
||||
1. 哪些文章已发布到 Halo
|
||||
2. 文章的同步状态如何
|
||||
3. 最近的操作历史和结果
|
||||
|
||||
需要一个集中的状态管理面板,让用户一眼就能看到所有同步状态。
|
||||
|
||||
## What Changes
|
||||
|
||||
- 新增**同步状态面板**:在 Obsidian 侧边栏显示已发布文章列表及状态
|
||||
- 显示文章同步时间戳、发布状态、本地/Halo 版本差异
|
||||
- 支持快速操作:更新、拉取、删除
|
||||
- 新增使用指南文档
|
||||
|
||||
## Impact
|
||||
|
||||
- Affected specs:
|
||||
- 状态管理和日志
|
||||
- 命令面板增强
|
||||
- Affected code:
|
||||
- 新增 `src/commands/sync-status-panel.ts`:侧边栏面板
|
||||
- 新增 `src/modals/sync-history-modal.ts`:同步历史弹窗
|
||||
- 修改 `src/main.ts`:注册面板命令
|
||||
- 新增 `docs/usage-guide.md`:使用指南
|
||||
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: 同步状态面板
|
||||
|
||||
系统 SHALL 提供一个侧边栏面板,显示已发布到 Halo 的文章列表及其状态。
|
||||
|
||||
#### Scenario: 打开面板
|
||||
- **WHEN** 用户执行"打开同步状态面板"命令
|
||||
- **THEN** 在侧边栏显示面板,包含已发布文章列表
|
||||
|
||||
#### Scenario: 显示文章状态
|
||||
- **WHEN** 面板加载时
|
||||
- **THEN** 显示所有已发布文章的:标题、slug、发布状态、同步时间
|
||||
|
||||
#### Scenario: 快速操作
|
||||
- **WHEN** 用户点击文章的操作按钮
|
||||
- **THEN** 可以快速执行:更新、拉取、删除操作
|
||||
|
||||
#### Scenario: 同步历史
|
||||
- **WHEN** 用户点击"同步历史"按钮
|
||||
- **THEN** 显示最近的操作记录
|
||||
|
||||
### Requirement: 使用指南
|
||||
|
||||
系统 SHALL 提供一份详细的使用指南,说明所有功能的位置和使用方法。
|
||||
|
||||
## MODIFIED Requirements
|
||||
|
||||
无
|
||||
|
||||
## REMOVED Requirements
|
||||
|
||||
无
|
||||
|
||||
---
|
||||
|
||||
## 技术实现细节
|
||||
|
||||
### Obsidian 面板 API
|
||||
|
||||
```typescript
|
||||
// 创建侧边栏面板
|
||||
this.addRibbonIcon("sync-icon", "同步状态", (evt) => {
|
||||
this.openSyncStatusPanel();
|
||||
});
|
||||
```
|
||||
|
||||
### 扫描已发布文章
|
||||
|
||||
通过扫描 Vault 中的所有文件,查找 frontmatter 中包含 `halo.name` 的文件。
|
||||
|
||||
### 状态图标
|
||||
|
||||
- ✅ 已同步(本地和 Halo 版本一致)
|
||||
- ⏳ 待同步(本地有更新)
|
||||
- ⚠️ 有冲突(两边都有更新)
|
||||
|
||||
---
|
||||
|
||||
## 实现优先级
|
||||
|
||||
1. 同步状态面板(核心 UI)
|
||||
2. 同步历史记录(辅助功能)
|
||||
3. 使用指南文档(用户教育)
|
||||
Reference in New Issue
Block a user