Hexo主题Butterfly版本升级到3.2.0

更新方式

由于想要由github的方式更换为npm插件方式,所以需要先清除旧版本,再安装新版本。
原来github的方式如果想要把博客源文件提交到github的话,git根目录下的子文件也存在git,会出现冲突,已经被困扰了很久。

卸载旧版

直接删除themes文件夹下的对应主题即可。注意记得先备份_data文件夹下的配置文件(_config.yml)

安装新版

在博客根目录运行npm i hexo-theme-butterfly --save 安装插件并保存到package.json文件
(如需卸载请使用npm uninstall hexo-theme-butterfly --save

迁移配置

在博客根目录添加_config.butterfly.yml文件,将旧配置文件_config.yml,删除无用项(与默认项相同的配置可以直接删除,默认项为插件主题文件夹下的_config.yml)

遇到的问题

  1. 警告 Deprecated config detected: "use_date_for_updated" is deprecated, please use "updated_option" instead. See https://hexo.io/docs/configuration for more details. , 因为use_date_for_updated项已废弃,请参阅官方文档说明,删除配置项即可
  2. 错误
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ERROR {
err: D:\Develop\mine\Project\testblog\node_modules\hexo-theme-butterfly\package.json:2
"_from": "hexo-theme-butterfly",
^
SyntaxError: Unexpected token ':'
at new Script (node:vm:100:7)
at createScript (node:vm:261:10)
at runInThisContext (node:vm:309:10)
at D:\Develop\mine\Project\testblog\node_modules\hexo\lib\hexo\index.js:303:18
at tryCatcher (D:\Develop\mine\Project\testblog\node_modules\bluebird\js\release\util.js:16:23)
at Promise._settlePromiseFromHandler (D:\Develop\mine\Project\testblog\node_modules\bluebird\js\release\promise.js:547:31)
at Promise._settlePromise (D:\Develop\mine\Project\testblog\node_modules\bluebird\js\release\promise.js:604:18)
at Promise._settlePromise0 (D:\Develop\mine\Project\testblog\node_modules\bluebird\js\release\promise.js:649:10)
at Promise._settlePromises (D:\Develop\mine\Project\testblog\node_modules\bluebird\js\release\promise.js:729:18)
at _drainQueueStep (D:\Develop\mine\Project\testblog\node_modules\bluebird\js\release\async.js:93:12)
at _drainQueue (D:\Develop\mine\Project\testblog\node_modules\bluebird\js\release\async.js:86:9)
at Async._drainQueues (D:\Develop\mine\Project\testblog\node_modules\bluebird\js\release\async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (D:\Develop\mine\Project\testblog\node_modules\bluebird\js\release\async.js:15:14)
at processImmediate (node:internal/timers:462:21)
} Plugin load failed: %s hexo-theme-butterfly

由于之前github方式安装的主题可以使用大写字母开头Butterfly,改为npm后如果使用Butterfly就会报错,请改为butterfly