Hexo问题归总

  • ~1.80K 字

使用GitHub的Pages搭建了自己的博客并使用了Shoka主题

显示视频

目前在markdown中使用的是video标签来显示视频,代码如下

1
2
3
4
5
6
<video
id="video"
controls=""
src="https://image.log1992.cn/WeChat_20180919180323.mp4"
preload="https://log1992.cn/usr/themes/handsome/usr/img/sj/4.jpg">
</video>

在Typora中的预览效果如下

但是Shoka主题使用的是hexo-renderer-multi-markdown-it渲染器,导致在最终显示的时候会直接显示成HTML代码,查看主题作者博客后,发现了使用Hexo Tag的方法,但是作者的代码示例只有audio的,在F12后总算是搞清了实际使用方法

Tips:由于主题在代码块中写media video会直接加载视频,所以这里是截图展示

效果如下

注意:编辑这个最好在其他文本编辑器,否则会显示成这样

图床问题

部署在本地时,所有图片加载正常。推送到GitHub后,图片就都挂了。看了下,作者使用的图床为新浪图床,目前新浪图床因为防盗链,已经用不了了。但是个人很喜欢自带的二次元小姐姐图片,所以想继续使用。查遍了各种方法,终于找到一个靠谱点的

这里我使用的是百度的图片缓存服务

1
https://image.baidu.com/search/down?url=图片地址

进入hexo - themes - shoka - scripts - helpers ,打开engine.js文件

大概第30行,修改

1
2
3
4
5
6
7
var parseImage = function(img, size) {
if (img.startsWith('//') || img.startsWith('http')) {
return img
} else {
return 'https://image.baidu.com/search/down?url=https://tva'+randomServer+'.sinaimg.cn/'+size+'/'+img
}
}

重新hexo clean -> hexo g -> hexo d ,等待部署完成后问题得到解决

评论系统修复

Shoka使用的魔改valineGitHub上显示上一次维护还是在三年前,在LeanCloud注册国际版后,进入应用管理 - 应用凭证得到AppIDAppKey,填入Shoka_config.yml中,

但是发现leanCloud相关的接口都报错了,在应用管理 - 安全中心找到Web 安全域名,将自己的域名填进去后,发现依然报错,查询后发现是REST API 服务器地址不对,使用系统提供的AppID前八位的域名也是没有效果。

直接在应用管理 - 域名绑定中添加域名

在域名解析管理后台添加CNAME验证通过后,在Shoka_config.yml中找到valine配置组,修改serverURLs 为我们的域名即可。

部署到GitHub自定义域名绑定

在GitHub仓库的Settings- Pages界面的Custom domain 填入自己的域名后save

去域名解析管理后台添加CNAME验证通过后就可以通过域名访问我们的博客了,但是每次更新博客,使用hexo d部署到GitHub,发现域名有失去绑定了,需要重新绑定,很麻烦。在Code标签页我们发现有一个CNAME文件,里面就是我们的自定义域名。

hexo - source目录下新建CNAME文件,文件中写入我们的自定义域名,保存,文件如果有后缀名,记得去掉。重新hexo clean -> hexo g -> hexo d后,自定义域名就会自动在部署到时候关联上

赞助喵
非常感谢您的喜欢!
赞助喵
分享这一刻
让朋友们也来瞅瞅!