分站内容可能或出现渲染错误或内容过时等问题,请以主站为准!
分站禁止评论,评论请前往主站

介绍

为Hexo添加Steam游戏库页面

安装

1
$ npm install hexo-steam-games --save

更新

1
$ npm install hexo-steam-games --update --save

配置

将下面的配置写入站点的配置文件 _config.yml 里(不是主题的配置文件).

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
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: allrecent, all: 所有游戏, recent: 最近游玩的游戏
  • length: 要显示游戏的数量,游戏太多的话可以限制一下
  • imgUrl: 图片链接,在quote下面放一张图片,图片链接到Steam个人资料,可留空
  • proxy: 如果无法访问steam社区的话请使用代理
    • host: 代理ip或域名
    • port: 代理端口

使用

  1. hexo generatehexo deploy之前使用hexo steam -u命令更新steam游戏库数据!
  2. 删除游戏库数据指令:hexo steam -d

手动获取游戏库数据

如果hexo steam -u命令一直获取游戏库数据失败,可以用以下方法手动获取游戏库数据:

  1. 浏览器打开https://steamcommunity.com/id/{steamId}/games?tab={tab}, {steamId}{tab}分别替换为上面配置中提到的steamIdtab
  2. 网页加载完成后,打开浏览器控制台(按F12),输入以下代码并回车:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    
    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))
  3. 将生成的内容复制到博客根目录/node_modules/hexo-steam-games/data/games.json文件内,如果没有对应的文件或目录,请自行创建

示例

示例页面

Lisense

Apache Licence 2.0