本文最后更新于 天前,内容可能已不再适用!

GitHub starsGitHub language countGitHub top languageGitHub repo sizeGitHub code size in bytesnpm bundle sizenpmGitHub issuesGitHub commit activityGitHub last commitnpmNPM

介绍

为 Hexo 添加 Steam 游戏库页面

注意,本插件会和hexo s命令冲突,请使用hexo sehexo 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: 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/profiles/{steamId}/games?tab={tab}, {steamId}{tab}分别替换为上面配置中提到的steamIdtab

  2. 网页加载完成后,打开浏览器控制台(按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))
    
  3. 将生成的内容复制到博客根目录/node_modules/hexo-steam-games/data/games.json文件内,如果没有对应的文件或目录,请自行创建

示例

示例页面

Lisense

Apache Licence 2.0

最后修改:2020-07-01 19:41:37
如果觉得我的文章对你有用,请随意赞赏