N
管理後台 謝楠楨 教授個人網站

本站不保存任何密碼,驗證由 Firebase Authentication 處理。
尚未設定管理者帳號?請參閱 FIREBASE_SETUP.md 步驟 5。

← 回到網站首頁

N 管理後台
檢視網站 ↗

總覽

–課程
–待審核
–已核准學生
–公告

待處理事項

快速入門

  1. 在「課程管理」建立課程,填寫代碼、名稱與學期。
  2. 把講義 PDF 放進 repo 的 assets/courses/ 並 push 到 GitHub。
  3. 回到課程列,點「講義與作業」加入檔案路徑與截止日。
  4. 學生註冊並完成 Email 驗證後,到「學生管理」→「審核佇列」核准。

新增課程

以頓號或逗號分隔,會顯示在課程卡片並納入搜尋。

現有課程

預設依開課學期排序;拖曳最左側 ⠿ 或用上/下箭頭可自訂順序, 一旦手動調整過,課程頁與這裡都會照你排的順序顯示。

課程學期對象操作

待審核申請

新申請會出現在這裡。核准後會自動移到「學生名單」分頁;駁回的申請也會出現在學生名單的「已駁回」篩選中。

申請人申請時間操作

學生名單

核准後該學生即可讀取所有課程的講義與作業(除非在「可看課程」限定範圍)。這項判斷由 Firestore Security Rules 在伺服器端強制執行,學生無法透過修改瀏覽器內容繞過。 拖曳最左側 ⠿ 或用上/下箭頭可自訂顯示順序。

申請人申請時間狀態可看課程操作

發布公告

從目前已核准學生的班級中選擇,不用手動打字、不怕打錯字對不上。
只會顯示/寄給有權限看這門課的學生(該學生未被限制課程範圍,或這門課在他的可看清單內)。
留空=符合上面班級/課程條件的學生全部都算;勾選後只會再進一步限縮到勾選的人。
兩者都留空=立即生效、永久顯示;只填結束日期=顯示到該日為止。
會寄給所有已核准、且符合班級條件的學生。透過 EmailJS 寄送,需先完成一次性設定(見下方「系統」分頁或 FIREBASE_SETUP.md)。

已發布

公告範圍/期間提醒操作

統計期間

–總瀏覽次數
–不重複訪客
–平均每日瀏覽
–學生/管理者瀏覽

每日統計

日期瀏覽次數不重複訪客

依訪客統計 依瀏覽次數排序,最多顯示前 50 位。未登入訪客僅能以瀏覽器識別碼區分,無法得知真實身分。

訪客身分瀏覽次數首次造訪最後造訪

依頁面統計

頁面瀏覽次數

全站預設

這裡決定「所有訪客」看到的版型與配色,存在資料庫、即時對全站生效,不需要改程式碼或 push。

版型樣板

先在下面選擇、預覽(只有這台裝置看得到這個預覽),確認滿意後按上方按鈕套用到全站。

配色主題

課程講義呈現方式

課程卡片內「課程講義」份數一多時要怎麼呈現,全站統一套用;選好後按最上面「將目前選擇設為全站預設」套用。

連線狀態

Email 提醒(EmailJS)

公告的「Email 提醒」功能透過 EmailJS 寄送,完全在瀏覽器端運作、不需要後端伺服器,免費方案為每月 200 封。 設定方式:註冊帳號 → 連接你的信箱 → 建立一組 Email Template → 把 Service ID/Template ID/Public Key 填入 assets/js/config.js 的 EMAILJS_SERVICE_ID/EMAILJS_TEMPLATE_ID/ EMAILJS_PUBLIC_KEY,push 到 GitHub 後即可使用,詳細步驟見 FIREBASE_SETUP.md。

刪除學生時一併刪除登入帳號

預設「刪除」只會移除 Firestore 紀錄,Firebase Authentication 帳號需自行到 Console 刪除。 若想讓後台的「刪除」按一次就兩邊都清乾淨,需要另外部署一支獨立的免費 Vercel serverless function 來保管 Admin SDK 金鑰(瀏覽器端無法直接刪除別人的帳號)。程式已經寫好在 admin-api/ 資料夾,部署後把網址填入 assets/js/config.js 的 DELETE_USER_API_URL 即可,詳細步驟見 FIREBASE_SETUP.md。

修改登入密碼

修改後這台裝置與其他裝置都需要用新密碼重新登入。 若忘記目前密碼,請改用登入頁的「忘記密碼」流程。

講義檔案放置方式

講義 PDF 直接放進 GitHub repo 的 目錄, 在課程的「講義與作業」中填入相對路徑即可。

請注意:放在 repo 的檔案本身是公開的,知道完整網址的人都能下載。 審核機制控制的是「誰看得到檔案清單」,而不是檔案本身的存取權。 若有機密講義不宜外流,請勿放入 repo。

資料備份

匯出包含課程、講義、作業、公告與學生名單的完整 JSON 快照。建議每學期執行一次。

講義與作業僅限通過審核的學生讀取。

上傳講義

上傳的檔案會歸在這個單元底下。留空則歸入「課程講義」。
⬆ 把檔案拖到這裡 或點擊選擇檔案・可一次拖多個(整批上傳) 建議使用 PDF。單檔上限 25 MB。整批上傳會自動依檔名排序。
手動填寫(檔案已在 repo 裡,或要連到外部網址)
相對於 assets/courses/ 的路徑,或直接填完整 https 網址。

目前講義

拖曳左側把手可調整順序,順序會反映在學生看到的講義清單上。下載 ZIP 後可離線重新編輯、組織資料夾,再用上方整批上傳(自動依檔名排序)覆寫回來。

單元檔案大小操作

加入作業

目前作業

作業截止時間操作

上傳設定

設定一次即可,之後上傳都會自動使用。

格式為「帳號/儲存庫」,通常不需要修改。
只會存在你這台電腦的瀏覽器裡,不會寫進程式碼,也不會被其他訪客看到。
怎麼產生金鑰?(第一次使用請展開)
  1. 開啟 GitHub 金鑰產生頁面 ↗(需先登入 GitHub)
  2. Token name 隨意填,例如 course-upload
  3. Expiration 建議選 90 天或 1 年,到期後重新產生即可
  4. Repository access 選 Only select repositories,然後只勾選 nchsieh.github.io
  5. Permissions → Repository permissions → 找到 Contents,設為 Read and write
  6. 其他權限全部保持 No access
  7. 按 Generate token,複製那串 github_pat_... 貼回上面欄位

這組金鑰只能修改這一個公開網站的內容,動不了你的其他儲存庫,也讀不到任何私人資料。 金鑰只會顯示一次,關掉頁面就看不到了,記得當下就複製。

課程存取權限

取消勾選後,只有下方勾選的課程講義與作業對這位學生開放。