搭建Hexo博客时踩过的一些坑
使用Jsdelivr加速博客
之前看了许多教程,一直都没能解决这个问题,困扰了我三四天之久。偶然间得到高手指点,才终于弄明白了这个问题。再次特别感谢云玩家大神对我的指导,这是他的网站https://zplayer.cloud/
使用Jsdelivr加速博客时,我们并不需要像很多教程说的那样再去新建一个仓库,两个仓库绕来绕去很容易绕晕像我这样的新手玩家,我们只需要用我们原有的仓库即可。
你不需要注册, 甚至连登陆它的网站都不用, 就可以免费使用 Jsdelivr 加速, 简直业界良心啊有木有. Jsdelivr 可以加速 Github 上的静态文件, 很多主题都有配置, 我们这里介绍如何通过 Jsdelivr 引用 Github 资源.
你可以认为 Jsdelivr 里放了你传上 Github 的文件 (这个 ‘放’ 的过程是自动的, 只要 Github 上有资源, 就会被 ‘放’ 到 Jsdelivr 上), 由于 GFW 的关系, 国内访问 Github 上的资源是很慢的, 那么我们可以通过访问 Jsdelivr 来间接访问 Github 上的资源.
Github 上的某个资源是有其位置的, 如何访问一个 Github 资源? 你只需要知道:
- 用户名
- 仓库名
- 资源在仓库中的位置
同样, Jsdelivr 中的某个资源也是有其位置, 如何访问一个经 Jsdelivr 加速的 Github 资源? 你同样只需要知道:
- 用户名
- 仓库名
- 资源在仓库中的位置
我们访问互联网上的资源均需要通过url(统一资源定位器)
当我们通过GitHub访问Github上的资源时,资源引用的url格式是:
https://www.github.com/用户名/仓库名/master/资源在仓库中的位置
当我们通过Jsdelivr访问GitHub的资源时,资源引用的url格式是:
https://cdn.jsdelivr.net/gh/**用户名/仓库名/资源在仓库中的位置**
Jsdelivr加速的原理就是,把静态资源的 url 全部替换为 Jsdelivr 的 url (比如图片等资源)。
在一些主题中已经自带了 config 文件,那么我们根据上面的指示直接操作即可,以 matery 为例:
我们只需要按要求配置即可:
jsDelivr:
url: https://cdn.jsdelivr.net/gh/skdjq/skdjq.github.io
在我们配置完成后如果再按照hexo clean
、hexo g
、hexo d
分步去执行可能会出现以下状况:
这是因为此时GitHub还没来得及更新造成的,原理我也不知道,但我们可以这样解决:
hexo cl && hexo g -d
这样就解决了。
Hexo引用图片不显示
在很多时候,我们在插入图片的时候本地预览时明明可以显示,一旦hexo d
布署到本地就显示不出来了,这属实令人头疼。那么我们到底有没有解决的方法呢,当然有,就是使用我们自己搭建的图床。
PicGo + Gitee搭建图床
现在主流的图床搭建就是 PicGo + Gitee 或 PicGo + GitHub ,相比于 GitHub ,Gitee 访问图片的速度更快,但仓库容量却比 GitHub 小得多,但就我个人而言往往插入的图片不是很多,所以选用了加载速度更快的 PicGo + Gitee 搭建图床。
新建仓库
这一步就不多说了,在 Gitee 新建一个仓库用来存放图片,名字任意,懂得都懂。
设置私人令牌
设置 -> 私人令牌 -> 生成新令牌
注意在生成新令牌之后,我们将令牌复制到剪切板中,待会要用,切记!
配置Gitee图床
首先我们需要下载 PicGo 软件,这个请读者自行百度下载。
接着打开软件,点击软件界面中的插件设置,然后进行搜索:输入内容:picgo-plugin-gitee,你会发现,有两个插件,选择第一种(gitee 1.2.2-beta)。
安装完成后,重启PicGo应用,图床设置选项就会出现一个Gitee图床,然后进行点击,设置如下内容:
url:这里填写码云官方的网址
owner:填写你的用户名
repo:填写你的图床仓库名称
path:图片存储路径
token:填写上面教程中你设置的私人令牌
message:不需要填
之后我们将需要上传的图片拖入上传区即可,当我们再次引用图片时,直接引用 PicGo 图床里的图片即可。芜湖~准备起飞!
v1.5.2