使用GitHub和PicGo搭建个人图床

在撰写技术博客或文档时,图片管理是一个常见且重要的问题。将图片直接放在本地会导致文档迁移困难,而使用第三方图床服务又可能面临稳定性和隐私问题。本文将介绍如何利用GitHub的免费存储空间和PicGo工具搭建个人专属图床,实现高效、稳定的图片管理。

什么是图床?

图床(Image Hosting)是指专门用于存储图片的网络服务器。通过图床,我们可以将图片上传到云端,并在文档中通过URL引用这些图片。这样不仅减少了本地存储压力,也使得文档可以在任何地方被正确渲染。

为什么选择GitHub + PicGo?

GitHub的优势

  1. 免费存储:GitHub为每个仓库提供1GB的存储空间,对于个人博客完全足够
  2. 版本控制:可以方便地管理图片的历史版本
  3. 可靠性高:GitHub作为全球最大的代码托管平台,稳定性有保障
  4. 支持CDN加速:可以通过jsDelivr等CDN服务加速图片访问

PicGo的优势

  1. 跨平台支持:支持Windows、macOS、Linux系统
  2. 简单易用:图形化界面操作,配置简单
  3. 多平台支持:除了GitHub,还支持七牛云、阿里云、腾讯云等多种图床
  4. 快捷上传:支持拖拽上传、剪贴板上传等多种方式

搭建步骤

1. 创建GitHub仓库

首先,我们需要在GitHub上创建一个专门用于存储图片的仓库:

  1. 登录GitHub,点击右上角的"+"号,选择"New repository"
  2. 填写仓库名称,如"blog-images"
  3. 添加描述(可选)
  4. 选择"Public"(公开仓库,这样才能通过CDN访问)
  5. 勾选"Initialize this repository with a README"(可选)
  6. 点击"Create repository"

2. 生成访问令牌(Token)

为了安全地上传图片,我们需要创建一个GitHub访问令牌:

  1. 点击GitHub右上角的头像,选择"Settings"
  2. 在左侧菜单中找到"Developer settings"
  3. 选择"Personal access tokens" → "Tokens (classic)"
  4. 点击"Generate new token" → "Generate new token (classic)"
  5. 设置令牌描述,如"PicGo图床"
  6. 勾选权限:至少需要勾选"repo"(完全控制仓库)
  7. 点击"Generate token"
  8. 重要:复制生成的令牌并妥善保存,离开页面后将无法再次查看

3. 安装和配置PicGo

安装PicGo

配置GitHub图床

  1. 打开PicGo,在左侧选择"图床设置" → "GitHub图床"
  2. 填写配置信息:
    • 仓库名:用户名/仓库名(如:ChadDongDongChen/blog-images)
    • 分支:main(默认分支)
    • Token:粘贴之前生成的GitHub Token
    • 存储路径:img/(可选,用于分类管理图片)
    • 自定义域名:https://cdn.jsdelivr.net/gh/用户名/仓库名@分支
  3. 点击"确定"保存配置
  4. 点击"设为默认图床"

4. 测试上传功能

  1. 在PicGo的"上传区"拖拽一张图片或点击"选择文件"
  2. 上传成功后,图片URL会自动复制到剪贴板
  3. 可以点击"相册"查看所有已上传的图片

5. 配置Typora实现自动上传

如果你使用Typora编写Markdown文档,可以配置其自动上传图片到图床:

  1. 打开Typora,进入"文件" → "偏好设置"
  2. 选择"图像"选项卡
  3. 在"上传服务"中选择"PicGo(app)"
  4. 点击"验证图片上传选项"测试配置是否成功
  5. 之后在Typora中粘贴图片时,会自动上传到图床并替换为线上地址

使用jsDelivr进行CDN加速

虽然GitHub本身可以访问图片,但速度可能较慢。我们可以使用jsDelivr进行CDN加速:

  1. 图片的原始GitHub地址格式为:

    1
    https://raw.githubusercontent.com/用户名/仓库名/分支/图片路径
  2. 转换为jsDelivr地址:

    1
    https://cdn.jsdelivr.net/gh/用户名/仓库名@分支/图片路径
  3. 在PicGo的"自定义域名"中设置jsDelivr地址后,上传的图片会自动使用CDN加速

最佳实践和注意事项

1. 图片命名规范

  • 使用有意义的英文文件名,避免中文和特殊字符
  • 可以按日期分类:20260326/ubuntu-installation-01.png
  • 保持文件名简洁明了

2. 隐私和安全

  • 不要上传包含敏感信息的图片
  • 定期检查GitHub Token的权限,避免过度授权
  • 如果更换Token,记得更新PicGo配置

3. 备份策略

  • 虽然GitHub很稳定,但仍建议定期备份重要图片
  • 可以使用Git命令本地克隆仓库进行备份

4. 性能优化

  • 对于博客中的图片,适当压缩后再上传
  • 可以使用TinyPNG等工具压缩图片
  • 建议图片大小控制在500KB以内

常见问题解决

1. 上传失败

  • 检查Token是否过期或权限不足
  • 确认仓库名格式是否正确
  • 检查网络连接

2. 图片无法访问

  • 确认仓库是否为公开(Public)状态
  • 检查图片路径是否正确
  • 确认CDN是否生效

3. Typora上传失败

  • 确认PicGo正在运行
  • 检查Typora配置是否正确
  • 尝试重启Typora和PicGo

总结

使用GitHub和PicGo搭建个人图床是一个简单、免费且可靠的解决方案。通过这种方式,我们可以:

  1. 统一管理所有文档中的图片
  2. 实现Markdown编辑器中的自动上传
  3. 通过CDN加速提升图片加载速度
  4. 利用GitHub的版本控制功能管理图片历史

无论是技术博客、项目文档还是个人笔记,一个稳定的图床都能极大地提升写作体验和文档的可维护性。希望本教程能帮助你顺利搭建自己的图床系统!