图床方案汇总

目前 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