## 背景 目前“每日一问”主要发在微信群,再由维护者手工整理到 GoClub,使用中有几个问题: - 微信消息容易被后续聊天冲掉,历史题目很难查找。 - 微信聊天窗口无法正常展示 Markdown,代码块、列表和链接的阅读效果较差。 - 出题人每天创建 PR、维护者再合并 PR,操作不方便,也会产生重复工作。 希望增加一个统一的投稿入口,同时继续使用现有“每日一问”页面和 GitHub Markdown 文件保存内容。 ## 流程 ```mermaid flowchart LR A[填写飞书表单] --> B[记录进入飞书表格] B --> C[飞书发送 HTTP 请求] C --> D[GitHub 写入每日一问] D --> E[GoClub 页面更新] ``` ### 1. 填写飞书表单 出题人通过手机填写“题目”“答案”“提交者”。 <img width="1155" height="1068" alt="Image" src="https://github.com/user-attachments/assets/bcc84ac3-3b15-4d51-8e05-9fd55679e000" /> ### 2. 记录进入飞书表格 题目、答案、提交者和创建时间会保存在飞书中。提交者只用于内部追溯,不会展示在 GitHub 或 GoClub 页面。 <img width="1502" height="231" alt="Image" src="https://github.com/user-attachments/assets/70c1c702-1772-489d-a84e-ed03fe5d9aa3" /> ### 3. 自动写入 GoClub 飞书收到投稿后自动向 GitHub 发起 HTTP 请求。GitHub 检查当天是否已有题目,将有效的新题目写到现有“每日一问”文件顶部,随后重新生成并发布网站。 群成员继续访问和分享原来的“每日一问”固定链接。飞书记录后续被修改或删除,也不会影响已经保存到 GitHub 的内容。 ## 核心改动 - 新增每日一问同步工作流,接收飞书请求并触发网站更新。 - 新增 Python 同步脚本,处理日期、内容检查、一天一题、Markdown 格式和安全转义。 本次改动继续使用现有 Hugo 页面、主题、导航和 Pages 发布方式,不增加后端、数据库、定时轮询或新页面。
背景
目前“每日一问”主要发在微信群,再由维护者手工整理到 GoClub,使用中有几个问题:
希望增加一个统一的投稿入口,同时继续使用现有“每日一问”页面和 GitHub Markdown 文件保存内容。
流程
flowchart LR A[填写飞书表单] --> B[记录进入飞书表格] B --> C[飞书发送 HTTP 请求] C --> D[GitHub 写入每日一问] D --> E[GoClub 页面更新]1. 填写飞书表单
出题人通过手机填写“题目”“答案”“提交者”。
2. 记录进入飞书表格
题目、答案、提交者和创建时间会保存在飞书中。提交者只用于内部追溯,不会展示在 GitHub 或 GoClub 页面。
3. 自动写入 GoClub
飞书收到投稿后自动向 GitHub 发起 HTTP 请求。GitHub 检查当天是否已有题目,将有效的新题目写到现有“每日一问”文件顶部,随后重新生成并发布网站。
群成员继续访问和分享原来的“每日一问”固定链接。飞书记录后续被修改或删除,也不会影响已经保存到 GitHub 的内容。
核心改动
本次改动继续使用现有 Hugo 页面、主题、导航和 Pages 发布方式,不增加后端、数据库、定时轮询或新页面。