介绍
为 Hexo 添加 Steam 游戏库页面
注意,本插件会和hexo s
命令冲突,请使用hexo se
或hexo server
代替hexo s
命令!
安装
$ npm install hexo-steam-games --save
更新
$ npm install hexo-steam-games --update --save
配置
将下面的配置写入站点的配置文件_config.yml
里(不是主题的配置文件).
steam:
enable: true
steamId: '*****' #steam 64位Id
path:
title: Steam游戏库
quote: '+1+1+1+1+1'
tab: recent
length: 1000
imgUrl: '*****'
proxy:
host:
port:
- enable: 是否启用
- steamId: steam 64 位 Id(需要放在引号里面,不然会有 BUG),需要将 steam 库设置为公开!
- path: 番剧页面路径,默认
steamgames/index.html
- title: 该页面的标题
- quote: 写在页面开头的一段话,支持 html 语法
- tab:
all
或recent
,all: 所有游戏
,recent: 最近游玩的游戏
- length: 要显示游戏的数量,游戏太多的话可以限制一下
- imgUrl: 图片链接,在
quote
下面放一张图片,图片链接到 Steam 个人资料,可留空 - proxy: 如果无法访问 steam 社区的话请使用代理
- host: 代理 ip 或域名
- port: 代理端口
使用
- 在
hexo generate
或hexo deploy
之前使用hexo steam -u
命令更新 steam 游戏库数据! - 删除游戏库数据指令:
hexo steam -d
手动获取游戏库数据
如果hexo steam -u
命令一直获取游戏库数据失败,可以用以下方法手动获取游戏库数据:
浏览器打开
https://steamcommunity.com/profiles/{steamId}/games?tab={tab}
,{steamId}
和{tab}
分别替换为上面配置中提到的steamId
和tab
网页加载完成后,打开浏览器控制台(按
F12
),输入以下代码并回车:let script = jQuery('script[language="javascript"]'); var games = []; for (let i = 0; i < script.length; i++) { if (script.eq(i).html().includes("rgGames")) { let rgGames = script.eq(i).html().match(/var.*?rgGames.*?=.*?(\[[\w\W]*?\}\}\]);/); if (rgGames) { games = JSON.parse(rgGames[1]); break; } } } document.write(JSON.stringify(games))
将生成的内容复制到
博客根目录/node_modules/hexo-steam-games/data/games.json
文件内,如果没有对应的文件或目录,请自行创建