Hexo踩坑
YAMLException:can not read a block mapping entry
问题
hexo s
的时候出现bug,意思是在问题出现的行处“YAMLException: 无法读取一个块映射条目;多行键可能不是一个隐式键”。
看了好多人的解决方案是在冒号:
后面添加一个空格space,但是我用这个方法并没有解决问题。
解决方式
后来经过尝试,发现是报错位置有问题,title
参数后面的冒号后忘记加上空格了,加上就好了。
iconfont本地引入失效
问题
因为iconfont
的图标有点小,例如下图中的Gitee
图标就是16x16的,而其它fontawsome
的图标就是*x19的。
但是我改成本地引入后就不显示图标了,更改方式是在butterfly
主题的_config.yml
中的inject
参数里进行如下配置。
结果就是引入后不显示Gitee图标了。
浏览器F12一下,发现是没有成功找到这个文件
解决方式
引入的iconfont
文件必须放到css
的根目录下,放到子目录就会引入失效,不知道是什么原因。。。
FATAL SyntaxError: Unexpected token } in JSON at position 229
问题
我在终端输入hexo -v
的是时候发现输出这个错误FATAL SyntaxError: Unexpected token } in JSON
解决方式
根据错误提示,是在某个json
文件里的某个}后面有错误,经过回忆我发现是我hexo\package.json
里的这里多了个,
。
去掉这个逗号就👌了。
permalink设置
默认的permalink
配置是
1 | permalink::year/:month/:day/:title/ |
这会导致新生成的文章每次都需要手动更改Front Matter
里的copyright_url
参数。我更希望根据模板生成的文章里的参数尽量少需要二次更改的,觉得很麻烦🤣
我把permalink
改成
1 | permalink:posts/:title/ |
这样我就可以根据模板生成的文档Front Matter
里就可以少修改一些了。
附上我的模板参数设置。
1 | title: {{ title }} |
Hexo文章链接不对
hexo
根据模板新建文章
1 | hexo new post xxx |
问题
发现文章末尾的版权板块里的copyright_url
即文章链接部分点击进去却404找不到页面
。
如下图所示:
仔细查看文章链接发现https://lizilong.netlify.app/配置github图床-picgo-core上传-jsdelivrcdn/
发现URL里全是小写,并且所有的+全被替换为了-。
解决方式
-
hexo new
的时候注意避免使用大写和+,如果确实需要使用也记得在Front Matter
里修改copyright_url
。 -
使用rozbo/hexo-abbrlink等插件给每篇文章创建唯一短链接,具体见官网。
我使用的是第二种方式。
手机端不显示图片
问题
电脑端正常显示,但是手机端不显示图片,只有开启VPN才能正常显示图片。猜测是图片CDN的问题。
解决方式
暂时无解,jsDelivr国内经常失效。。。
等找到更好用的CDN再更新。
图片懒加载不明显
问题
开启了lazyload
了但是感觉好像没开。
解决方式
因为没有设置placeholder
的原因,按如下修改即可。
1 | lazyload: |
附上butterfly官方下载地址loading.gif (340×340) (butterfly.js.org)。
hexo-generator-feed中文乱码
问题
如题,只能生成atom类型,并且中文乱码。
经过测试发现本地预览中文乱码,但是部署到网站后显示是正常的🤣。
解决方式
暂无。
hexo-tag-cloud 配置
问题
如题,按照D0n9X1n/hexo-tag-cloud教程实施,结果没有效果。
解决方式
经过hexo/butterfly社区提醒为什么我按照Hexo-tag-cloud的官方配置修改结果没有效果呢 · Discussion #1143 · jerryc127/hexo-theme-butterfly (github.com)发现了问题所在。
1 | ```pug |
canvas参数理解可以看这篇文章javascript - canvas.width和canvas.style.width区别以及应用 - createjs由浅入深 - SegmentFault 思否。