前言

事情的起因是语雀导出的 md 文件的图片自带防盗链,所以想把文章发往博客还得需要人工手动复制图片再上传一次。当文章的图片很多时,就会十分吃力。

所以本人借助 AI 做了这样的一个脚本。

🔑 第一步:生成GitHub Token

  1. 访问 https://github.com/settings/tokens
  2. 点击 “Generate new token” → “Generate new token (classic)”
  3. 在 “Select scopes” 中勾选:repo(完全仓库访问)
  4. 点击 “Generate token”,复制这个token(只显示一次!)

📝 第二步:创建脚本

脚本中的相关配置会在最后一小节中给出,大家可以直接用最后一小节的模板即可

📦 第三步:安装依赖

在命令行运行:

🚀 第四步:使用脚本

然后按照提示:

  1. 输入你的GitHub Token(从第一步复制)

  1. 输入要转换的MD文件路径

  1. 脚本会自动下载、上传、替换!(省去了手动操作还是很不错的(^^) )

一个小问题:

最后只有一张没有上传成功:不过这已经不是什么大问题了

GitHub API在更新现有文件时需要提供当前文件的 sha 值。这是因为同一时间内可能会生成相同的时间戳文件名。

更新脚本:

最终版本:

1、创建配置文件模板(不用自己创建!)

📋 配置说明

首次运行后会生成 config.json,内容如下:

配置项说明

配置项说明示例
github. tokenGitHub Personal Tokenghp_xxxxx
github.repo图床仓库XVSHIFU/Picture-bed
github.branch存储图片的分支img
github.folder存储图片的文件夹img
cdn.url_templateCDN链接模板https://cdn.jsdelivr.net/...
settings.timeout下载超时时间(秒)15
settings.upload_delay上传间隔(秒)0.5
settings.verify_ssl验证SSL证书true

2、主脚本(带配置文件支持)

3、使用说明

语雀MD图片自动上传工具

自动将语雀导出的Markdown文件中的图片上传到GitHub图床,并替换链接。

✨ 功能特性

  • ✅ 自动下载语雀CDN上的图片

  • ✅ 上传到GitHub个人图床

  • ✅ 自动替换MD中的图片链接为jsdelivr CDN链接

  • ✅ Token本地保存,无需每次输入

  • ✅ 配置文件管理,方便多人使用

  • ✅ 支持断点续传(同名文件自动更新)

🚀 快速开始

1️⃣ 环境要求
2️⃣ 第一次使用
  1. 输入GitHub Token(从 https://github.com/settings/tokens 获取)
  2. 输入GitHub仓库信息(格式: USERNAME/repo-name)
  3. 自动生成配置文件 config.json
3️⃣ 后续使用

直接运行脚本,输入MD文件路径:

Token会自动从 config.json 读取,无需每次输入!

4、使用演示

准备 token:

ghp_sl2HW72K*************35l2qr

创建脚本:

准备语雀导出的文档:其中图片都是语雀链接的

文档地址:E:\MyBlog2.0\yuque_converter\test\0. Agent 型内存马.md

配置环境:

python 安装就不演示了

pip install requests

运行脚本:

python yuque_md_converter.py

输入 token

输入仓库信息:

输入分支和图片文件夹信息:

输入要转换的文档的路径:

接下来就会开始自动上传图片了:

已经全部上传成功:

后续使用就不需要再次输入 token 了:

会按照 config.json 文件中的配置运行