Files
GiteaMailTemplates/docs/README.zh-CN.md
T
KenanZhu fec3ace600
Release / Validate Templates (push) Canceled after 0s
Release / Package & Release (push) Canceled after 0s
Release / Update Latest Release Documentation (push) Canceled after 0s
chore: migrate mail themes to shared framework and locked upstream inputs
2026-10-09 18:34:36 +08:00

8.1 KiB
Raw Blame History

Gitea 邮件模板

为自托管 Gitea 提供精心设计、可直接部署的多风格邮件模板。

最新发布版:v28.0.0


设计理念

大多数自托管 Gitea 实例使用默认的纯文本邮件模板。本项目提供了开箱即用、视觉精美的替代方案——每种方案都针对特定社区或受众设计,您可以选择最适合您用户的风格。

main 分支使用锁定的官方输入及共享控件框架:Gitea 提供邮件值、通知逻辑与翻译,框架负责页头、按钮、备用链接和页脚,主题仅定义样式。官方文件在开发/CI 时下载,不在仓库中维护副本。该重构尚未发布,以 v28.0.0 为基线;源码克隆需先构建安装文件,发行包提供可直接复制的产物。使用已发布版本前,请查看兼容性说明。


风格画廊

下表展示仓库当前收录的主题;新增主题可作为独立目录放在 themes/ 下,不受现有数量限制。

预览 风格 受众 特点
Horizon Horizon 企业/公司 蓝色强调色、石板灰排版、居中卡片
Terminal Terminal 开发者/技术 暗色模式、等宽字体、绿色命令行风格
Ember Ember 社区/开源 暖琥珀色、圆角、人文主义、包容
Bloom Bloom 创意/初创 蓝色玻璃卡片、柔和渐变、圆角按钮
Heritage Heritage 教育/研究 纸质色调、海军蓝与金色、双线边框、衬线字体
Neon Neon 游戏/Web3/创意科技 赛博朋克霓虹、粉红与青色、合成波能量
Mono Mono 设计工作室/编辑 瑞士粗野主义、黑白红强调、零圆角
Terra Terra 可持续/健康 大地色、陶土色按钮、自然风格细节、柔和卡片
Ink Ink 出版/新闻/文学 报刊分栏、海军蓝与金色分隔线、衬线字体及首字下沉
Aurora Aurora 高端SaaS/正念 空灵光效渐变、深紫与青绿、大气光晕

画廊展示共享框架的当前源码构建,并非历史发行包。保留原主题的配色、字体、页头及按钮/备用链接控件。查看本地预览及截图说明。

本地预览画廊 — 先按下文生成预览数据,再在浏览器中打开。


安装

源码克隆需按仓库提交的 gitea.lock.json 先构建(Go 1.24+,缓存不存在时首次构建下载锁定输入)。锁文件缺失会报错,不会自动选择最新版 Gitea:

cd tools
go run . build all
cd ..

选择一种风格,将生成的 mail/ 目录复制到 Gitea 自定义模板路径。发行压缩包中的路径为 themes/<名称>/mail/,源码构建后的路径为 build/themes/<名称>/mail/:

mkdir -p /var/lib/gitea/custom/templates/mail
cp -r build/themes/horizon/mail/. /var/lib/gitea/custom/templates/mail/
systemctl restart gitea

切换前备份当前邮件覆盖文件,根据上一主题的 build.json 移除其安装文件,再复制新主题完整输出;保留其他自定义模板。从 framed 切换到 shared 时,遗留的正文覆盖文件仍会使用旧布局,因此不能仅覆盖两个共享片段。

请确认实例实际配置的自定义目录再安装;常见部署示例为 Linux 二进制部署的 /var/lib/gitea/custom、Docker 的 /data/gitea,以及 Windows 的 C:\gitea\custom,这些并非所有实例的统一默认路径。

确认生效

管理后台的测试邮件不会使用自定义模板。要验证模板是否生效,请触发一次真实的 邮件通知。最快的方式是密码重置:退出登录,点击登录页的**"忘记密码"**,查看 重置邮件即可——它将使用你的自定义样式渲染。


预览

源码克隆需先生成被忽略的 preview/rendered.js 清单及逐语言数据包。后续发行包会包含全部官方语言的预览,现有 v28.0.0 及更早压缩包保持原内容。

官方输入命令(upstream)

在 tools/ 执行:go run . upstream prepare 根据已有锁文件下载尚不存在的缓存;go run . upstream verify 离线校验已有缓存;go run . upstream sync --tag vX.Y.Z 显式替换版本并生成锁文件。均支持子命令后的 --root <仓库根目录>,默认 ..。

缺少根锁文件时,准备、校验、构建与预览都会失败。普通克隆应恢复受版本控制的锁文件;有意初始化可运行 go run . upstream sync --tag v28.0.0。同步须联网,仅接受稳定 Gitea 28+ 标签,不更新文档或发布版本。损坏/版本不匹配的缓存需要检查后恢复,而非自动修复,详见完整命令与恢复指南。

静态模式:

cd tools
go run . preview all
cd ..

然后在浏览器中打开 preview/index.html,无需启动服务器。

开发服务器(实时重载):

cd tools
go run . dev
# 在浏览器中打开 http://127.0.0.1:3456
功能 静态 Dev
Go 模板渲染 [YES] [YES]
主题/模板/语言切换 [YES] [YES]
实时重载 [NO] [YES]

预览支持主题、邮件类型及全部官方语言切换(v28.0.0 快照含 28 种语言),以及 Modern/Source 视图、桌面/移动端尺寸和参数面板。语言数据按需加载,支持直接打开本地文件。←→ 可切换选择框,↑↓ 可切换选项,d/m 可切换视口。


兼容性

  • Gitea 28.0.0 — 使用模板发布版 v28.0.0;旧版 Gitea 请选用对应的旧版模板
  • 最新测试: Gitea 28.0.0
  • 其它 Gitea 版本请先查看逐版本兼容矩阵再选择模板压缩包;标记为 [PENDING] 的版本尚无已验证的推荐包。版本号相符的 v1.27.2 存在已知的推送通知问题。
  • 上游 Gitea 28.1.0: [PENDING]
  • 新源码架构支持 Gitea 28+,离线校验官方快照;源码状态及历史发行版限制详见兼容性说明。

模板类型

邮件类型由官方输入发现,当前为 11 种:账户激活、邮箱验证、注册通知、密码重置、团队邀请、仓库协作者、仓库转移、新版发布、Actions 工作流、议题/合并请求指派及议题/合并请求更新。具体路径参见英文 README。framed 主题使用同一对齐层与共享控件生成安装文件;可选的 shared 模式仅覆盖两个基础片段,不添加框架控件。

设计与翻译

主题仅维护 CSS 与元数据;共享框架使用官方邮件值及翻译组织可复用控件,保留通知条件、主题行和功能链接目标。官方模板及语言文件下载到忽略的 build/upstream/,仅提交工具生成的 gitea.lock.json。语言缺键按 Gitea 规则回退英文。v28.0.0 波兰语邀请文案存在官方占位符缺陷,预览报告 [UPSTREAM-WARN] 并保留官方行为,详见贡献指南。

文档与贡献

许可证

MIT — 详见 LICENSE 和第三方声明。发行包保留官方 Gitea 许可证和快照来源信息。