Hexo + Github 部署博客踩坑


模板渲染错误

Hexo 解析出错:

Template render error: unknown block tag

Template render error: tag name expected

markdown中包含

1
2
3
{{ }}
或者
{% %}

的时候会被当做 hexo中的标签,实际上 hexo并没有这种自定义的标签,所有造成解析出错。

解决方案

1
2
3
{{ }}
或者
{% %}

用下面代码包裹住:

1
2
{% raw %}
{% endraw %}

修改后的 markdown原文为:

1
2
3
{% raw %}{{ xxx }}{% endraw %}
或者
{% raw %}{% xxx %}{% endraw %}

使用 ""code""”包裹住的代码(代码块内的代码),不需要修改。

localsearch 卡死

按照next文档设置到 localsearch 之后,点击搜索按钮一直在转圈圈的地方卡死,必须刷新页面才能恢复,搜索功能报废。

控制字符:在编辑器中显示的像很小的BS, 表示backspace的意思。一般是在输入时,按了后退或者删除会偶尔出现这个字符。

网上查到的都是说控制字符在Hexo NexT Local Search 会导致search.xml渲染失败,搜索框一直在转圈。

解决方法:找到控制字符,并删除。

显示控制字符

mac vocode 默认隐藏控制字符的,可以开启

1
"editor.renderControlCharacters": true

让控制字符显示出来。然后我开启之后依然没有看到控制字符。

插件删除控制字符

vscode插件 Remove backspace control character可以自动删除控制字符。

这个问题一般出现在标签页含有webview时发生,所以在升级到vscode最新版后,在写代码时要注意,不要开启任何有webview的标签页,其中包括

  • 关闭markdown渲染插件实时渲染的功能
  • 关闭vscode欢迎页标签页

最后我是如何解决的呢?

一篇篇将md文件移除 _post文件夹,找到有问题的 md文件。然后使用 vscode编辑保存了下,就自动好了,localsearch 可以用了。

应该是安装了 Remove backspace control character插件开启了保存文件自动格式化文件删除控制字符。

但是我至始至终都没有见到控制字符,也无法输入控制字符,比较迷,反正最后好了。

参考:

vscode控制字符引起的问题以及解决思路

HEXO-NexT 的 Local Search 转圈圈问题

Hexo问题及解决办法汇总

Mac 上的 VSCode 编写 Markdown 总是出现隐藏字符?

未知错误

image-20190415140446650

这也是奇怪,md文件都是用 Python 脚本生成的(以前写好的文件,使用脚本添加 titledatetagscategory),其他几篇都没问题,偏偏这篇出问题。原因未知,但是中途好像消除了这个 bug,也不知道怎么消除的,后来又出现了。

image-20190415140753486

解决

经多次测试发现原来是标题中的 []引发的问题,去掉 []完美运行。

自定义域名配置

自定义域名的配置的时候需要在 blog/source 目录下建立 CNAME 文件,并在其中写入域名,此处需要注意,域名需要 www.开头。因为当不使用 www.开头的时候,每次部署之后都会提示 https 不可用,而且每次部署之后都需要去 github 项目设置中将域名修改为 www开头,并启用 https,所以推荐使用 www.开头。


文章作者: 湮灭星空
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 湮灭星空 !
评论
  目录