0%

记一次博客系统升级(hexo)

升级吧,我的博客系统

个人是从 3.4 的版本升级到 4.0 版本的,以下内容主要适用于这种情况。

升级 hexo 到 4.0 版本,首先修改 package.json

1
2
-  "hexo": "^3.4.0", # 这儿是你原来的 hexo 版本
+ "hexo": "^4.0.0", # 修改为新的版本

升级脚手架工具

因为是从 3.4 直接升级过来的,所以用 hexo-cli 工具重新生成了一份空的项目,然后复制了文件,发现主要是主题发现了变化。增加了一个分析工具,并没有啥大的变化。

首先得安装 hexo-cli 工具。

1
npm install hexo-cli -g

安装完成后,使用指令查看 hexo-cli 版本,为 3.0.0 。ok。

1
2
3
4
5
6
hexo --version


hexo: 4.0.0
hexo-cli: 3.0.0
...

接下来,生成一个空白的项目。

1
2
hexo init <folder> # <folder> 为你要生成的项目的目录名 例如
hexo init myhexo

然后复制文件到现有的项目,就可以根据版本控制来查看改动,其实没有什么。 主要是依赖的更新和主题里的文件的修改。
然后在 package.json 的文件中添加里 script 脚本

1
2
3
4
5
6
"scripts": {
"build": "hexo generate",
"clean": "hexo clean",
"deploy": "hexo clean && hexo generate && hexo deploy",
"server": "hexo server"
},

至此,hexo 的项目就更新完毕里。

主题也一起升级里吧

此次升级是从 5 的版本升级到 7 的版本。首先给出官网的说明吧。传送门

升级新的主题

首先我们会看到

Main repositorie was rebased from iissnan’s profile to theme-next organization.
代码仓库发生了变化。所以再拉去的话,就得从另外一个仓库拉取了。另外还有扩展插件之类的变化,可以自己去官网看看。我也会在接下来说明,这儿先升级。

另外,在这个页面官网也给出了升级指导书。
很好,但是我不接受你的建议。

首先把配置文件备份下来,然后删除 themes 下的 next 文件夹。接下来执行指令

1
git clone https://github.com/theme-next/hexo-theme-next themes/next # 注意这儿的仓库网址就发生了变化。

修改配置

接下来,我们修改配置就行了。
对照着已经备份的配置文件修改就行。主要就是要注意几个东西。

gitcomment 被移除了,至于因为啥。我是不知道。反正有个代替品。就是 Gitalk,配置一下就可以直接取代,区别不大。

1
2
3
4
5
6
7
gitalk:
enable: true # 修改为 true
github_id: MasterShu # GitHub repo owner
repo: mastershu_blog # Repository name to store issues
client_id: 2a3xxxxxxxxxxxca02ff # GitHub Application Client ID
client_secret: 2a2b89xxxxxxxxxxxxxxxxxxxxxxxxxxx750e43d # GitHub Application Client Secret
admin_user: MasterShu # GitHub repo owner and collaborators, only these guys can initialize gitHub issues

另外一个就是 hexo-symbols-count-time,这个也是有变化,需要安装组建进行配置。就是展示博客的阅读时间的。

1
npm install hexo-symbols-count-time
1
2
3
4
5
6
symbols_count_time:
separated_meta: true
item_text_post: true
item_text_total: false
awl: 4
wpm: 275

至此。升级就算完成了。

升级过程中的一些问题

升级过程中运行 npm run server,会报错。

解决方案是添加 hexo-uitl 和 lodash。

npm install hexo-util lodash