# hexo 更换 shoka 主题 出现的问题
PS: 由于出现问题的时候没有及时截图,所以下面的文章里没有相关图片,十分抱歉
# hexo g 出现 yaml.safeLoad () is remove
错误信息大概是这样的,主要是第一句
err: Error: Function yaml.safeLoad is removed in js-yaml 4. Use yaml.load instead, which is now safe by default.
at Object.safeLoad (D:Github_Hexo\hexo\node_modules\js-yaml\index.js:10:11)
at Hexo. (D:Github_Hexo\hexo\themes\shoka\scripts\generaters\config.js:41:41)
at Hexo.tryCatcher (D:Github_Hexo\hexo\node_modules\bluebird\js\release\util.js:16:23)
at Hexo. (D:Github_Hexo\hexo\node_modules\bluebird\js\release\method.js:15:34)
at D:Github_Hexo\hexo\node_modules\hexo\lib\extend\filter.js:67:52
at tryCatcher (D:Github_Hexo\hexo\node_modules\bluebird\js\release\util.js:16:23)
这玩意挺坑人的,查了半天文档才知道 yaml.safeLoad
已经弃用,得用 yaml.load
代替
可苦了我这个搞嵌入式的
去 theme\shoka\scripts\generaters\config.js
文件的 第 41 行 将 yaml.safeLoad
修改为 yaml.load
# hexo g 出现 Template render error
ps: 果然和我想的一样这篇博客 hexo g 就出错,诸位自行把 全角符号修改为半角符号即可
我被这个问题折磨了一天,怎么说呢出现这个问题的原因有很多,我是通过新建博客一步步排查,查出来的...
可能只适用于我自己和当前博客主题
我这边出现这个问题的原因是两个
- 文章中可能出现了
{{``}}
,{%
%}
这种 hexo 无法转义的字符,核心原因就是 hexo 转义时候发生的错误,{% %} {{}} 是 yaml 的一个语法
网上都是这么说的,让后你自己一查发现没有。这都是假象,你用 git 的 bash 去查找的时候会发现一个极其怪异的现象
所有图片都被翻译成了{{
}}
{%
%}
, 而且还不是一对的..., 我没有太大的兴趣去琢磨为什么,所以就只是简单的对图片用了外链接
git bash 查找 这几个符号的命令如下
grep -r '{{' source
grep -r '}}' source
grep -r '{%' source
grep -r '%}' source
- 对应的 js 未安装也会导致这个问题
当我改完了这个 bug 之后,我发觉还是没有解决,重新新建本地博客后,发现一开统计点击量就会 error 然后去补装了 hexo-symbols-count-time
也可以复制这个直接安装npm install hexo-symbols-count-time
# hexo d 发布到 GitHub 时出现 openssl 433 或 time out 433
这里我电脑上是因为,运行了小猫咪所以出现这个问题。诸位如果使用其他 VPN 需要自行修改端口
如果使用小猫咪,没有修改过端口的话,直接复制可用 (不要着急 cv)
git config --global http.proxy 127.0.0.1:7890
git config --global https.proxy 127.0.0.1:7890
配置完毕后,建议先 hexo clean
之后再执行 hexo g -d
如果你配置过代理,那么请先取消后再尝试一次,取消命令如下
git config --global --unset http.proxy #取消git的http代理配置
git config --global --unset https.proxy #取消git的https代理配置
在取消之前或者配置之前先最好先查看一下代理配置相关信息,命令如下
git config --global http.proxy #查看git的http代理配置
git config --global https.proxy #查看git的https代理配置
git config --global -l #查看git的所有配置
# Hexo 部署 Github Pages 自定义域名失效的问题
之前在这写博客少,也不想动脑子解决问题,所以每一次手动添加 CNAME. 现在忍不了,动手改了改
找到 hexo 博客根目录下的 source 文件.(注意,不是主题的 source 文件).
当 hexo 生成静态页面时,根目录下的 source 文件夹中的内容,就会在生成的网页根目录中
你可以在部署到 github 后,在仓库中查看,此时本地根目录下 source 文件夹的内容就在仓库的根目下.
从此之后,再也不需要手动上传 CNAME 了
# 写在最后
上面的问题都是基于我自己的主题和环境配置,测试出来的问题
以后遇到什么问题也会在这里继续跟新的
如果没到帮到各位表示十分抱歉 (#_<-)
能帮到大家就更好啦(^∀^●)ノシ