The build-preview.go now uses discoverThemes() to find all theme directories under themes/ automatically. The manual step of adding themes to a slice is no longer needed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
59 lines
2.6 KiB
Markdown
59 lines
2.6 KiB
Markdown
# Участие в разработке — Gitea Mail Templates
|
|
|
|
## Способы участия
|
|
|
|
### Добавление нового стиля
|
|
|
|
1. Создайте директорию стиля: `themes/<имя-стиля>/`
|
|
2. Скопируйте структуру из существующего стиля
|
|
3. Реализуйте все 11 `.tmpl` файлов с уникальным дизайном
|
|
4. Перегенерируйте превью: `go run ./tools/build-preview.go` (скрипт автоматически находит все темы в `themes/`)
|
|
5. Добавьте тему в `<select id="sel-theme">` в `preview/index.html`
|
|
6. Отправьте PR со скриншотами
|
|
|
|
### Рекомендации по стилю
|
|
|
|
- Каждый стиль должен включать **все 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. Перегенерируйте превью: `go run ./tools/build-preview.go`
|
|
5. Создайте issue с указанием стиля и типа письма
|
|
|
|
---
|
|
|
|
## Настройка разработки
|
|
|
|
### Локальный предпросмотр
|
|
|
|
1. Сгенерируйте данные: `go run ./tools/build-preview.go`
|
|
2. Откройте `preview/index.html` в браузере
|
|
3. Переключайте Modern, Gmail, Outlook, Raw source для проверки
|
|
|
|
### Интеграционное тестирование
|
|
|
|
Разверните на Gitea: **Site Administration > Configuration > Mailer > Send Test Email**
|
|
|
|
---
|
|
|
|
## Соглашение о коммитах
|
|
|
|
- `style(<имя>):` — изменения шаблонов стиля
|
|
- `preview:` — инструменты предпросмотра
|
|
- `tools:` — Go-скрипт сборки
|
|
- `docs:` — документация и переводы
|
|
- `fix:` — исправления
|
|
- `project:` — README, LICENSE, мета-файлы
|
|
|
|
## Лицензия
|
|
|
|
Участвуя, вы соглашаетесь с лицензией MIT.
|