feat(halo): 添加图片上传功能并完善发布流程
- 实现图片上传服务,支持检测并上传本地图片到 Halo - 优化发布流程,添加详细日志和错误处理 - 更新任务清单和检查列表以反映完成状态 - 添加 Halo 博客写作技能文档
This commit is contained in:
@@ -120,28 +120,40 @@ export default class HaloPlugin extends Plugin {
|
||||
}
|
||||
|
||||
private async publishCommand() {
|
||||
console.log("[HaloPlugin] 执行发布命令");
|
||||
|
||||
const { activeEditor } = this.app.workspace;
|
||||
console.log(`[HaloPlugin] activeEditor: ${activeEditor ? '存在' : '不存在'}`);
|
||||
|
||||
if (!activeEditor || !activeEditor.file) {
|
||||
console.log("[HaloPlugin] 没有打开的编辑器,退出");
|
||||
return;
|
||||
}
|
||||
|
||||
console.log(`[HaloPlugin] 当前文件: ${activeEditor.file.path}`);
|
||||
|
||||
const matterData = this.app.metadataCache.getFileCache(activeEditor.file)?.frontmatter;
|
||||
console.log(`[HaloPlugin] frontmatter: ${JSON.stringify(matterData)}`);
|
||||
|
||||
if (matterData?.halo?.site) {
|
||||
console.log(`[HaloPlugin] 检测到已发布的文章,站点: ${matterData.halo.site}`);
|
||||
const site = this.settings.sites.find((site) => site.url === matterData.halo.site);
|
||||
|
||||
if (!site) {
|
||||
console.log("[HaloPlugin] 未找到匹配的站点配置");
|
||||
new Notice(i18next.t("command.publish.error_no_matched_site"));
|
||||
return;
|
||||
}
|
||||
|
||||
console.log(`[HaloPlugin] 找到站点: ${site.name}, URL: ${site.url}`);
|
||||
const service = new HaloService(this.app, this.settings, site);
|
||||
await service.publishPost();
|
||||
return;
|
||||
}
|
||||
|
||||
console.log("[HaloPlugin] 文章未发布过,需要选择站点");
|
||||
const site = await openSiteSelectionModal(this);
|
||||
console.log(`[HaloPlugin] 选择站点: ${site.name}, URL: ${site.url}`);
|
||||
const service = new HaloService(this.app, this.settings, site);
|
||||
await service.publishPost();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user