# Участие в разработке — Gitea Mail Templates ## Способы участия ### Добавление нового стиля 1. Создайте каркас через инструмент: `cd tools && go run . create <имя-стиля>` — создаёт полную структуру директорий с файлами-заготовками `.tmpl` для всех 11 типов писем 2. Отредактируйте каждый `.tmpl` файл в `themes/<имя-стиля>/` с вашим уникальным дизайном 3. Перегенерируйте превью: `cd tools && go run . preview all` (скрипт автоматически находит все темы в `themes/` и динамически генерирует селектор тем) 4. Отправьте PR со скриншотами (≤ 50 КиБ каждый, рекомендуется 10–20 КиБ) ### Рекомендации по стилю - Каждый стиль должен включать **все 11 типов шаблонов** - Используйте только встроенные функции шаблонов Gitea - Ключи перевода из официальных файлов локали Gitea (`mail.*`) - **Не используйте `.DisplayName`** где его нет в контексте (collaborator, transfer, release, workflow_run, assigned, default) - Дизайн для 600px email клиентов - Тестируйте в Gmail, Outlook, Apple Mail ### Баг-репорты 1. Проверьте переменные Go в шаблонах 2. Сверьте ключи перевода с локалью Gitea 3. Убедитесь что `.DisplayName` не используется где не надо 4. Перегенерируйте превью: `cd tools && go run . preview all` 5. Создайте issue с указанием стиля и типа письма --- ## Настройка разработки - **Go 1.21+** для рендеринга шаблонов и CLI ### Локальный предпросмотр (статический) 1. Сгенерируйте данные: `cd tools && go run . preview all` 2. Откройте `preview/index.html` в браузере — сервер не нужен ### Сервер разработки (live reload) ```bash cd tools && go run . dev # → http://localhost:3456 ``` При изменении `.tmpl` файлов автоматически пересобирает и обновляет браузер. ### Интеграционное тестирование Разверните шаблоны на Gitea и проверяйте с реальными транзакционными письмами. Тестовое письмо администратора (**Site Administration > Configuration > Mailer > Send Test Email**) не использует пользовательские шаблоны — оно идет по встроенному пути. Самый надежный способ — вызвать реальное уведомление. Например, сброс пароля: 1. Выйдите из системы и нажмите **"Forgot password"** на странице входа 2. Введите email вашей учетной записи и отправьте 3. Проверьте письмо для сброса пароля — оно будет отрендерено с вашими шаблонами --- ## Соглашение о коммитах - `style(<имя>):` — изменения шаблонов стиля - `preview:` — инструменты предпросмотра - `tools:` — Go-скрипт сборки - `docs:` — документация и переводы - `fix:` — исправления - `project:` — README, LICENSE, мета-файлы ## Лицензия Участвуя, вы соглашаетесь с лицензией MIT.