hexo配置追番页面 — Node.js 22
hexo配置追番页面 — Node.js 22
hexo 可以连接bilibili,加一个番剧页面,但是网上很多教程都是使用
hexo-bilibili-bangumi
这个插件实现的,但是hexo-bilibili-bangumi
在 Node.js 18+ 下无法使用,所以我就重新做了一个新的加载方法。效果可以看我的博客Wenjie Wang - 拾光的老人中
生活/追番
页面
一、抓取脚本(构建时拉取 B 站数据)
新建文件:source/scripts/fetch_bangumi.cjs
// source/scripts/fetch_bangumi.cjs |
若你的追番列表是非公开,要在系统里设置环境变量
BILI_SESSDATA
(从浏览器 Cookie 里复制自己的SESSDATA
值),否则接口可能返回空数组。
二、页面(读取本地 JSON 渲染三个标签)
新建文件:source/bangumi/index.md
--- |
三、把它接入 Hexo
- 安装依赖:
npm i axios --save |
- 在
package.json
替换成如下代码:
{ |
其实就是把下面这一部分代码加进去
{
"scripts": {
"bangumi:fetch": "node scripts/fetch_bangumi.mjs",
"build": "npm run bangumi:fetch && hexo g",
"start": "npm run bangumi:fetch && hexo s"
}
}
- 设置你的 UID(以及可选的 SESSDATA)后运行:
PowerShell(Windows):
$env:BILI_UID="你的B站UID"
# 若追番是私密的,还需要:
# $env:BILI_SESSDATA="你的SESSDATA"
npm run build # 会先自动抓取 -> 生成 data.json -> 再生成站点
npm run server # 预览 http://localhost:4000/bangumi/或者临时前缀(Git Bash/CMD):
BILI_UID=你的UID npm run start
# 可选:BILI_SESSDATA=你的SESSDATA npm run start
脚本会生成:source/bangumi/data.json
然后你的 source/bangumi/index.md
页面(我之前给的那个)会从同目录读取 data.json
,三个标签「想看/在看/已看」就会有内容了。
使用
以后使用的话要先运行
npm run build # 自动抓取 -> 生成 data.json -> 再生成站点 |
之后正常运行
hexo clean && hexo g && hexo s |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Wenjie Wang!
评论