Skip to content
Go back

升级 Hexo 和对应的主题 NexT Theme 的版本

 at  Updated: 5 min read
Edit

最近准备重新捡起很久没写的博客,在浏览器里打开博客页面,发现博客页面的样式文件已经丢失,就像年久失修的房屋一样。想要重新开始写博客,首要的是升级下博客使用的静态页面模板。

以下命令行操作,如果没有特殊描述,都是在博客文件夹根目录下执行。

升级 Hexo 版本

思路:主要先升级 node.jshexo-cli 的版本,其次借助 npm 相关工具包的能力,更新 hexo 下依赖的部分 npm 包的版本,主要是插件部分。

  1. 升级 node.js 版本。v12 -> v14

由于我使用的是 nvm 管理 node.js 的相关版本,直接使用 nvm use 即可。

nvm install v14
nvm use v14
  1. 升级 hexo-cli 版本。

或者卸载重新安装 hexo-cli

npm install -g hexo-cli
  1. 更新 npm 插件

安装工具包

npm install -g npm-check
npm install -g npm-upgrade

升级 npm 依赖,按照提示升级对应插件的版本即可

npm-check
npm-upgrade
npm update -g

升级 Next Theme 版本

老版的 hexo 安装主题是直接把主题拉取放到 theme 目录下,自从 5.0 版本之后,支持通过 npm 包的方式安装主题。所以我删除了原本的 theme 主题,通过 npm 安装了最新版本的 NexT Theme。

NexT Theme 文档:

If you’re using Hexo 5.0 or later, the simplest way to install is through npm:

npm install hexo-theme-next

新版的主题配置文件,博客根目录下 _config.next.yml。 至此,基本上的版本升级就完成了。不过由于版本跨度的原因,我没有保留原有的 NexT 的配置文件,而是直接在配置现有的主题配置文件。

博客本地图片链接修复

老版本依赖 hexo-asset-image 提供引用本地相对路径图片的能力,以使用原生 Markdown 渲染,自从 Hexo 5 版本后,该插件就失效了,所以使用 hexo-asset-img 插件替换。

卸载 hexo-asset-image 插件,安装 hexo-asset-img

npm uninstall hexo-asset-image --save
npm install hexo-asset-img --save

不过实际尝试之后,发现 about 页面的图片仍然无法展示,暂时先搁置该问题了。

自定义域名

  1. 域名服务商处配置 DNS CANME 记录。

  2. 添加 CNAME 文件 Github Pages 提供了自动域名的能力,不过由于 Hexo 每次部署都是重新推送文件到 Github 仓库,所以在设置中配置自定义域名会被覆盖,解决办法是在 source 文件夹下添加文件名为 CNAME 的文件即可。

Hexo 的文档中提到:

若你使用了一个带有 CNAME 的自定义域名,你需要在 source/ 文件夹中新增 CNAME 文件。

文件内容示例,以我的域名为例:

blog.guanglai.me

谷歌网站验证

在启用 Google Search Consloe 提交网站收录时,需要验证网站所有权,Google 给的其中之一的方式是在网站首页添加 HTML 标记。

google site verification page
google site verification page

在 NexT 的配置文件中 _config.next.yml 配置如下内容,配置对应 token 即可。

google_site_verification: your_token

图片缩放

<p>
<img src="./picture-in-hexo/test.jpg" title="图片标题" alt="没有加载时显示的内容" style="zoom:25%">
<div class="img-alt is-center" align="center">图片标题2</div>
</p>

特殊配置

参考


Edit
文章标题:升级 Hexo 和对应的主题 NexT Theme 的版本
文章链接: https://blog.guanglai.me/posts/update-hexo-7-x-and-theme-next-8-x/

商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接。您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但分发衍生作品时必须采用相同的许可协议。

本文采用 CC BY-NC-SA 4.0 进行许可。


Previous Post
已读乱码 001
Next Post
LeetCode 147 链表的插入排序