Skip to content

feat: 支持飞书投稿每日一问并自动同步 - #41

Merged
LeoninCS merged 12 commits into
LeoninCS:mainfrom
Hddcc:feat/daily-feishu-goclub-sync
Aug 2, 2026
Merged

feat: 支持飞书投稿每日一问并自动同步#41
LeoninCS merged 12 commits into
LeoninCS:mainfrom
Hddcc:feat/daily-feishu-goclub-sync

Conversation

@Hddcc

@Hddcc Hddcc commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator

Closes #39

改动说明

为现有“每日一问”增加飞书投稿和自动入库流程:

  1. 出题人在飞书表单填写题目、答案和提交者。
  2. 飞书自动向 GitHub 发起 HTTP 请求,只发送题目、答案和提交时间。
  3. GitHub 检查当天是否已有题目,将有效的新题目写入现有“每日一问”文件顶部。
  4. Hugo 构建通过后自动提交内容,并触发现有 Pages 发布流程。

提交者信息只保存在飞书中,不进入 GitHub 或公开页面。

核心改动

  • 新增 .github/workflows/daily-question-sync.yml,接收飞书请求、写入内容并触发网站更新。
  • 新增 scripts/sync_daily_question.py,处理日期、内容检查、一天一题、Markdown 格式和安全转义。

现有 Hugo 页面、主题、导航和 Pages 工作流保持不变。本次不增加后端、数据库、定时轮询、新页面或第三方运行依赖。

验证结果

  • 使用 Hugo 0.159.0 extended 完成整站构建,共生成 439 页。
  • actionlint 1.7.7 校验通过。
  • 完成真实飞书投稿、同日重复投稿和删除飞书记录后的联调验证。
  • 完成桌面和手机页面回归检查。

合并后配置

  1. Settings -> Actions -> General -> Workflow permissions 中确认工作流拥有读写权限。

  2. 确认 main 分支规则允许 github-actions[bot] 写入每日一问内容。

  3. 原作者创建只绑定 LeoninCS/GoClub、只有 Actions: Read and write 权限的细粒度 Token。

  4. 将飞书 HTTP 自动化地址改为:

    https://api.github.com/repos/LeoninCS/GoClub/actions/workflows/daily-question-sync.yml/dispatches

  5. 将飞书自动化的 Authorization 请求头替换为 Bearer <新 Token>,请求体继续使用现有配置,ref 使用 main

  6. 通过飞书表单提交一条非敏感内容,确认同步工作流、机器人提交、Pages 发布和页面更新均成功。

可以继续使用现有飞书表格。推荐将原作者加入多维表格并授予自动化管理权限,由原作者亲自填写 Token;也可以通过安全渠道传递 Token 后由表格维护者替换。Token 不应出现在 Issue、PR、微信群或 GitHub 文件中。

无需创建新的 GitHub Actions 应用,无需把该 Token 保存到仓库 Secrets,也无需重新配置现有 GitHub Pages。

@LeoninCS
LeoninCS merged commit 7b3ce79 into LeoninCS:main Aug 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

简化每日一问投稿和自动入库流程

2 participants