写在前面

其实图床和图床工具有很多,比如七牛云, postimg, SM.MS 等,这些三方的资源各有各的优势,也各有各的局限,考虑之后决定还是用 github 来搭建自己的图床。

当然不是为了刷github的流量,一是考虑到自己对图片总量的需求量不是很大,三是部分图片需要上传无损无压缩的原图,三来自定义的一些静态资源也可以通过github来引入(配置jsDelivr 加速)。当然,最主要的原因,还是想折腾一下。

一. 创建github repo

创建仓库的过程这里不在赘述,注意一点就好, 创建过程中的仓库权限 选择 public。

二. 生成 token

依次选择 Settings –> Developer settings –> Personal access tokens,

点击 Generate new token。

这个token 只会出现一次,一定要保存好,后面配置picGo 要用

三. 安装picGo 客户端

下载地址: https://github.com/Molunerfinn/PicGo/releases

选择适合自己系统的版本下载安装即可,windows系统安装之后如下图。

四. 配置picgo

如图, 点开GitHub图床进行设置:

  • 设定仓库名: 必填, 格式为 用户名/仓库名, 如 user/demo-repo
  • 设定分支名: 必填, 默认master, 注意,github 现在新建仓库 master 分支变成了 main 分支
  • 设定Token: 必填, 将之前生成的token 复制粘贴到这里。
  • 指定存储路径: 选填,默认 imgs/, 会在仓库里面创建imgs 文件夹, 上传的图片会保存在该文件夹下。
  • 设定自定义域名: 选填, 这里我们启用 jsDelivr 加速, 所以格式限定为: https://cdn.jsdelivr.net/gh/$user/$repo-name@$branch, 将user, repo-name, 和 branch 替换成实际的值即可。

五. 上传和使用

上传区上传的图片会出现在github仓库中,同时也会在picGo 客户端相册中呈现。

复制图片地址,就可以在md 中直接引用了。图床就到这里实现了。picgo 还有一些插件,可以实现 压缩, 添加水印等小功能, 可以慢慢摸索。

六. 图床之外, 静态资源

除了做图床之外, 配置了 jsDelivr 的仓库还可以为我们提供其他的静态资源。

比如上传到该仓库 一个 demo.js, 路径为 /js/demo.js

则可以通过: https://cdn.jsdelivr.net/gh/$user/$repo-name@$branch/js/demo.js 进行访问和引用。

补充: 限制

Github 单个仓库的最大支持容量是100G, 这个容量是绝对够用的,但是当单个仓库的容量超过1G的时候,会有审核机制,如果发现被用作图床,会有被删库或封号的风险。

另外,Github 支持上传的单个文件大小是100m, 但是jsDelivr支持加速的最大文件为50m,这里需要注意下。

这些限制其实对于个人博客小站来说是很宽容的,50m的大小和1G的限制是足够使用了。总之,值得折腾。