折腾手记

运维!!运维!!

0%

升级到Hexo5

背景

升级Nodejs,结果Hexo报错,上网查了一下,原来是Nodejs版本太高。

因为懒,Hexo一直没有升过级,还是用的5年前的版本。到Hexo官网看看,最新的已经是5.1版本了,决定升级Hexo,并将过程记录如下。

升级需求很简单,保留Next主题,保留Git发布,保留markdown图片自动生成功能

安装

按照Hexo官网

1
2
3
mkdir Hexo5
cd Hexo5
npx hexo init

系统下载好hexo,初始化hexo目录,完成很顺利。

插件

1
2
3
4
cd Hexo5
npm install hexo-deployer-git --save
npm install hexo-theme-next
npm install hexo-simple-image --save

这三个插件在hexo官网上都能找到。

第一个是git发布。

第二个是next主题,老版本Hexo的主题文件都在theme目录下,现在采用插件方式。

第三个是markdown图片插件,替代了原来的hexo-asset-image

使用hexo-simple-image插件,vscode的配置稍有不同,如下

1
"pasteImage.insertPattern": "${imageSyntaxPrefix}./${imageFilePath}${imageSyntaxSuffix}"

增加了./

配置

主配置文件还是Hexo5\_config.yml,配置基本同原来配置,修改了一个地方

1
language: zh-CN

Next配置和原来不一样,原来Next是在theme目录下,改为插件以后,在node_modules目录下。按照官网配置方法,将hexo5\node_modules\hexo-theme-next\_config.yml文件拷贝到hexo5\_config.next.yml,即

1
2
cd Hexo5
cp hexo5\node_modules\hexo-theme-next\_config.yml hexo5\_config.next.yml

修改_config.netx.yml,具体的配置方法可以参见https://www.jianshu.com/p/9f0e90cc32c2

便利

总是使用npx hexo不方便,写了一个powershell脚本,起名hexo.ps1供调用

1
2
3
4
5
6
7
Push-Location
Set-Location ...\hexo5
npx hexo $args
Pop-Location

write-host "Press any key to continue..."
$null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')