Skip to content

浏览数:0

官方更新页面模块说明

官方更新页

更新说明

目前的官方更新页面在 github 并没有直接对应于一个.md 文件,
目前的机制采用 build wiki 时,
利用 vitepressinclude 功能,
将一个个的.md 文件引入到该页面中,
以下为自动产生的 news.md 范本示例。

---
title: 官方更新
tags:
  - news
  - 新闻
  - 游戏更新
  - 更新
---

# {{ $frontmatter.title }}
<!--@include: @/other/news/{日期}-{次序}-{md摘要}.md-->
<!--@include: @/other/news/20240628-03-demoUpdate.md-->
<!--@include: @/other/news/20240628-02-release.md-->
<!--@include: @/other/news/20240628-01-release.md-->
<!--@include: @/other/news/20240627-01-release.md-->

如何命名

命名规则如下, 日期为8码数字, 如20240708
次序为2码数字, 如01, 02, 03... 用来表示当天的第几则信息
(不管是哪一种分类都视为同样, 有几个文件就直接加数字就可以了。)
md 摘要为一个分类 key, 共四种:

key中文标签用于对应 Steam 标签
release游戏更新正式版例行版本/修正更新patchnotes
demoUpdate试玩版更新DEMO/试玩版更新(试玩版时期, 现已结束)
majorUpdate重大更新具名大型更新正式上线时 (如《崆峒神威》)无专属标签, 手动指定
announce公告/新闻非版本更新的一切: PV、预告、活动、声明无标签

自动抓取时 (node tools/fetchNews.js) 只能靠 Steam 标签分类, 而 Steam 只有 patchnotes 与「无标签」两种, 所以自动化只会产出 releaseannounce
majorUpdate / demoUpdate 没有对应标签, 需在 merge 前手动把文件名 suffix 改掉。

然后将这三个信息以-连接起来,
最终以.md 结尾。

像是这样: 20240628-02-release.md20240628-01-demoUpdate.md 都是可以的。

@/other/news/{日期}-{次序}-{md摘要}.md

如何使用

接着以 @/other/news/20240705-02-demoUpdate.md为例,
本次更新以后, 会将此模块直接引入到 news.md 中,
因此不需要在每一次更新的时候,
都要添加标题与文章 tag, title 等,
那些都可以直接重复使用,
上述红色部分不需要再次写入.md 中。

具体而言,
若您需要添加官方更新,
请先创建一个.md 档, 依照命名格式,放在 docs/other/news/ 底下
写完更新内容后运行 npm run build 就可以了。

## [试玩版更新 v2.1.4](https://store.steampowered.com/news/app/1859910/view/4267805297667980568?l=tchinese)

发表时间
2024 年 7 月 5 日 周五

功能调整

游戏存盘路径调整为
`%userprofile%\AppData\LocalLow\Obb Studio\Mortal\Save`


已有正式版的玩家,若要启动硬盘中的DEMO版本,请先进行存盘备份

正式版本的存盘路径,它是Steam云端存盘同步的文件夹
`%userprofile%\AppData\LocalLow\Obb Studio\Mortal\{SteamId}`

如何查找你的SteamId:
个人文件->帐户详细数据->帐户名称的下方

半自动抓取(尚未调度时的补偿办法)

目前没有任何调度或 GitHub Action 会自动抓 Steam 新闻,
所以在「自动化上线」之前,请用 tools/fetchNews.js 手动抓取当作补偿办法。

它会抓活侠传 Steam 新闻,依分类产出符合上述格式的草稿档到 docs/other/news/

用法

bash
node tools/fetchNews.js --selftest   # 纯函数回归测试, 印 "selftest OK" 即正常
node tools/fetchNews.js --dry-run    # 只列出会产生哪些档, 不写入
node tools/fetchNews.js              # 实际产出草稿档

产完草稿后 → 人工检查/微调内容 → 需要时把文件名 suffix 改成 demoUpdate / majorUpdatenpm run build

运作方式

  • 来源:Steam RSS(?l=tchinese)提供正确的 view 链接、繁中标题、发表日期; Steam JSON API 提供 tags 与内文。两者以同一个 unix date 对接 (RSS 的 gid 才是正确链接,JSON API 的 gid 不同,不能用来组链接)。
  • 分类:只看 Steam 标签 —— patchnotesrelease,其余 → announcedemoUpdate / majorUpdate 没有对应标签,需依上表判断后手动改文件名 suffix。
  • 去重:扫现有文件的 /view/{gid},已存在就跳过(重复运行安全)。
  • 排版:自动套用本页的旧风格(每行结尾两个空格硬换行); release 另外把 Steam 的 调整/修正 标题改成 功能调整/功能修正
  • 防呆:RSS 解析到 0 则会直接报错(避免 feed 格式改变时静默当成「没有新闻」); 某则对不到 API 内文时会 warn 提醒该篇 body 需手补。

注意

产出为草稿,BBCode→markdown 为近似转换,发表日期取 Steam 发布时间(未必等于内文标注的更新日),请 merge 前人工确认。