不久前刷到一個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