Files
GiteaMailTemplates/docs/CONTRIBUTING.ru.md
T
KenanZhuandClaude Opus 4.8 0bf982ffb9 refactor(tools): modularize CLI with urfave/cli/v2, externalise template metadata
- Split monolithic build-preview.go into modular packages:
  tools.go (entry), cli/ (list/create/delete/preview commands),
  config/ (JSON loading), preview/ (rendering engine, funcs, locale)
- Extract all template metadata into data/templates_config.json
  as single source of truth — no hardcoded template data in Go
- Replace hand-rolled CLI parsing with github.com/urfave/cli/v2
- Add sensible defaults for --folder (../themes) and --config
  (./data/templates_config.json) — most commands now run bare
- Add type-coercing gt/lt/ge/le template funcs for JSON float64
- Fix AppUrl to gitea.com matching official template convention
- rendered.js now exports __REGISTRY__ and __PARAMS__ alongside
  __RENDERED__ — preview/index.html reads all from single source
- Cross-validate all 11 template data contexts against official
  Gitea source (services/mailer/*.go + templates/mail/*.tmpl)
- Update all docs (README, AGENTS, CONTRIBUTING, 5 languages)
  to reflect new CLI workflow with create scaffolding command

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 12:26:44 +08:00

2.8 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 со скриншотами

Рекомендации по стилю

  • Каждый стиль должен включать все 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 с указанием стиля и типа письма

Настройка разработки

Локальный предпросмотр

  1. Сгенерируйте данные: cd tools && go run . preview all
  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.