Files
GiteaMailTemplates/docs/CONTRIBUTING.ru.md
T

70 lines
3.4 KiB
Markdown

# Участие в разработке — 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
- **Node.js 18+** (опционально) для сервера разработки с Juice CSS
### Локальный предпросмотр (статический)
1. Сгенерируйте данные: `cd tools && go run . preview all`
2. Откройте `preview/index.html` в браузере — сервер не нужен
> Статическая симуляция Gmail/Outlook приблизительна. Используйте dev-режим для точного рендеринга.
### Сервер разработки (live reload + CSS инлайн)
```bash
cd tools && go run . dev
# → http://localhost:3456
```
При изменении `.tmpl` файлов автоматически пересобирает и обновляет браузер.
### Интеграционное тестирование
Разверните на Gitea: **Site Administration > Configuration > Mailer > Send Test Email**
---
## Соглашение о коммитах
- `style(<имя>):` — изменения шаблонов стиля
- `preview:` — инструменты предпросмотра
- `tools:` — Go-скрипт сборки
- `docs:` — документация и переводы
- `fix:` — исправления
- `project:` — README, LICENSE, мета-файлы
## Лицензия
Участвуя, вы соглашаетесь с лицензией MIT.