Files
GiteaMailTemplates/docs/CONTRIBUTING.zh-TW.md
T

86 lines
2.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 貢獻指南 — Gitea 郵件模板
## 參與方式
### 新增風格
1. 使用工具腳手架:`cd tools && go run . create <風格名稱>` — 這會建立完整的目錄結構和全部 11 種郵件類型的佔位 `.tmpl` 檔案
2. 在 `themes/<風格名稱>/` 中編寫每個 `.tmpl` 檔案,套用獨特的視覺設計
3. 重新產生預覽:`cd tools && go run . preview all`(建置腳本會自動發現 `themes/` 下的所有主題目錄並動態生成主題選擇器)
4. 提交包含螢幕截圖的 PR(單張圖片 ≤ 50 KiB,建議 10–20 KiB)
### 風格指南
- 每個風格必須包含全部 **11 種模板類型**
- 僅使用 Gitea 內建模板函式
- 翻譯鍵必須來自 Gitea 官方語系檔案(`mail.*` 命名空間)
- **請勿在以下模板中使用 `.DisplayName`**:collaborator、transfer、release、workflow_run、assigned、default
- 針對 600px 寬度的郵件用戶端設計
- 盡可能在 Gmail、Outlook、Apple Mail 中測試
### 回報 Bug
1. 檢查引用的 Go 模板變數是否存在
2. 驗證翻譯鍵是否與 Gitea 語系檔案相符
3. 確認 `.DisplayName` 未在不支援的模板中使用
4. 重新產生預覽:`cd tools && go run . preview all`
5. 提交 issue,註明風格名稱、郵件類型及錯誤描述
### 改善文件
文件改進、預覽螢幕截圖、安裝指南和翻譯始終歡迎。
---
## 開發環境
- **Go 1.21+** 用於模板渲染與 CLI 工具
- **Node.js 18+**(可選)用於即時開發伺服器與 Juice CSS 內聯
### 本機預覽(靜態)
1. 先生成預覽資料:`cd tools && go run . preview all`
2. 在瀏覽器中開啟 `preview/index.html` — 無需伺服器
> [!WARNING]
> 靜態 Gmail/Outlook 模擬僅供參考,使用 dev 模式可獲得相對準確的 CSS 內聯渲染。
### 開發伺服器(即時重載 + CSS 內聯 + 客戶端模擬)
```bash
cd tools && go run . dev
# → http://localhost:3456
```
修改 `.tmpl` 檔案後自動重建並推送至瀏覽器。
> [!NOTE]
> Dev 模擬無法 100% 還原各個郵件用戶端的渲染差異,僅供參考,請以實際效果為準。
### 整合測試
將模板部署至 Gitea 實例後,請透過真實的郵件通知進行驗證。管理後台的測試郵件
(**Site Administration > Configuration > Mailer > Send Test Email**)不會使用
自訂郵件模板——它走的是內置程式碼路徑。
最可靠的驗證方式是觸發一次真實的郵件通知,推薦使用密碼重設流程:
1. 登出帳號,點擊登入頁的**"忘記密碼"**
2. 輸入帳戶郵箱並提交
3. 查看密碼重設郵件——它將使用你的自訂郵件模板渲染
---
## 提交規範
- `style(<名稱>):` — 特定風格的模板變更
- `preview:` — 預覽工具變更
- `tools:` — Go 建置腳本變更
- `docs:` — 文件與翻譯
- `fix:` — Bug 修復
- `project:` — README、LICENSE、中繼資料檔案
## 授權條款
參與貢獻即表示您同意將您的貢獻以 MIT 授權條款授權。