不久前刷到一个Steam游戏数据导入到notion的帖子,下面有人问能否在Obsidian中实现,虽然一开始不怎么想自己动手写一个,但因为放假了时间够,就用碎片时间摸出来了
原理还是调用Steam的api获取玩家的游戏列表,再逐个获取每个游戏的具体信息,然后写到目标文件夹,最后在Obsidian中通过Project插件展示出来
源码仓库:github.com/Yoak3n/s2o
蓝奏:wwed.lanzout.com/iTYAo31jv5yj
展示图:
![]()
效果图放前面
使用教程
准备.env 文件
在程序所在目录创建一个【.env】文件,填写接下来我们将获得的信息
获取Steam api key
这里可以参考其他更详细的文章:Steam获取api key
获得api key后在【.env】文件中填写,如“API_KEY=abcdefg123456789”
找到自己的SteamID64
最快速的方法是从Steam中直接获取
![]()
这一串数字就是我们的ID
也可以找一些第三方网站查询获取
![]()
同样可以得到这个【SteamID64】获得这串ID后在【.env】文件中填写在后面,如“ID=7651231212521863143”
填写要存放游戏数据的文件夹路径
由于Obsidian管理内容的最小单元是文件,因此需要每个游戏的数据单独创建一个文件来保存并放在同一文件夹中,比如现在我们要存放在Obsidian库中来管理,以我自己的Obsidian库为例,将路径【E:\GitVault\daily\Resource\Game】直接复制下来
在【.env】文件中填写,如“DIR=E:\GitVault\daily\Resource\Game”
支持不存在该路径时创建该目录
运行程序
填写好【.env】文件中的三行配置后就可以运行程序了,在获取完游戏列表后会有如下选项
========================
1. 仅游玩时间超过 200 小时的游戏(6个)
2. 仅游玩时间超过 500 小时的游戏(5个)
3. 仅最近2个月游玩的游戏(15个)
4. 仅游玩过的游戏(70个)
5. 所有游戏(84个)
========================
请选择导入游戏的范围(default=1):
选择导入游戏的范围后,就会开始逐个获取游戏的更详细信息
获取信息完毕后,因为Steam游戏库中有一些非游戏的软件,可以选择是否过滤
是否忽略工具或软件?(y/N)
默认不忽略,输入“y”表示忽略
之后就会发现程序运行完成,所有游戏数据全部写到了我们在【.env】中指定的文件目录下
由于部分游戏名中有系统不允许在文件名中存在的非法字符,所以做了一些简单的替换
在Obsidian中展示出来
效果最好的是使用Projects插件
似乎因为这个插件仓库已归档不再更新,导致在Obsidian的社区插件仓库中无法直接搜索到
幸好Obdisian支持用【BRAT】插件安装一些不在官方仓库中的非正式插件,即插件选项中的【Add beta plugin】
![]()
填写【Projects】插件的github仓库地址:https://github.com/marcusolsson/obsidian-projects,并选择最新的【1.17.4】版本
安装好之后使用【Projects】在左边栏新增的按钮添加项目
![]()
填写好项目名和引用的数据所在路径即可显示出来
再经过一些简单的设置:
创建【画册】视图
图片源指定为“Cover”,填充方式“填充”
开启自己想要展示出来的“字段”
排序后效果大致如下(会根据Obsidian使用的主题有一定配色差异):
![]()
7/17:更新已添加MC评分、成就数与评价数
7/21:修复【5.所有游戏】选项失效
如有介绍不明之处,请方便指出以再作补充
更多游戏资讯请关注:电玩帮游戏资讯专区
电玩帮图文攻略 www.vgover.com
