- Delete tools/server/ (Node.js, juice, inliner.mjs, server.mjs, node_modules) - Create tools/preview/server.go — pure Go dev server with SSE + file polling - Rewrite tools/cli/dev.go — start Go server in-process, no Node.js required - Simplify preview/index.html — View dropdown (Modern/Source), remove Client Simulation panel, remove Gmail/Outlook logic, WebSocket → SSE - Update all 14 documentation files (README, CONTRIBUTING, AGENTS + translations) to reflect pure Go dev server and simplified preview Co-Authored-By: Claude <noreply@anthropic.com>
3.1 KiB
3.1 KiB
コントリビューション — Gitea メールテンプレート
参加方法
新しいスタイルの追加
- ツールでスキャフォールド:
cd tools && go run . create <style-name>— 全11種類のメールタイプ用のプレースホルダ.tmplファイルを含む完全なディレクトリ構造を作成します themes/<style-name>/内の各.tmplファイルを独自デザインで編集- プレビューを再生成:
cd tools && go run . preview all(ビルドスクリプトがthemes/以下の全テーマを自動検出し、テーマセレクターも自動生成されます) - スクリーンショット付きで PR を提出(1枚あたり 50 KiB 以下、10–20 KiB 推奨)
スタイルガイドライン
- 各スタイルに 全11種類のテンプレート を含める
- Gitea 組み込み関数のみ使用
- 翻訳キーは Gitea 公式ロケール (
mail.*) から .DisplayNameを使用しない (collaborator, transfer, release, workflow_run, assigned, default)- 600px 幅のメールクライアント向けにデザイン
- Gmail, Outlook, Apple Mail でテスト
バグレポート
- Go 変数が正しいか確認
- 翻訳キーが Gitea ロケールと一致するか確認
.DisplayNameが誤用されていないか確認- プレビューを再生成:
cd tools && go run . preview all - スタイル名とメールタイプを明記して issue を作成
開発セットアップ
- Go 1.21+ テンプレートレンダリングとCLI用
ローカルプレビュー(静的)
- データを生成:
cd tools && go run . preview all preview/index.htmlをブラウザで開く
開発サーバー(ライブリロード)
cd tools && go run . dev
# → http://localhost:3456
.tmpl ファイルを編集すると自動的に再構築されブラウザに反映されます。
結合テスト
Gitea にデプロイ後、実際のトランザクションメールで検証してください。管理画面のテストメール (Site Administration > Configuration > Mailer > Send Test Email)はカスタム メールテンプレートを使用しません——組み込みのコードパスを通ります。
最も確実な方法は実際の通知をトリガーすることです。例えば、パスワードリセットフロー:
- ログアウトし、ログインページで "Forgot password" をクリック
- アカウントのメールアドレスを入力して送信
- パスワードリセットメールを確認——カスタムメールテンプレートでレンダリングされます
コミット規約
style(<name>):— スタイルのテンプレート変更preview:— プレビューツールの変更tools:— Go ビルドスクリプトの変更docs:— ドキュメントと翻訳fix:— バグ修正project:— README, LICENSE, メタファイル
ライセンス
貢献により、MIT ライセンスに同意したものとみなします。