Files
GiteaMailTemplates/docs/CONTRIBUTING.ru.md
T
KenanZhuandClaude 0ad7db124a refactor(preview): remove juice/Node.js, simplify to pure Go dev server with SSE
- 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>
2026-06-23 09:48:04 +08:00

3.9 KiB

Участие в разработке — 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)

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.