Skip to content

feat: Google Drive 連結檢查器新增社課教材並更名為 gdrive - #204

Merged
poterpan merged 3 commits into
FCU-iOSClub:masterfrom
poterpan:feat/gdrive-link-checker
Sep 24, 2026
Merged

poterpan merged 3 commits into
FCU-iOSClub:masterfrom
poterpan:feat/gdrive-link-checker

Conversation

@poterpan

@poterpan poterpan commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

內容

相簿連結檢查器擴充為 Google Drive 連結檢查器,同時檢查社課教材連結,並將相關名稱從 gallery 改為 gdrive。

  • 教材連結改為資料檔:src/pages/course.js 原本寫死的 hideURL 移到 src/data/course/course.json 的 gdrive_url,頁面改以 GraphQL 讀取;之後每學年更新只需改 JSON
  • 檢查器(scripts/check-gdrive-links.mjs):改為依 SOURCES 讀取 src/data/gallery(相簿)與 src/data/course(教材),輸出與 report 帶來源標籤,例如 [教材] 社課簡報
  • 通知(scripts/notify-gdrive-links.mjs):Discord 訊息改為 Google Drive link checks,受影響清單帶來源標籤
  • 改名:npm 指令 test:gdrive-links/notify-gdrive-links、workflow gdrive_check.yml/gdrive_notify.yml、cache key、concurrency group;兩個 workflow 的 paths 加入 src/data/course/**
  • 排程:由每日改為每週二、三台灣時間 09:17(社課前);兩次間隔皆小於 7 天,避免通知狀態的 cache 因 7 天未存取被清除
  • 未改:Discord secret 名稱 DISCORD_GALLERY_WEBHOOK_URL(避免重新設定)
  • 文件:檢查器的完整說明移到新的 docs/gdrive-link-checker.md(檢查範圍、排程、失效處理、Discord 通知、新增來源、cache 附註),README 只保留簡短說明與連結;修正舊 README 中與 workflow 不符的 cache key 描述;AGENTS.md 同步更新

驗證

  • yarn test:gdrive-links:48 個連結(相簿 47、教材 1)全部 Accessible;--url 模式正常
  • 通知腳本以假 webhook 測試:首次失敗通知、重複失敗靜默、恢復通知,訊息正確顯示來源標籤
  • 無效 JSON/gdrive_url 型別錯誤皆標為 invalid record
  • yarn prettier、yarn build 通過
  • master 無 required status checks,workflow/job 改名不影響合併

合併後注意

cache key 改名,新 workflow 第一次執行不會讀到舊狀態;目前連結全數正常,預期不會多發通知。

@poterpan
poterpan merged commit 2dfab21 into FCU-iOSClub:master Sep 24, 2026
6 checks passed
@poterpan
poterpan deleted the feat/gdrive-link-checker branch September 24, 2026 18:54
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.

1 participant