Skip to content

更新日志由 Markdown 渲染迁移至结构化数据驱动渲染 #386

@neveler

Description

@neveler

更新日志由 Markdown 渲染迁移至结构化数据驱动渲染

描述

当前的更新日志是通过直接渲染 Markdown 文本生成的。为提升可维护性与一致性,我希望先确定一套合理的数据结构,以结构化方式记录更新日志内容,再通过统一的更新日志模板将这些结构化数据渲染为最终的更新日志。

基于 Jekyll 的提供的能力,有两种方式实现上述需求:

  1. 更新日志在数据文件夹中维护,并通过 site.data 读取并渲染
  2. 更新日志在 changelogs 集合文件夹中维护,并通过 site.changelogs 读取并渲染

数据文件夹

使用数据文件夹维护更新日志的优点是,数据文件无需添加 Front Matter 且支持多种格式的数据文件,如 json yaml csv 等。

示例

这里提供一些示例仅供参考,以 3.10.0.315 为例。

csv
pull_request,message,author,group
4932,在主页右键点击账户按钮时弹出快速切换账户菜单,zimzaza4,
5011,在 JFXCustomColorPickerDialog 中使用 HEX 作为默认 Tab,Glavo,
5019,使用子标题注解“提前预览 HMCL 版本”选项,neveler,
5019,使用子标题显示“重启后生效”提示,neveler,
4927,在 macOS 平台上导出启动脚本时支持导出 .command 文件,WhatDamon,
4872,添加快速进入世界功能,mineDiamond,
5008,优化反馈页面,Glavo,
5035,在所有平台上将 : 视为文件名中的非法字符,辞庐,
5016,在刷新 ModListPage 时不滚动到顶部,OrzMiku,
5032,优化 InputDialogPane,mineDiamond,
4897,导出整合包时隐藏系统资源文件,Calboot,
5018,修复 subtitle 颜色丢失的问题,neveler,错误修复
5020,修复 GameCrashWindow 中 feedbackTextFlow 样式错误的问题,Glavo,错误修复
5040,修复陶瓦联机页面部分文本在深色模式下颜色异常的问题,Glavo,错误修复
yaml
details:
  - name: 详细版本介绍 (Bilibili)
    url: https://www.bilibili.com/opus/1149333068052430851
changelogs:
  - message: 在主页右键点击账户按钮时弹出快速切换账户菜单
    authors: [zimzaza4] # 可以考虑使用字符串并通过 `,` 分隔
    pull_requests: [4932]
  - group: 错误修复
    changelogs:
      - message: 修复 `subtitle` 颜色丢失的问题
        authors: [neveler]
        pull_requests: [5018]

集合文件夹

示例

这里提供一些示例仅供参考,以 3.10.0.315 为例。

---
details:
  - name: 详细版本介绍 (Bilibili)
    url: https://www.bilibili.com/opus/1149333068052430851
changelogs:
  - message: 在主页右键点击账户按钮时弹出快速切换账户菜单
    authors: [zimzaza4] # 可以考虑使用字符串并通过 `,` 分隔
    pull_requests: [4932]
  - group: 错误修复
    changelogs:
      - message: 修复 `subtitle` 颜色丢失的问题
        authors: [neveler]
        pull_requests: [5018]
---

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions