Skip to content

Commit 5067884

Browse files
committed
update readme
1 parent 682973d commit 5067884

File tree

1 file changed

+87
-12
lines changed

1 file changed

+87
-12
lines changed

README.md

Lines changed: 87 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,100 @@
1-
## Usage
1+
# 📅 Moodle to Google Calendar Extension
22

3-
```
3+
這是一個用於將 CCU(中正大學)Moodle 上的作業或行事曆事件,一鍵匯出至 Google Calendar 的 Chrome/Edge 擴充功能。
4+
可選擇匯出 `.ics` 檔案下載,或直接自動授權後匯入 Google 行事曆。
5+
6+
> 幫助學生更有效管理 Moodle 上的課業與繳交時程。
7+
8+
---
9+
10+
## 🚀 功能特色
11+
12+
- 🔍 自動抓取 Moodle 課程中的行事曆事件(需登入)
13+
- 📥 支援下載 `.ics` 檔案,可匯入至任何行事曆 App
14+
- 📆 可直接登入 Google 帳戶,將事件自動新增至 Google Calendar
15+
- 🖱️ 操作簡單,一鍵完成
16+
17+
---
18+
19+
## 🛠 技術架構
20+
21+
- Chrome Extension (Manifest V3)
22+
- Content Script + Popup UI
23+
- Tailwind CSS for styling
24+
- Vite 作為打包工具
25+
- Google OAuth(`chrome.identity` + `launchWebAuthFlow`
26+
- ESLint + Prettier 做為開發輔助
27+
28+
---
29+
30+
## 📦 安裝與使用
31+
32+
### 安裝依賴套件
33+
34+
```bash
435
npm install
536
```
637

7-
```
38+
---
39+
40+
### 建置專案
41+
42+
```bash
843
npm run build
944
```
1045

11-
## Tailwind hotfix
46+
產出可安裝的 extension 專案在 `dist/` 目錄中,可透過 Chrome 擴充功能手動載入。
1247

13-
```
48+
---
49+
50+
### Tailwind 修復樣式(可選)
51+
52+
```bash
1453
npm run hotfixcss
1554
```
1655

17-
## eslint
18-
```
19-
npm run lint
20-
```
56+
在樣式未正常更新或 Tailwind 出現異常時手動執行。
57+
58+
---
59+
60+
### 程式碼檢查與格式化
2161

22-
## format
62+
```bash
63+
npm run lint # 使用 ESLint 檢查語法
64+
npm run format # 使用 Prettier 自動格式化程式碼
2365
```
24-
npm run format
25-
```
66+
67+
---
68+
69+
## 📚 使用說明
70+
71+
1. 登入 Moodle(目前支援中正大學 https://ecourse2.ccu.edu.tw/)
72+
2. 點擊瀏覽器右上角 Extension 圖示,開啟插件視窗
73+
3. 選擇年份與月份,點擊:
74+
- 「📥 取得行事曆」:下載 `.ics` 檔案
75+
- 「📤 匯入行事曆」:登入 Google 並自動新增至 Google Calendar
76+
77+
---
78+
79+
## 🔐 授權與隱私
80+
81+
- 本插件僅在使用者當前登入 Moodle 且主動點擊下操作才會擷取資料
82+
- Google OAuth 權限僅限寫入行事曆事件,不會存取其他個資
83+
- 資料僅存在本地,無傳送至第三方伺服器
84+
85+
---
86+
87+
## 🧪 瀏覽器支援狀況
88+
89+
| 瀏覽器 | 支援情況 | 備註 |
90+
|--------|----------|------|
91+
| Chrome | ✅ 完整支援 | 使用 `getAuthToken()` 快速登入 |
92+
| Edge | ✅ 部分支援 | 改用 `launchWebAuthFlow()`,需初次登入後允許 |
93+
| Brave / Others | ⚠️ 未測試 | 如有需求可補充支援判斷邏輯 |
94+
95+
---
96+
97+
## 🙌 貢獻與反饋
98+
99+
歡迎 issue/PR!
100+
如果你是 CCU 學生,覺得這個擴充功能有幫助,也歡迎幫我按星 🌟 或留言回饋 🙏

0 commit comments

Comments
 (0)