Skip to content

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

Description

@Hddcc

背景

目前“每日一问”主要发在微信群,再由维护者手工整理到 GoClub,使用中有几个问题:

  • 微信消息容易被后续聊天冲掉,历史题目很难查找。
  • 微信聊天窗口无法正常展示 Markdown,代码块、列表和链接的阅读效果较差。
  • 出题人每天创建 PR、维护者再合并 PR,操作不方便,也会产生重复工作。

希望增加一个统一的投稿入口,同时继续使用现有“每日一问”页面和 GitHub Markdown 文件保存内容。

流程

flowchart LR
    A[填写飞书表单] --> B[记录进入飞书表格]
    B --> C[飞书发送 HTTP 请求]
    C --> D[GitHub 写入每日一问]
    D --> E[GoClub 页面更新]
Loading

1. 填写飞书表单

出题人通过手机填写“题目”“答案”“提交者”。

Image

2. 记录进入飞书表格

题目、答案、提交者和创建时间会保存在飞书中。提交者只用于内部追溯,不会展示在 GitHub 或 GoClub 页面。

Image

3. 自动写入 GoClub

飞书收到投稿后自动向 GitHub 发起 HTTP 请求。GitHub 检查当天是否已有题目,将有效的新题目写到现有“每日一问”文件顶部,随后重新生成并发布网站。

群成员继续访问和分享原来的“每日一问”固定链接。飞书记录后续被修改或删除,也不会影响已经保存到 GitHub 的内容。

核心改动

  • 新增每日一问同步工作流,接收飞书请求并触发网站更新。
  • 新增 Python 同步脚本,处理日期、内容检查、一天一题、Markdown 格式和安全转义。

本次改动继续使用现有 Hugo 页面、主题、导航和 Pages 发布方式,不增加后端、数据库、定时轮询或新页面。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions