STUDENT HTML DOCUMENT

課程維護者指南

本文件只給教材維護者使用。學生入口是 index.htmlCOURSE_MAP.htmlMEETINGS.html

唯一來源與衍生頁

不要在首頁、課程地圖或課次頁另建第二套章節時數。若配置異動,先改唯一來源,再同步學生頁。

課次配置契約

course-allocation.json 的重要欄位:

章節本身可為 120、150、180、210 或 240 分鐘;課次仍固定 180 分鐘。不可把「章節時數」改寫成「每章都是 180 分鐘」。

學生進度資料契約

共用腳本 assets/course.js 使用版本化 key frontend-course-v2-progress,只保存:

不得保存姓名、作品內容、表單輸入、聯絡資料或其他個資。造訪頁面不代表完成;只有勾選或按鈕操作能寫入完成狀態。解析失敗的舊資料會先備份到帶時間戳的 invalid key,再回到空進度;瀏覽器停用 storage 時必須退回記憶體且不丟出錯誤。

同步與驗證

課次配置或學生入口異動後,至少執行:

node --check assets/course.js
node tools/build-student-docs.mjs
node tools/check-course-navigation.mjs
node tools/check-course.mjs
node tools/check-learning-transfer.mjs
node tools/check-practice-contract.mjs
node tools/check-session-pages.mjs
node tools/check-starter-zips.mjs
git diff --check

另以 file:// 與本機 HTTP server 各驗證一次:首頁續學、Evidence 刷新保存、TASK 確認、創作挑戰完成、重設進度、28 張課次卡、每卡 180 分鐘、六組跨章交棒、390px 手機版與鍵盤 focus。

變更邊界