GitHub 图床
GitHub 图床把文件写入指定仓库和分支,并返回图片地址。内置 ID 是 github。下面以 owner/docs-images 仓库的 main 分支为例;owner 是占位用户名。
1. 准备仓库与分支
创建或选择一个用于图片的仓库,并确保它已经初始化,例如存在 README。确认分支名称是 main、master 或你自己实际使用的分支。上传器不会替你创建仓库或分支。
需要在公开文章中展示的图片,应先确认仓库中的资源能被读者匿名读取。私有仓库的下载地址可能要求认证,上传成功不代表公开文章能显示。
2. 创建可写入的令牌
在 GitHub 的 Settings → Developer settings → Personal access tokens → Fine-grained tokens 中创建令牌。选择对应资源所有者,只允许目标仓库,授予 Contents: Read and write,设置有效期并保存令牌。组织仓库可能需要管理员批准。
只把令牌填进本机 PicList。入口与权限条件见 GitHub 令牌指南与仓库内容 API。
3. 填写 PicList 配置
展开 图床 → GitHub → 新增配置:
| 字段 | 示例 | 说明 |
|---|---|---|
| 配置名 | Docs images | PicList 中的名字 |
| repo | owner/docs-images | 用户或组织 / 仓库;不填完整网页 URL |
| branch | main | 已存在的分支 |
| token | 本地填写 | 有仓库内容写权限的令牌 |
| path | images/ | 仓库中的保存目录 |
| customUrl | 初次测试留空 | 可选的资源访问前缀 |
| webPath | 初次测试留空 | 自定义域名下对应的目录 |
确认保存,点击卡片选择它,并设为默认图床。配置卡片说明适用于所有内置平台。
4. 上传并验证链接
- 在上传页确认 GitHub 与配置名。
- 上传 photo.png。
- 在仓库的 main → images/ 中检查 photo.png。
- 到 PicList 相册复制 URL,确认它在未登录的浏览器中也能加载。
- 改用 Markdown,再粘贴到编辑器预览。
未填写 customUrl 时,上传器使用 GitHub API 返回的 download_url。公开仓库的示例形如:
https://raw.githubusercontent.com/owner/docs-images/main/images/photo.png这是占位地址。不要复制仓库的 blob 网页地址当作图片 URL。
自定义资源前缀
只有确认你使用的资源服务已能读取仓库内容后才填写。例如:
| 字段 | 示例 |
|---|---|
| customUrl | https://raw.githubusercontent.com/owner/docs-images/main |
| path | images/ |
| webPath | 留空,跟随上传目录 |
生成地址应仍以 /images/photo.png 结尾。自定义前缀已包含目录时,核对 webPath,避免重复目录。CDN 或浏览器缓存可能延迟显示变化。
文件名相同会发生什么?
同一仓库、分支和路径已存在相同内容时,上传器可复用已有文件。路径相同但内容不同会产生冲突,不应期待静默覆盖。
连续上传不同截图时,启用自动命名,例如 {filename}-{str-6} 或 {Y}{m}{d}-{ulid}。希望更新现有文件时,使用明确的仓库编辑流程并验证引用。
常见问题
| 现象 | 如何检查 |
|---|---|
| 401 / 403 | 令牌有效期、仓库范围、Contents 写权限和组织批准 |
| 404 | repo 格式、账号权限、仓库与目标分支是否存在 |
| 422 或文件冲突 | 已有路径是否保存不同内容;更换名称后测试 |
| 上传成功但文章不显示 | 使用可匿名读取的图片地址,检查是否粘贴了网页地址 |
| 图片仍是旧版本 | 在仓库检查实际内容,再检查 URL、浏览器或 CDN 缓存 |
要查看来自其他设备的仓库图片,可以另外创建云端管理配置;相册只记录本机上传历史。