修复使用NexT主题的Hexo博客显示空白问题

问题描述:在本地可以预览,但是部署到线上之后网站显示空白,可以看到很多网络请求报错。

这个主要是由GitHub的Jekyll更新引起的,GitHub Pages过滤掉了source/vendors目录的访问,所以需要更换目录名称就可以。NexT主题作者已经更新了代码,可以选择直接更新主题。

如果不想更新主题的话,我写了一个自动处理的脚本,放到hexo博客目录下执行即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/sh
#修复next主题空白页问题
cd themes/next
mv source/vendors source/lib
# 替换所有的vendors为lib
find . -type f -maxdepth 1 |
while read file
do
echo $file
sed 's/vendors/lib/g' < $file > $file.tmp
mv $file.tmp $file
done
# 把_config.yml文件里的第一个lib改回vendors
sed 's/lib:/vendors:/1' _config.yml > _config.yml.tmp
mv _config.yml.tmp _config.yml
cd ../../
# 删除public目录重新生成
rm -rf public
hexo g
hexo d

关于问题的讨论在这里:https://github.com/iissnan/hexo-theme-next/issues/1214