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