图床方案汇总

目前 MarkDown 作为一种程序员必备的轻量级标记语言,避免了富文本编辑器换平台就要重新排版的繁琐,使我们可以专注于技术的输出,但使用 markdown 也有弊端,那就是图片的存储问题,markdown 文件要用到图片时必须是一个链接。各个平台都有自己的图片存储方法,在不使用图床的情况下,同一篇文章发布到不同的平台需要单独上传图片一次。如果都放本地这样实在是太麻烦了。

目前最好的解决办法就是使用图床来存储图片

常用免费图床盘点

图床 说明
sm.ms 无需注册,海外服务器【免费】
meotu 要注册,国内服务器【免费】
z4a 图床 要注册,国内服务器【免费】
imgtp 无需注册,国内服务器,最大支持 15MB【免费】
imgbed 无需注册,国内服务器,最大支持 20MB【免费】
聚合图床 要注册,国内服务器【免费】
牛图网 无需注册,日本服务器 【免费】
imgbb 无需注册,亚太服务器【免费】
upload 无需注册,海外服务器 【免费】
catbox 无需注册,海外服务器【免费】
路过图床 要注册,海外服务器【免费】
TG 图床 无需注册,国内外服务器【免费】
Postimages 无需注册,国外服务器速度快【免费】
imgloc 无需注册,国内服务器,最大支持 6MB【免费】

上传图片之前建议压缩一下,可以减少空间使用,并且可以有效加快图片载入速度。比较好的压缩工具如下

在线工具:

两者区别是 TinyPNG 是无损压缩,Imagestool 是有损压缩,不过通过肉眼是区别不出两者的。

本地工具:

  • 格式工厂

图床管理工具

选择好图床后肯定就是上传并使用图片了,这时就会面对一个问题,那就是每次都要去图床上传,然后复制链接,然后回到使用图片的平台粘贴使用。特别麻烦。所以就出现了图床管理工具帮助我们快速上传图片并获取图片 URL 链接。这样就省去了自己操作的繁琐。

以下是一些优秀的图床管理工具

强烈推荐 PicGo,PicGo 支持 smms、 又拍云 、七牛云 、 阿里云 OSS、 腾讯云 COS、微博、Github、 Gitee、 Amazon S3、自定义上传接口。(还支持其他储存)而且还可以选择上传前压缩图片。压缩工具都省了。如果你有更好的建议或推荐的图床,欢迎在下方评论区留言。

其他方案

Github + jsdelivr(不推荐)

由于 jsdelivr 具有不稳定因素,非常不推荐使用这个方式当做图床。

NPM + Github + NPM CDN(不推荐)

这种方式虽然比 Github + jsdelivr 稳定些,但仍然不推荐,调取 npm 过多可能会被 npm 封号,Github 封库,到那时就真的得不偿失了。
因此这两种教程就不在叙述了,也希望,正在如果正在使用这两者方案你的更换一下图床方案。

私有部署图床服务

这类在 Github 上有很多开源项目,例如
GitHub - lsky-org/lsky-pro: ☁️ 兰空图床(Lsky Pro) - Your photo album on the cloud.
GitHub - helloxz/imgurl: ImgURL 是一个简单、纯粹的图床程序,让个人图床多一个选择。
但因为部署成本过高不推荐


Hexo 博客备份与恢复(进阶)

此插件有一个 bug!运行 hexo b 后会把主题文件夹里的.git 文件夹删除,导致无法通过 git pull 来升级主题

当我们要换电脑或者重装电脑系统时,博客的备份就显得很重要了,我们无须通过 U盘 来拷贝整个 blog 文件夹,这种方式太浪费时间,我们只需要使用 hexo-git-backup 这个插件,即可帮我们完美的备份好博客。

博客备份

安装

hexo 版本为 3.xx 以上

1
npm install hexo-git-backup --save

配置

2020 年 10 月 1 日之后,新创建的仓库默认分支为 main,按个人实际情况填写

  1. 新建仓库,自定义仓库名(如:hexo-backup),权限设置为private
  2. 在博客配置文件 D:\blog\_config.yml 中添加以下内容 (非主题配置文件)
1
2
3
4
backup:
type: git
repository:
github: git@github.com:xxx/xxx.git,branchName

如下图:

img

使用

运行 hexo backup 或缩写 hexo b 即可备份博客

1
hexo b

博客恢复

安装 Git

windows:在Git 官网下载.exe 文件,安装选项全部默认,注意其中选择环境变量一步推荐选择 Use Git from the Windows Command Prompt,这样我们就可以直接在命令提示符里打开Git了。

安装 Node.js

hexo 是基于 node.js 编写的,所以需要安装一下 node.js 和里面的 npm 工具。

windows:推荐下载和博客之前运行环境同一版本的 Node.js,安装选项全部默认,一路点击Next
安装好之后,打开 Git Bash,输入 node -vnpm -v,如果出现版本号,那么就安装成功了。

20211223160543

生成 SSH 秘钥绑定 Github

打开 Git Bash,输入

1
2
3
git config --global user.name "yourname"
git config --global user.email "youremail"
ssh-keygen -t rsa -C "youremail"

在 C:\Users\主用户里出现 .ssh 文件夹,里面有 id_rsaid_rsa.pub 两个文件,复制 id_rsa.pub 的内容。

1
cat ~/.ssh/id_rsa.pub

打开Github,在头像下面点击 Settings,再点击 SSH and GPG keys,新建一个 SSH key,名字随便取一个都可以,把刚刚复制 id_rsa.pub的内容粘贴进去。

Git Bash 中输入 ssh -T git@github.com,如果出现你的用户名,那就成功了,如下图所示:

20211223160600

下载博客备份文件

克隆上面个人备份博客的仓库 hexo-backup 到本地 blog 文件夹

1
git clone -o github git@github.com:xxx/xxx.git

安装 Hexo

在 blog 文件夹下 GIt Bash Here

1
npm install hexo-cli -g

安装依赖文件

1
npm install

最后运行 hexo cl && hexo g && hexo d,检查是否成功。

可能遇见的问题

fatal: ‘github’ does not appear to be a git repository
fatal: Could not read from remote repository

报错原因

如果运行 hexo b 的时候出现上述错误,可以按下述方法解决:

1
2
3
4
git remote -v # 查看远程仓库信息
git remote rm origin # 如返回结果为 origin git@github.com:xxx/xxx.git
git remote add github git@github.com:xxx/xxx.git
hexo b