不知道为什么,本地预览和线上部署不一样,不仅不一样,线上的数据还完全紊乱了。
上网搜的原因是需要 next 升级了。
自这一篇开始, next 从 5.1 更新至 7.7.2
如果你和我出现一样的原因,那么你就需要升级 next
打开分类页和标签页,出现 404 ,原因是url 后面自动添加了空格(unicode编码)
上一页和下一页错乱,成为 html 源码
本地预览和线上不一样
升级
克隆新的仓库到任一异于 next 的目录(如 next-reloaded)【cd 到 themes 中执行】:
git clone https://github.com/theme-next/hexo-theme-next next-reloaded
执行完这个,我的本地有两个主题,一个是 next(旧的),一个是 next-reloaded
在 Hexo 的主配置文件中设置主题:
在 项目 中的 _config.yml
...
theme: next-reloaded
...
更新语言设置
从 v6.0.3 版本起,zh-Hans 改名为 zh-CN
升级到 v6.0.3 及以后版本的用户,需要显式修改 Hexo 主配置文件 _config.yml 里的 language 配置,否则语言显示不正确。
将原来的配置迁移到新的配置
原来 next 的配置文件在 next 文件夹中 _config.yml,但是,不能把文件进行直接替换,这样会出错。
只能根据自身情况,一个个的替换。
这也是为什么要保留 next 的原因。
我修改的内容如下:
mathjax 开启
search 开启
mermaid 开启
迁移样式文件
在老版的 next 中,在 source -> css -> _custom -> custom.styl
这个里面可以自定义样式,但是,新版没有这个文件,即便是新建也读取不到
所以,首先,我们要在 ~\themes\next-reloaded\source\css 的 main.styl 文件末尾加入引用即可。
@import "_custom/custom.styl";
然后,我们再创建老版的那个目录和文件,把里面的内容复制过来,就完成自定义样式的迁移。
修改文字大小
新版默认的字太大了
在themes\next\source\css_variables下的base.styl中有这么一块:
// Font size
$font-size-base = 1em;
$font-size-base = unit(hexo-config('font.global.size'), em) if hexo-config('font.global.size') is a 'unit';
$font-size-smallest = .75em;
$font-size-smaller = .8125em;
$font-size-small = .875em;
$font-size-medium = 1em;
$font-size-large = 1.125em;
$font-size-larger = 1.25em;
$font-size-largest = 1.375em;
我将
font-size-base 改成了 0.9 还挺好的
新版 next 的好处
- 渲染速度极快,之前需要 2 分钟,现在只需要 4 秒
- 更加健壮,也对格式要求更加仔细,在老版中一些写的不规范的,在新版中都不能使用,然后我一个文件一个文件(591篇)的修改,耗费了我一整天的时间。(主要是,以前拍版太难看了,借着这次机会,我打算大力的整改一下)
- 哪里出错了,也说明地方(老版就算出错了,也不知道哪里出错,非常不方便)