Hexo建站日记(三)——添加个人豆瓣主页

在博客里集成豆瓣主页是我从一开始就想做的功能,在这里感谢 hexo-douban 的作者 Mythsman 为我们开发了这样一个简单又实用的插件,他的女朋友居然还是我的校友 hhh。从他的博文里,能看出他不仅是一个很有技术力的大佬,也是一个热爱生活、内心细腻且有担当的人。

安装和配置插件

在博客根目录下使用 npm 命令npm install hexo-douban --save进行安装。之后,在博客配置文件/_config.yml中,添加以下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
douban:
user: xxxxxx
builtin: false
book:
title: '阅读'
quote: '书到读时才有光'
movie:
title: '电影'
quote: '火车上的旅程'
game:
title: 'This is my game title'
quote: 'This is my game quote'
timeout: 10000
user: 在豆瓣的个人主页查看地址栏的 URL,如:"https://www.douban.com/people/xxxxxx/",将 "xxxxxx" 填在这里
builtin: 是否将生成页面的功能嵌入hexo shexo g中,若设置为 true 则每次使用上述命令都会自动更新博客的豆瓣页面
title: 页面的标题
quote: 页面的引子,会显示在标题的下方,条目列表的上方
timeout: 爬取数据的超时时间,单位 ms
不需要显示的主页内容可以直接注释掉,例如我的博客就没有游戏页面。当 builtin 选项为默认的 false 时,需要使用命令手动生成页面: hexo douban -bgm,参数-b-g-m分别代表生成书籍、游戏和电影页面,可根据需求自行选择。

安装插件之后,由于缩写相同,不可再使用 hexo d 作为 hexo deploy 命令的简化
每次使用 hexo clean 命令都会清除生成的豆瓣页面

使用nvm进行版本管理

一切都配置好后,我键入hexo douban命令,但发现出现如下提示:

0 books have been loaded in 934 ms, because you are offline or your network is bad

显然,插件并没有爬取到任何内容。好在项目的 GitHub 中已经有人提了这个 issue,是由于 Node.js 版本过高与插件不兼容所致。但由于作者目前没有精力适配新的版本,我只能将 Node.js 进行降级,可以简单地卸载并重新安装旧版,也可以使用 nvm 这个工具进行版本管理,这样可以方便地在不同版本的 Node.js 之间进行切换。

安装好 nvm 后,输入nvm install 12.18.0安装适配版本的 Node.js,再用nvm use 12.18.0指定使用这个版本。不确定是否成功的话,可用node -v命令查看当前使用的 Node.js 版本。

由于重装了 Node.js,我们还要在新的版本上安装 hexo 组件,为了避免文件丢失我备份了一次博客文件夹。Git bash 博客根目录,依次安装:

1
2
3
npm install -g hexo-cli
npm install
npm install hexo-deployer-git --save

这里要注意,和第一次安装 hexo 不同,重装不要进行 hexo init 操作!

到此已经可以正常使用 hexo 了。

菜单栏配置

hexo douban 命令实际上是在 /movies/ 下(或 /books/ 等)生成了对应的 index.html,我们可以直接在themes/next/_config.yml里配置菜单栏,与 archives、tags 等页面相同,我这里用的 icon 是 fas fa-book 和 fas fa-film。

1
2
3
menu:
books: /books/|| fas fa-book
movies: /movies/|| fas fa-film

最后在themes/next/language/zh-Hans.yml里设置好对应的中文名:

1
2
3
menu:
books: 书籍
movies: 电影