Files
GiteaMailTemplates/themes/horizon/mail/repo/release.tmpl
T
KenanZhuandClaude d020e35f77 refactor(themes): convert all rgba() to #RRGGBBAA hex notation
453 occurrences, 37 unique rgba() values converted across 66 files.
All 110 templates (10 themes × 11 types) render successfully.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-02 11:50:25 +08:00

169 lines
7.2 KiB
Cheetah

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.Subject}}
</title>
<style type="text/css">
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#f4f6f9 }
.email-wrap { max-width:600px;margin:20px auto;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:12px;border:0;outline:none }
.email-brand { font-size:22px;font-weight:600;color:#1e293b;letter-spacing:-0.2px;vertical-align:middle }
.email-header { padding:28px 32px 16px;border-bottom:1px solid #eef2f6;background:#ffffff;border-radius:12px 12px 0 0 }
/* Card */
.email-card { padding:32px 32px 24px;color:#334155;background:#ffffff }
.email-heading { margin:0 0 16px;font-size:16px;line-height:1.5;color:#1e293b }
.email-text { margin:0 0 16px;font-size:16px;line-height:1.5;color:#334155 }
.email-subtext { margin:0 0 20px;font-size:16px;line-height:1.5;color:#334155 }
/* Divider */
.email-divider { height:1px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent);margin:16px 0 8px }
/* Button */
.email-btn-row { padding:0;text-align:center }
.email-btn { display:inline-block;padding:14px 36px;font-size:16px;font-weight:500;color:#ffffff!important;text-decoration:none;background:#1e88e5;border-radius:48px;border:1px solid #1e88e5;letter-spacing:0.3px;text-align:center }
.email-btn-table { margin:16px 0 24px;border-collapse:separate }
/* Fallback link */
.email-link-box { border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#475569;line-height:1.5 }
.email-link-url { margin:0;font-size:14px;font-family:monospace;color:#1e88e5;background:#ffffff;padding:10px 12px;border-radius:6px;border:1px solid #e2e8f0;word-break:break-all }
/* Footer */
.email-footer { padding:20px 32px 28px;background:#f9fbfd;border-top:1px solid #eef2f6;text-align:left;border-radius:0 0 12px 12px }
.email-footer-text { margin:0;font-size:14px;color:#64748b }
.email-footer-link { color:#1e88e5;text-decoration:none;font-weight:500;border-bottom:1px dotted #b9d5f0 }
/* Typography utilities */
.card-body a,.card-body a:link,.card-body a:visited { color:#1e88e5!important;text-decoration:none!important;font-weight:500!important }
.card-body h4 { color:#1e293b!important;margin:24px 0 8px!important;font-size:18px!important;font-weight:600!important }
.card-body ul { margin:0 0 24px!important;padding-left:20px!important }
.card-body li { margin-bottom:6px!important;font-size:15px!important;line-height:1.5!important;color:#334155!important }
/* Content */
.horizon-content,.horizon-content * { color:#334155!important }
.horizon-content a,.horizon-content a:link,.horizon-content a:visited { color:#1e88e5!important;text-decoration:underline!important }
.horizon-content a:hover,.horizon-content a:active { color:#1565c0!important }
.horizon-content code,.horizon-content pre { color:#0f172a!important;background:#f1f5f9!important;border-color:#e2e8f0!important }
.horizon-content blockquote { border-left:1px solid #cbd5e1!important;color:#475569!important }
.horizon-content h1,.horizon-content h2,.horizon-content h3,.horizon-content h4,.horizon-content h5,.horizon-content h6 { color:#1e293b!important }
.horizon-content hr { border-color:#e2e8f0!important }
.horizon-content img { border:0;max-width:100%!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding:20px 20px 12px!important }
.email-card { padding:24px 20px 16px!important }
.email-btn-row { padding:0!important }
.email-footer { padding:16px 20px 24px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#f4f6f9;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="max-width:600px;background:#ffffff;border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow:hidden;" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
{{$release_url := HTMLFormat "<a href='%s'>%s</a>" .Release.HTMLURL .Release.TagName}}
{{$repo_url := HTMLFormat "<a href='%s'>%s</a>" .Release.Repo.HTMLURL .Release.Repo.FullName}}
<p class="email-heading">
{{.locale.Tr "mail.release.new.text" .Release.Publisher.Name $release_url $repo_url}}
</p>
<h4>{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
{{if .Release.RenderedNote}}
{{.locale.Tr "mail.release.note"}}<br>
<div class="horizon-content">{{.Release.RenderedNote}}</div>
{{end}}
<p style="margin:20px 0 8px;font-weight:500;color:#1e293b;">{{.locale.Tr "mail.release.downloads"}}</p>
<ul>
{{if not .DisableDownloadSourceArchives}}
<li>
<a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.zip" rel="nofollow">{{.locale.Tr "mail.release.download.zip"}}</a>
</li>
<li>
<a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.tar.gz" rel="nofollow">{{.locale.Tr "mail.release.download.targz"}}</a>
</li>
{{end}}
{{if .Release.Attachments}}
{{range .Release.Attachments}}
<li>
<a href="{{.DownloadURL}}" target="_blank">{{.Name}} ({{.Size | FileSize}})</a>
</li>
{{end}}
{{end}}
</ul>
</td>
</tr>
<!-- Divider -->
<tr>
<td class="email-divider"></td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-table">
<tr>
<td align="center">
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:16px 18px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Link}}</p>
</td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
</p>
</td>
</tr>
</table>
</center>
</body>
</html>