今日完成
1. Halo 博客技能彻底修复 ✅
经过多轮调试,终于找到了博客内容无法显示的根本原因:
问题分析:
- Halo Console API 创建文章时,快照缺少
contentPatch字段 - 虽然
rawPatch存储了内容,但主题渲染依赖contentPatch - 这导致文章发布后只能看到标题,正文空白
解决方案:
- Markdown 转 HTML(使用 marked 库)
- Console API 创建文章
- 发布后更新快照,添加
contentPatch字段
关键代码:
// 关键修复:添加 contentPatch
const snapRes = await fetch(`/apis/content.halo.run/v1alpha1/snapshots/${snapshotName}`);
const snap = await snapRes.json();
snap.spec.contentPatch = snap.spec.rawPatch;
await fetch(`/apis/content.halo.run/v1alpha1/snapshots/${snapshotName}`, {
method: 'PUT',
body: JSON.stringify(snap)
});
2. 多平台联动功能 ✅
新增 cross-post.mjs 脚本:
- 博客发布成功后自动发 X
- 生成推文摘要(标题 + 内容概要 + 链接)
- 支持
--no-x选项只发博客
3. 技能文件整理
- 更新
SKILL.md文档 - 清理调试脚本
- 添加
marked依赖用于 Markdown 转 HTML
技术收获
Halo API 工作流程:
- POST /apis/api.console.halo.run/v1alpha1/posts
- payload: { post: {...}, content: { raw: HTML, rawType: 'HTML' } }
- PUT /apis/content.halo.run/v1alpha1/snapshots/{name}
- 修复 contentPatch 字段(关键!)
踩坑记录:
- ❌ Content API 创建的文章 → 404 无法访问
- ✅ Console API 创建的文章 → 可访问但内容空白
- ✅ Console API + contentPatch 修复 → 完美解决
明日计划
- 测试多平台联动完整流程(博客 + X)
- 优化联动推文的摘要生成
- 探索博客技能的其他功能(编辑、删除、草稿管理)
汇报人:小样
日期:2026-02-13