近来发现NexT主题升级到了6.2.0,主仓库由iissnan迁移到了theme-next,为了更新页面效果,合并站点与主题的配置文件,于是计划升级一波。

升级目标

  • NexT版本由5.1.3升级至6.2.0
  • Hexo版本由3.4.4升级至3.7.1

升级Hexo

1
2
$ npm -version
5.6.0

由于NexT6.2.0需求Hexo版本至少为3.5.0,因此首先升级Hexo,通过hexo version 查看当前版本(需在Hexo工作目录下进行)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
$ hexo version
hexo: 3.4.4
hexo-cli: 1.1.0
os: Windows_NT 10.0.16299 win32 x64
http_parser: 2.7.0
node: 8.9.4
v8: 6.1.534.50
uv: 1.15.0
zlib: 1.2.11
ares: 1.10.1-DEV
modules: 57
nghttp2: 1.25.0
openssl: 1.0.2n
icu: 59.1
unicode: 9.0
cldr: 31.0.1
tz: 2017b

然后查看可升级的组件

1
2
3
4
5
6
$ npm outdated
Package                 Current  Wanted  Latest  Location
hexo                      3.4.4   3.7.1   3.7.1  hexo-site
hexo-generator-archive    0.1.4   0.1.5   0.1.5  hexo-site
hexo-renderer-marked      0.3.0   0.3.2   0.3.2  hexo-site
hexo-server               0.2.2   0.2.2   0.3.2  hexo-site

以此修改package.json,将hexo和相关待更新组件的版本号更新。修改完成后通过npm更新npm install --save

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
$ npm install --save
npm WARN deprecated titlecase@1.1.2: no longer maintained

> nunjucks@3.1.2 postinstall C:\Users\Yaman\sr-c.github.io\node_modules\nunjucks
> node postinstall-build.js src

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.3 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

added 44 packages, removed 78 packages, updated 21 packages and moved 1 package in 12.845s

再次通过hexo version查看版本,更新完成

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
$ hexo version
hexo: 3.7.1
hexo-cli: 1.1.0
os: Windows_NT 10.0.16299 win32 x64
http_parser: 2.7.0
node: 8.9.4
v8: 6.1.534.50
uv: 1.15.0
zlib: 1.2.11
ares: 1.10.1-DEV
modules: 57
nghttp2: 1.25.0
openssl: 1.0.2n
icu: 59.1
unicode: 9.0
cldr: 31.0.1
tz: 2017b

升级NexT

参照官方文档,重新为新版本NexT配置一个目录,相当于重新安装一个新的主题。 同时,参照NexT的建议,将配置文件放置在站点目录的/source/_data/next.yml中。

注意——语言配置 NexT新版本中将zh-Hans改为了更为通用的zh-CN,注意在配置文件中更正,否则语言配置无效。

参考来源: https://tommy.net.cn/2018/02/26/upgrade-hexo-to-v3-5-0/ http://zerosoul.github.io/2016/06/15/upgrade-hexo-to-3-2/