📌 git_hub — GitHub Pages 站務紀錄
本區以 年/月 對應 YYMM/ 資料夾(與 Sha Diary 相同約定),摘要 2026/03/22~2026/04/11 約三週內與本 repo(rex4ssd.github.io)相關的變更主軸。細目見各月 .md。
📅 月份索引
變更摘要(依主題)
| 主題 | 說明 |
|---|---|
| SPA 導覽 | 側欄固定,僅替換 .main-content;後續修正側欄抖動、footer 置底等。補 .main-content 連結攔截,防止主內容連結觸發全頁重載、造成 sidebar 切換。 |
| 條件式側邊欄 | /kid/ 路徑顯示 Kid’s Corner,其餘顯示 Rex’s Hub,單一 sidebar.html 以 Liquid {% if page.url contains '/kid/' %} 切換,不拆 repo。 |
| Kid / Diary | Diary 改為 YYMM/ + diaryYYMM.md;Daily、Kid Schedule(FullCalendar)、Secret Garden、成績樞紐(kid/lib + garden 資料)。 |
| Shane 教材 | TEPI06/TEPI07 單元、L2 移至 level2/;與 play-lib、單字版型連動更新。 |
| TOEIC | 片語篇、閱讀/單字頁 POS 詞性 標註與 Dashboard 顯示切換。 |
| Service Worker | sw.js(repo 根目錄):mp3 Cache First + Range 206 切片 + LRU 600;HTML/JS/CSS Stale-While-Revalidate。539 個音檔共 4.6 MB,全部可快取,手機重播零流量。各單字版型加 clear cache checkbox。 |
| Utility / 標籤雲 | 多工具頁調整;Diary/Daily 標籤瀏覽與 SPA 換頁相容(資料島改 textarea 等)。 |
| 建置與設定 | .gitignore、_config.yml defaults(kid/)、SKILL/cursorrules、投資日報等入庫。 |
📐 流程圖(從改程式到上線)— 點此展開
flowchart TD A[本機編輯
.md · HTML · YAML · JS] --> B{Jekyll build} B --> C[_site 靜態輸出] C --> D[git commit / push] D --> E[GitHub Pages 部署] E --> F[瀏覽器:首載或 SPA 換頁] subgraph SW["Service Worker(sw.js)"] F --> SW1{mp3 請求?} SW1 -->|是| SW2{快取命中?} SW2 -->|是| SW3[讀 ArrayBuffer
切 Range → 206] SW2 -->|否| SW4[fetch 完整檔
存快取 + 回傳 206] SW1 -->|HTML/JS/CSS| SW5[Stale-While-Revalidate] end subgraph SPA["全站 SPA(default.html)"] F --> G[sidebar + main-content
連結攔截(事件委派)] G --> H[fetch 目標頁 HTML] H --> I[替換 main-content
搬移 DOM 節點] I --> J[execScripts 重跑內聯腳本] J --> K[Mermaid / 標籤雲 / 單字頁初始化] end
註:實際 commit 訊息多為 Auto-update: …,上表依檔案與功能性 commit 歸納。