Skip to content

Latest commit

 

History

History
103 lines (81 loc) · 2.92 KB

File metadata and controls

103 lines (81 loc) · 2.92 KB

图片路径自动处理更新

更新日期

2026-01-07

更新内容

1. 自动复制图片到输出目录

程序现在会自动将生成的图片复制到输出目录的 images/ 子文件夹中,确保 Markdown 文件中的相对路径有效。

2. Markdown 图片路径格式

所有图片使用相对路径格式:

![封面图](./images/封面图文件名.png)
![配图1](./images/配图1文件名.png)

3. 文件结构

/Users/rubyliu/Desktop/wechatknow/
├── article_YYYYMMDD_HHMMSS.md          # Markdown 文件
├── article_YYYYMMDD_HHMMSS.html        # HTML 文件
├── article_YYYYMMDD_HHMMSS_xiumi.html  # 秀米格式
└── images/                              # 图片目录
    ├── gemini_YYYYMMDD_HHMMSS_1.png   # 封面图
    ├── gemini_YYYYMMDD_HHMMSS_2.png   # 配图1
    ├── gemini_YYYYMMDD_HHMMSS_3.png   # 配图2
    └── gemini_YYYYMMDD_HHMMSS_4.png   # 配图3

主要改进

之前的问题

  • 图片路径指向项目源目录
  • Markdown 文件移动后图片无法显示
  • 需要手动复制图片文件

现在的解决方案

  • ✅ 自动复制所有图片到输出目录
  • ✅ 使用相对路径引用图片
  • ✅ 独立的 images 子目录
  • ✅ Markdown 文件可以独立移动使用

技术实现

图片复制逻辑

# 创建 images 子目录
images_dir = os.path.join(self.output_dir, "images")
Path(images_dir).mkdir(parents=True, exist_ok=True)

# 复制图片并转换路径
if cover_image:
    cover_filename = os.path.basename(cover_image)
    dest_cover = os.path.join(images_dir, cover_filename)
    shutil.copy2(cover_image, dest_cover)
    copied_cover = f"./images/{cover_filename}"

Markdown 生成

md_content = self._generate_markdown(
    title=title,
    author="ruby鑫燕",
    content=content,
    cover_image=copied_cover,        # 使用相对路径
    inline_images=copied_inline_images  # 使用相对路径列表
)

兼容性

  • ✅ 与现有 HTML 生成兼容
  • ✅ 与秀米格式生成兼容
  • ✅ 向后兼容旧的文件结构
  • ✅ 支持错误处理(复制失败时降级)

使用方法

无需改变使用方式,程序会自动处理:

cd ~/.claude/skills/wechat-burst-gen
GETNOTE_API_KEY="..." GETNOTE_KB_ID="..." python main.py "文章主题" -c 分类 --no-feishu

生成的文件会自动包含正确的图片路径。

测试验证

已验证场景:

  • 封面图复制和引用
  • 多张配图复制和引用
  • Markdown 图片显示
  • 输出目录不存在时自动创建
  • 图片文件复制失败时的降级处理

注意事项

  1. 图片格式:目前支持 PNG 格式(Gemini 生成)
  2. 路径格式:使用相对路径 ./images/文件名
  3. 目录结构:必须保持 images 文件夹与 MD 文件在同一目录
  4. 移动文件:如需移动 Markdown 文件,请同时移动 images 文件夹