Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: 追加时效性插件功能 #10

Open
TonyCrane opened this issue Oct 23, 2023 · 2 comments
Open

feat: 追加时效性插件功能 #10

TonyCrane opened this issue Oct 23, 2023 · 2 comments

Comments

@TonyCrane
Copy link
Contributor

#9 实现了时效性插件的基本功能,不过想了想还有改善空间:

  • 课程评价一般会按学期来分配,超过两个学期没更新就是过时,可以把具体学期体现在页面上
    • 不过根据 commit 时间判断学期好像不太靠谱(且目前也有很多页面的时效是在项目创建之前的),那可能需要添加额外 metadata 了(待讨论)
  • 同样有些课程可能两年都没什么变化不需要更新,需要标注已经检查过

几个想法:

  1. 每个页面加 metadata
    • 需要更新目前已有所有页面,比较复杂
    • 后续检查无需修改也需要 commit 添加 metadata
  2. 新建文件记录
    • 不会影响每个页面内容本身的实际修改时间
    • 检查过期内容只需要在一个文件中 commit,会整洁一点
    • 和 mkdocs.yml 里 nav 部分有重合,能否自动化关联(?)
  3. 额外 project board / 额外表单 / 额外 repo
    • 目标就是把过期页面审校工作摘到 TuringCourses commit log 以外
    • 可以在 build 时获取 project 中记录的学期信息

我个人想法 3. > 2. >> 1.,具体怎么办待讨论,反正现有内容在几个月内都不会出现过时警告。

@TonyCrane
Copy link
Contributor Author

@Xecades
Copy link
Contributor

Xecades commented Oct 23, 2023

或许可以仿照 Giscus,使用 GitHub Discussion 实现标注已检查。

即,按下按钮(按钮可以放在编辑按钮的旁边)后自动通过 Discussion 的 API 发布回复,访问页面时根据目前已有的最新回复时间决定是否显示过时警告。

  • 优点
    • 无需 commit
    • 任何人都可以进行 Review
  • 缺点
    • 代码实现较为繁琐(只不过可以借鉴 Giscus 的?)
    • 在奇怪的网络环境 Discussion API 加载可能较慢(只是猜测)

另外学期相关的我认为 metadata 要好些。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

2 participants