fix(themes): restore pre-refactor visual design across all 9 non-aurora themes

Fixes introduced by the CSS class-based refactor (1712f77) that changed
visual layout, spacing, colors, and content rendering:

**Container/border displacement (neon):**
- Move background, border, box-shadow back to .email-wrap (outermost)
- Restore .email-card to padding-only; add color for content inheritance
- Fix link box padding, link label color, button margin, link URL padding

**Layout restructuring (ink, mono):**
- ink: Move button + link-box back into left column (was moved to
  separate full-width row); remove incorrectly-added divider
- mono: Remove incorrectly-added divider; restore link-box margin-top

**CSS specificity conflict (ink):**
- Exclude .email-btn from .card-body a rule to prevent button text
  being overridden to same color as background

**Content class cleanup (neon, terminal, terra):**
- Remove .aurora-content (aurora-specific) copied into other themes
- Replace with theme-appropriate .card-body scoped rules where needed

**Content color/contrast (horizon):**
- Fix .horizon-content in release.tmpl from dark-theme colors
  (#e2e8f0 on white) to light-theme colors matching issue/default.tmpl
- Fix .email-heading color to #1e293b for heading distinction

**register_notify text_3 placement:**
- Restore per-theme original design: inside .email-subtext (mono, ink)
  vs standalone <p> after button (heritage, horizon)
- Move raw text in button row into proper <p> elements

**Button CSS pattern (bloom):**
- Remove redundant inline style/bgcolor from button <td> (already in CSS)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
KenanZhuandClaude Opus 4.8 committed 2026-06-05 13:44:24 +08:00
1 parent 6ae9c97be8
commit 73b9bd52f5
99 files changed
+10234 -3472

No files matched your search

+64 -29
View File
@@ -2,64 +2,99 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{AppName}} &middot; Team Invitation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.team_invite.subject" (.Inviter.DisplayName|DotEscape) (.Organization.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #e2e8f2; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#e2e8f2 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 8px;border:0;outline:none }
.email-brand { margin:0;font-size:18px;font-weight:700;color:#1e293b;letter-spacing:-0.3px }
.email-header { padding:28px 32px 18px;background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe);border-bottom:1px solid rgba(59,130,246,0.1);text-align:center }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04);overflow:hidden }
.email-heading { margin:0 0 12px;font-size:17px;line-height:1.5;color:#1e293b;font-weight:600 }
.email-text { margin:0 0 8px;font-size:15px;line-height:1.6;color:#475569 }
.email-subtext { margin:0 0 20px;font-size:14px;line-height:1.6;color:#64748b }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#3b82f6;border-radius:40px;border:1px solid #3b82f6;letter-spacing:0.2px }
/* Fallback link */
.email-link-box { background:linear-gradient(135deg,#eff4fd,#f5f7fe);border:1px solid rgba(59,130,246,0.1);border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.9) }
.email-link-label { margin:0 0 8px;font-size:13px;color:#64748b;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#3b82f6;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid rgba(0,0,0,0.06);word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid rgba(0,0,0,0.06);text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#94a3b8 }
.email-footer-link { color:#3b82f6;text-decoration:none;font-weight:500 }
</style>
</head>
<body style="margin:0; padding:0; background:linear-gradient(160deg,#dce3ed,#e4eaf3,#eef1f7); font-family:system-ui,-apple-system,'Segoe UI',sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04); overflow:hidden;">
<body style="margin:0;padding:0;background:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 18px; background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe); border-bottom:1px solid rgba(59,130,246,0.1); text-align:center;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; margin:0 auto 8px; border:0; outline:none;">
<p style="margin:0; font-size:18px; font-weight:700; color:#1e293b; letter-spacing:-0.3px;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
<p style="margin:0 0 12px; font-size:17px; line-height:1.5; color:#1e293b; font-weight:600;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#334155;">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" .Invite.Email}}
</p>
<p style="margin:0 0 8px; font-size:15px; line-height:1.6; color:#475569;">
<p class="email-text">
{{.locale.Tr "mail.team_invite.text_1" (DotEscape .Inviter.DisplayName) (DotEscape .Team.Name) (DotEscape .Organization.DisplayName)}}
</p>
<p style="margin:0 0 20px; font-size:14px; line-height:1.6; color:#64748b;">
<p class="email-subtext">
{{.locale.Tr "mail.team_invite.text_2"}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center" style="border-radius:40px; background-color:#3b82f6;" bgcolor="#3b82f6">
<a href="{{.InviteURL}}" style="display:inline-block; padding:14px 40px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#3b82f6; border-radius:40px; border:1px solid #3b82f6; letter-spacing:0.2px;">Accept Invitation</a>
<td align="center">
<a href="{{.InviteURL}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:linear-gradient(135deg,#eff4fd,#f5f7fe); border:1px solid rgba(59,130,246,0.1); border-radius:12px; padding:16px 18px; margin:24px 0 16px; box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);">
<p style="margin:0 0 8px; font-size:13px; color:#64748b; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#3b82f6; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid rgba(0,0,0,0.06); word-break:break-all; font-family:monospace;">
{{.InviteURL}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.InviteURL}}</p>
</div>
<p style="margin:16px 0 0; font-size:13px; color:#64748b; line-height:1.5;">
<p style="margin:16px 0 0;font-size:13px;color:#64748b;line-height:1.5;">
{{.locale.Tr "mail.team_invite.text_3" .Invite.Email}}
</p>
</div>
<div style="padding:18px 32px 22px; background:linear-gradient(135deg,#f8f9fc,#f4f6fb); border-top:1px solid rgba(0,0,0,0.06); text-align:center;">
<p style="margin:0; font-size:13px; color:#94a3b8;">
&copy; <a href="{{AppUrl}}" style="color:#3b82f6; text-decoration:none; font-weight:500;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:4px 0 0; font-size:11px; color:#b0bdd0;">Sent via Gitea Mail Templates</p>
</div>
</div>
</center>
</body>
</html>
@@ -2,64 +2,100 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #e2e8f2; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#e2e8f2 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 8px;border:0;outline:none }
.email-brand { margin:0;font-size:18px;font-weight:700;color:#1e293b;letter-spacing:-0.3px }
.email-header { padding:28px 32px 18px;background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe);border-bottom:1px solid rgba(59,130,246,0.1);text-align:center }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04);overflow:hidden }
.email-heading { font-size:17px;font-weight:600;color:#1e293b;margin:0 0 16px }
/* Content */
.job-list { list-style:none;padding:0;margin:0 0 24px 0 }
.job-item { background:linear-gradient(135deg,#f8faff,#f4f7fe);border:1px solid rgba(0,0,0,0.06);border-radius:10px;padding:12px 16px;margin-bottom:8px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.7) }
.job-link { color:#3b82f6;text-decoration:none;font-weight:500;font-size:14px;display:block }
/* Button */
.email-btn-row { margin:16px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#3b82f6;border-radius:40px;border:1px solid #3b82f6;letter-spacing:0.2px }
/* Fallback link */
.email-link-box { background:linear-gradient(135deg,#eff4fd,#f5f7fe);border:1px solid rgba(59,130,246,0.1);border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.9) }
.email-link-label { margin:0 0 8px;font-size:13px;color:#64748b;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#3b82f6;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid rgba(0,0,0,0.06);word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid rgba(0,0,0,0.06);text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#94a3b8 }
.email-footer-link { color:#3b82f6;text-decoration:none;font-weight:500 }
</style>
</head>
<body style="margin:0; padding:0; background:linear-gradient(160deg,#dce3ed,#e4eaf3,#eef1f7); font-family:system-ui,-apple-system,'Segoe UI',sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04); overflow:hidden;">
<body style="margin:0;padding:0;background:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 18px; background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe); border-bottom:1px solid rgba(59,130,246,0.1); text-align:center;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; margin:0 auto 8px; border:0; outline:none;">
<p style="margin:0; font-size:18px; font-weight:700; color:#1e293b; letter-spacing:-0.3px;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
<h2 style="font-size:17px; font-weight:600; color:#1e293b; margin:0 0 16px;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#334155;">
<h2 class="email-heading">
{{.Repo.FullName}} &mdash; {{.Run.WorkflowID}}: {{.RunStatusText}}
</h2>
<ul style="list-style:none; padding:0; margin:0 0 24px 0;">
<ul class="job-list">
{{range $job := .Jobs}}
<li style="background:linear-gradient(135deg,#f8faff,#f4f7fe); border:1px solid rgba(0,0,0,0.06); border-radius:10px; padding:12px 16px; margin-bottom:8px; box-shadow:inset 0 1px 0 rgba(255,255,255,0.7);">
<a href="{{$job.HTMLURL}}" style="color:#3b82f6; text-decoration:none; font-weight:500; font-size:14px; display:block;">
<li class="job-item">
<a href="{{$job.HTMLURL}}" class="job-link">
{{$job.Status}}: {{$job.Name}}{{if gt $job.Attempt 1}} (retry #{{$job.Attempt}}){{end}} &mdash; {{$job.Duration}}
</a>
</li>
{{end}}
</ul>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:16px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center" style="border-radius:40px; background-color:#3b82f6;" bgcolor="#3b82f6">
<a href="{{.Run.HTMLURL}}" style="display:inline-block; padding:14px 40px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#3b82f6; border-radius:40px; border:1px solid #3b82f6; letter-spacing:0.2px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<td align="center">
<a href="{{.Run.HTMLURL}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:linear-gradient(135deg,#eff4fd,#f5f7fe); border:1px solid rgba(59,130,246,0.1); border-radius:12px; padding:16px 18px; margin:24px 0 16px; box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);">
<p style="margin:0 0 8px; font-size:13px; color:#64748b; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#3b82f6; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid rgba(0,0,0,0.06); word-break:break-all; font-family:monospace;">
{{.Run.HTMLURL}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Run.HTMLURL}}</p>
</div>
</div>
<div style="padding:18px 32px 22px; background:linear-gradient(135deg,#f8f9fc,#f4f6fb); border-top:1px solid rgba(0,0,0,0.06); text-align:center;">
<p style="margin:0; font-size:13px; color:#94a3b8;">
&copy; <a href="{{AppUrl}}" style="color:#3b82f6; text-decoration:none; font-weight:500;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:4px 0 0; font-size:11px; color:#b0bdd0;">Sent via Gitea Mail Templates</p>
</div>
</div>
</center>
</body>
</html>
+60 -27
View File
@@ -2,55 +2,88 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #e2e8f2; }
code { background: #eff4fd; padding: 2px 8px; border-radius: 5px; font-size: 14px; color: #3b82f6; font-weight: 500; border: 1px solid rgba(59,130,246,0.12); }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#e2e8f2 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 8px;border:0;outline:none }
.email-brand { margin:0;font-size:18px;font-weight:700;color:#1e293b;letter-spacing:-0.3px }
.email-header { padding:28px 32px 18px;background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe);border-bottom:1px solid rgba(59,130,246,0.1);text-align:center }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04);overflow:hidden }
.email-text { margin:0 0 20px;font-size:15px;line-height:1.6;color:#475569 }
/* Typography utilities */
code { background:#eff4fd;padding:2px 8px;border-radius:5px;font-size:14px;color:#3b82f6;font-weight:500;border:1px solid rgba(59,130,246,0.12) }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#3b82f6;border-radius:40px;border:1px solid #3b82f6;letter-spacing:0.2px }
/* Fallback link */
.email-link-box { background:linear-gradient(135deg,#eff4fd,#f5f7fe);border:1px solid rgba(59,130,246,0.1);border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.9) }
.email-link-label { margin:0 0 8px;font-size:13px;color:#64748b;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#3b82f6;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid rgba(0,0,0,0.06);word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid rgba(0,0,0,0.06);text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#94a3b8 }
.email-footer-link { color:#3b82f6;text-decoration:none;font-weight:500 }
</style>
</head>
<body style="margin:0; padding:0; background:linear-gradient(160deg,#dce3ed,#e4eaf3,#eef1f7); font-family:system-ui,-apple-system,'Segoe UI',sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04); overflow:hidden;">
<body style="margin:0;padding:0;background:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 18px; background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe); border-bottom:1px solid rgba(59,130,246,0.1); text-align:center;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; margin:0 auto 8px; border:0; outline:none;">
<p style="margin:0; font-size:18px; font-weight:700; color:#1e293b; letter-spacing:-0.3px;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
<p style="margin:0 0 20px; font-size:15px; line-height:1.6; color:#475569;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#334155;">
<p class="email-text">
{{.locale.Tr "mail.repo.collaborator.added.text"}} <code>{{.RepoName}}</code>.
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center" style="border-radius:40px; background-color:#3b82f6;" bgcolor="#3b82f6">
<a href="{{.Link}}" style="display:inline-block; padding:14px 40px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#3b82f6; border-radius:40px; border:1px solid #3b82f6; letter-spacing:0.2px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<td align="center">
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:linear-gradient(135deg,#eff4fd,#f5f7fe); border:1px solid rgba(59,130,246,0.1); border-radius:12px; padding:16px 18px; margin:24px 0 16px; box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);">
<p style="margin:0 0 8px; font-size:13px; color:#64748b; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#3b82f6; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid rgba(0,0,0,0.06); word-break:break-all; font-family:monospace;">
{{.Link}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Link}}</p>
</div>
</div>
<div style="padding:18px 32px 22px; background:linear-gradient(135deg,#f8f9fc,#f4f6fb); border-top:1px solid rgba(0,0,0,0.06); text-align:center;">
<p style="margin:0; font-size:13px; color:#94a3b8;">
&copy; <a href="{{AppUrl}}" style="color:#3b82f6; text-decoration:none; font-weight:500;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:4px 0 0; font-size:11px; color:#b0bdd0;">Sent via Gitea Mail Templates</p>
</div>
</div>
</center>
</body>
</html>
+58 -28
View File
@@ -2,26 +2,57 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #e2e8f2; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#e2e8f2 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 8px;border:0;outline:none }
.email-brand { margin:0;font-size:18px;font-weight:700;color:#1e293b;letter-spacing:-0.3px }
.email-header { padding:28px 32px 18px;background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe);border-bottom:1px solid rgba(59,130,246,0.1);text-align:center }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04);overflow:hidden }
.email-text { margin:0 0 20px;font-size:15px;line-height:1.6;color:#475569 }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#3b82f6;border-radius:40px;border:1px solid #3b82f6;letter-spacing:0.2px }
/* Fallback link */
.email-link-box { background:linear-gradient(135deg,#eff4fd,#f5f7fe);border:1px solid rgba(59,130,246,0.1);border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.9) }
.email-link-label { margin:0 0 8px;font-size:13px;color:#64748b;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#3b82f6;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid rgba(0,0,0,0.06);word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid rgba(0,0,0,0.06);text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#94a3b8 }
.email-footer-link { color:#3b82f6;text-decoration:none;font-weight:500 }
</style>
</head>
<body style="margin:0; padding:0; background:linear-gradient(160deg,#dce3ed,#e4eaf3,#eef1f7); font-family:system-ui,-apple-system,'Segoe UI',sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04); overflow:hidden;">
<body style="margin:0;padding:0;background:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 18px; background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe); border-bottom:1px solid rgba(59,130,246,0.1); text-align:center;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; margin:0 auto 8px; border:0; outline:none;">
<p style="margin:0; font-size:18px; font-weight:700; color:#1e293b; letter-spacing:-0.3px;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
{{$repo_url := HTMLFormat "<a href='%s' style='color:#3b82f6; text-decoration:none; font-weight:500;'>%s</a>" .Issue.Repo.HTMLURL .Issue.Repo.FullName}}
{{$link := HTMLFormat "<a href='%s' style='color:#3b82f6; text-decoration:none; font-weight:500;'>#%d</a>" .Link .Issue.Index}}
<p style="margin:0 0 20px; font-size:15px; line-height:1.6; color:#475569;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#334155;">
{{$repo_url := HTMLFormat "<a href='%s' style='color:#3b82f6;text-decoration:none;font-weight:500;'>%s</a>" .Issue.Repo.HTMLURL .Issue.Repo.FullName}}
{{$link := HTMLFormat "<a href='%s' style='color:#3b82f6;text-decoration:none;font-weight:500;'>#%d</a>" .Link .Issue.Index}}
<p class="email-text">
{{if .IsPull}}
{{.locale.Tr "mail.issue_assigned.pull" .Doer.Name $link $repo_url}}
{{else}}
@@ -29,33 +60,32 @@
{{end}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center" style="border-radius:40px; background-color:#3b82f6;" bgcolor="#3b82f6">
<a href="{{.Link}}" style="display:inline-block; padding:14px 40px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#3b82f6; border-radius:40px; border:1px solid #3b82f6; letter-spacing:0.2px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<td align="center">
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:linear-gradient(135deg,#eff4fd,#f5f7fe); border:1px solid rgba(59,130,246,0.1); border-radius:12px; padding:16px 18px; margin:24px 0 16px; box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);">
<p style="margin:0 0 8px; font-size:13px; color:#64748b; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#3b82f6; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid rgba(0,0,0,0.06); word-break:break-all; font-family:monospace;">
{{.Link}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Link}}</p>
</div>
</div>
<div style="padding:18px 32px 22px; background:linear-gradient(135deg,#f8f9fc,#f4f6fb); border-top:1px solid rgba(0,0,0,0.06); text-align:center;">
<p style="margin:0; font-size:13px; color:#94a3b8;">
&copy; <a href="{{AppUrl}}" style="color:#3b82f6; text-decoration:none; font-weight:500;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:4px 0 0; font-size:11px; color:#b0bdd0;">Sent via Gitea Mail Templates</p>
</div>
</div>
</center>
</body>
</html>
+81 -40
View File
@@ -2,37 +2,79 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #e2e8f2; }
blockquote { padding-left: 1em; margin: 1em 0; border-left: 2px solid #dbeafe; color: #64748b; }
pre { background: #eff4fd; padding: 12px; border-radius: 8px; overflow-x: auto; font-size: 13px; line-height: 1.5; border: 1px solid rgba(0,0,0,0.06); }
hr { border: none; border-top: 1px solid rgba(0,0,0,0.06); margin: 20px 0; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#e2e8f2 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 8px;border:0;outline:none }
.email-brand { margin:0;font-size:18px;font-weight:700;color:#1e293b;letter-spacing:-0.3px }
.email-header { padding:28px 32px 18px;background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe);border-bottom:1px solid rgba(59,130,246,0.1);text-align:center }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04);overflow:hidden }
.email-text { margin:0 0 16px;font-size:15px;line-height:1.6;color:#475569 }
/* Content */
blockquote { padding-left:1em;margin:1em 0;border-left:2px solid #dbeafe;color:#64748b }
pre { background:#eff4fd;padding:12px;border-radius:8px;overflow-x:auto;font-size:13px;line-height:1.5;border:1px solid rgba(0,0,0,0.06) }
hr { border:none;border-top:1px solid rgba(0,0,0,0.06);margin:20px 0 }
.review-path { margin:8px 0;font-size:13px;color:#64748b }
.review-content { padding-left:1em;margin:1em 0 }
.review-body { margin-top:8px;font-size:14px;line-height:1.6 }
.commit-list { margin:16px 0;padding-left:20px }
.commit-item { margin-bottom:6px;font-size:14px }
.commit-link { color:#3b82f6;text-decoration:none;font-weight:500 }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#3b82f6;border-radius:40px;border:1px solid #3b82f6;letter-spacing:0.2px }
/* Fallback link */
.email-link-box { background:linear-gradient(135deg,#eff4fd,#f5f7fe);border:1px solid rgba(59,130,246,0.1);border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.9) }
.email-link-label { margin:0 0 8px;font-size:13px;color:#64748b;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#3b82f6;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid rgba(0,0,0,0.06);word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid rgba(0,0,0,0.06);text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#94a3b8 }
.email-footer-link { color:#3b82f6;text-decoration:none;font-weight:500 }
</style>
</head>
<body style="margin:0; padding:0; background:linear-gradient(160deg,#dce3ed,#e4eaf3,#eef1f7); font-family:system-ui,-apple-system,'Segoe UI',sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04); overflow:hidden;">
<body style="margin:0;padding:0;background:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 18px; background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe); border-bottom:1px solid rgba(59,130,246,0.1); text-align:center;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; margin:0 auto 8px; border:0; outline:none;">
<p style="margin:0; font-size:18px; font-weight:700; color:#1e293b; letter-spacing:-0.3px;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
{{if .IsMention}}<p style="margin:0 0 16px; font-size:15px; line-height:1.6; color:#475569;">{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>{{end}}
<!-- Card -->
<div style="padding:32px 32px 24px;color:#334155;">
{{if .IsMention}}
<p class="email-text">{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>
{{end}}
{{if eq .ActionName "push"}}
<p style="margin:0 0 16px; font-size:15px; line-height:1.6; color:#475569;">
<p class="email-text">
{{if .Comment.IsForcePush}}
{{$oldCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.OldCommit}}
{{$oldShortSha := ShortSha .Comment.OldCommit}}
{{$oldCommitLink := HTMLFormat "<a href='%[1]s' style='color:#3b82f6; text-decoration:none; font-weight:500;'>%[2]s</a>" $oldCommitUrl $oldShortSha}}
{{$oldCommitLink := HTMLFormat "<a href='%[1]s' style='color:#3b82f6;text-decoration:none;font-weight:500;'>%[2]s</a>" $oldCommitUrl $oldShortSha}}
{{$newCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.NewCommit}}
{{$newShortSha := ShortSha .Comment.NewCommit}}
{{$newCommitLink := HTMLFormat "<a href='%[1]s' style='color:#3b82f6; text-decoration:none; font-weight:500;'>%[2]s</a>" $newCommitUrl $newShortSha}}
{{$newCommitLink := HTMLFormat "<a href='%[1]s' style='color:#3b82f6;text-decoration:none;font-weight:500;'>%[2]s</a>" $newCommitUrl $newShortSha}}
{{.locale.Tr "mail.issue.action.force_push" .Doer.Name .Comment.Issue.PullRequest.HeadBranch $oldCommitLink $newCommitLink}}
{{else}}
@@ -40,7 +82,8 @@
{{end}}
</p>
{{end}}
<p style="margin:0 0 16px; font-size:15px; line-height:1.6; color:#475569;">
<p class="email-text">
{{if eq .ActionName "close"}}
{{.locale.Tr "mail.issue.action.close" .Doer.Name .Issue.Index}}
{{else if eq .ActionName "reopen"}}
@@ -66,23 +109,22 @@
{{else}}
{{.Body}}
{{end -}}{{if .CanReply}}&nbsp;{{.locale.Tr "mail.reply"}}{{end}}
</p>
{{- range .ReviewComments}}
<hr>
<p style="margin:8px 0; font-size:13px; color:#64748b;">{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p>
<div style="padding-left: 1em; margin: 1em 0;">
<p class="review-path">{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p>
<div class="review-content">
<pre>{{.Patch}}</pre>
<div style="margin-top:8px; font-size:14px; line-height:1.6;">{{.RenderedContent}}</div>
<div class="review-body">{{.RenderedContent}}</div>
</div>
{{end -}}
{{if eq .ActionName "push"}}
<ul style="margin:16px 0; padding-left:20px;">
<ul class="commit-list">
{{range .Comment.Commits}}
<li style="margin-bottom:6px; font-size:14px;">
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}" style="color:#3b82f6; text-decoration:none; font-weight:500;">
<li class="commit-item">
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}" class="commit-link">
{{ShortSha .ID.String}}
</a> &mdash; {{.MessageTitle}}
</li>
@@ -90,33 +132,32 @@
</ul>
{{end}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center" style="border-radius:40px; background-color:#3b82f6;" bgcolor="#3b82f6">
<a href="{{.Link}}" style="display:inline-block; padding:14px 40px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#3b82f6; border-radius:40px; border:1px solid #3b82f6; letter-spacing:0.2px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<td align="center">
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:linear-gradient(135deg,#eff4fd,#f5f7fe); border:1px solid rgba(59,130,246,0.1); border-radius:12px; padding:16px 18px; margin:24px 0 16px; box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);">
<p style="margin:0 0 8px; font-size:13px; color:#64748b; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#3b82f6; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid rgba(0,0,0,0.06); word-break:break-all; font-family:monospace;">
{{.Link}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Link}}</p>
</div>
</div>
<div style="padding:18px 32px 22px; background:linear-gradient(135deg,#f8f9fc,#f4f6fb); border-top:1px solid rgba(0,0,0,0.06); text-align:center;">
<p style="margin:0; font-size:13px; color:#94a3b8;">
&copy; <a href="{{AppUrl}}" style="color:#3b82f6; text-decoration:none; font-weight:500;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:4px 0 0; font-size:11px; color:#b0bdd0;">Sent via Gitea Mail Templates</p>
</div>
</div>
</center>
</body>
</html>
+73 -38
View File
@@ -2,87 +2,122 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #e2e8f2; }
blockquote { padding-left: 1em; margin: 1em 0; border-left: 2px solid #dbeafe; color: #64748b; }
ul { margin: 12px 0 16px; padding-left: 20px; }
li { margin-bottom: 6px; font-size: 14px; line-height: 1.5; color: #475569; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#e2e8f2 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 8px;border:0;outline:none }
.email-brand { margin:0;font-size:18px;font-weight:700;color:#1e293b;letter-spacing:-0.3px }
.email-header { padding:28px 32px 18px;background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe);border-bottom:1px solid rgba(59,130,246,0.1);text-align:center }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04);overflow:hidden }
.email-heading { margin:20px 0 8px;font-size:17px;font-weight:600;color:#1e293b }
.email-subheading { margin:20px 0 8px;font-weight:600;color:#1e293b }
.email-text { margin:0 0 16px;font-size:15px;line-height:1.6;color:#475569 }
/* Content */
blockquote { padding-left:1em;margin:1em 0;border-left:2px solid #dbeafe;color:#64748b }
ul { margin:12px 0 16px;padding-left:20px }
li { margin-bottom:6px;font-size:14px;line-height:1.5;color:#475569 }
.email-content { margin:12px 0 16px;font-size:14px;line-height:1.6;color:#475569 }
/* Button */
.email-btn-row { margin:16px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#3b82f6;border-radius:40px;border:1px solid #3b82f6;letter-spacing:0.2px }
/* Fallback link */
.email-link-box { background:linear-gradient(135deg,#eff4fd,#f5f7fe);border:1px solid rgba(59,130,246,0.1);border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.9) }
.email-link-label { margin:0 0 8px;font-size:13px;color:#64748b;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#3b82f6;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid rgba(0,0,0,0.06);word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid rgba(0,0,0,0.06);text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#94a3b8 }
.email-footer-link { color:#3b82f6;text-decoration:none;font-weight:500 }
</style>
</head>
<body style="margin:0; padding:0; background:linear-gradient(160deg,#dce3ed,#e4eaf3,#eef1f7); font-family:system-ui,-apple-system,'Segoe UI',sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04); overflow:hidden;">
<body style="margin:0;padding:0;background:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 18px; background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe); border-bottom:1px solid rgba(59,130,246,0.1); text-align:center;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; margin:0 auto 8px; border:0; outline:none;">
<p style="margin:0; font-size:18px; font-weight:700; color:#1e293b; letter-spacing:-0.3px;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
{{$release_url := HTMLFormat "<a href='%s' style='color:#3b82f6; text-decoration:none; font-weight:500;'>%s</a>" .Release.HTMLURL .Release.TagName}}
{{$repo_url := HTMLFormat "<a href='%s' style='color:#3b82f6; text-decoration:none; font-weight:500;'>%s</a>" .Release.Repo.HTMLURL .Release.Repo.FullName}}
<p style="margin:0 0 16px; font-size:15px; line-height:1.6; color:#475569;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#334155;">
{{$release_url := HTMLFormat "<a href='%s' style='color:#3b82f6;text-decoration:none;font-weight:500;'>%s</a>" .Release.HTMLURL .Release.TagName}}
{{$repo_url := HTMLFormat "<a href='%s' style='color:#3b82f6;text-decoration:none;font-weight:500;'>%s</a>" .Release.Repo.HTMLURL .Release.Repo.FullName}}
<p class="email-text">
{{.locale.Tr "mail.release.new.text" .Release.Publisher.Name $release_url $repo_url}}
</p>
<h4 style="margin:20px 0 8px; font-size:17px; font-weight:600; color:#1e293b;">{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
<h4 class="email-heading">{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
{{if .Release.RenderedNote}}
{{.locale.Tr "mail.release.note"}}<br>
<div style="margin:12px 0 16px; font-size:14px; line-height:1.6; color:#475569;">
<div class="email-content">
{{.Release.RenderedNote}}
</div>
{{end}}
<p style="margin:20px 0 8px; font-weight:600; color:#1e293b;">{{.locale.Tr "mail.release.downloads"}}</p>
<ul style="margin:0 0 20px; padding-left:20px;">
<p class="email-subheading">{{.locale.Tr "mail.release.downloads"}}</p>
<ul>
{{if not .DisableDownloadSourceArchives}}
<li>
<a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.zip" rel="nofollow" style="color:#3b82f6; text-decoration:none; font-weight:500;">{{.locale.Tr "mail.release.download.zip"}}</a>
<a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.zip" rel="nofollow" style="color:#3b82f6;text-decoration:none;font-weight:500;">{{.locale.Tr "mail.release.download.zip"}}</a>
</li>
<li>
<a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.tar.gz" rel="nofollow" style="color:#3b82f6; text-decoration:none; font-weight:500;">{{.locale.Tr "mail.release.download.targz"}}</a>
<a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.tar.gz" rel="nofollow" style="color:#3b82f6;text-decoration:none;font-weight:500;">{{.locale.Tr "mail.release.download.targz"}}</a>
</li>
{{end}}
{{if .Release.Attachments}}
{{range .Release.Attachments}}
<li>
<a href="{{.DownloadURL}}" target="_blank" style="color:#3b82f6; text-decoration:none; font-weight:500;">{{.Name}} ({{.Size | FileSize}})</a>
<a href="{{.DownloadURL}}" target="_blank" style="color:#3b82f6;text-decoration:none;font-weight:500;">{{.Name}} ({{.Size | FileSize}})</a>
</li>
{{end}}
{{end}}
</ul>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:16px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center" style="border-radius:40px; background-color:#3b82f6;" bgcolor="#3b82f6">
<a href="{{.Link}}" style="display:inline-block; padding:14px 40px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#3b82f6; border-radius:40px; border:1px solid #3b82f6; letter-spacing:0.2px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<td align="center">
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:linear-gradient(135deg,#eff4fd,#f5f7fe); border:1px solid rgba(59,130,246,0.1); border-radius:12px; padding:16px 18px; margin:24px 0 16px; box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);">
<p style="margin:0 0 8px; font-size:13px; color:#64748b; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#3b82f6; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid rgba(0,0,0,0.06); word-break:break-all; font-family:monospace;">
{{.Link}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Link}}</p>
</div>
</div>
<div style="padding:18px 32px 22px; background:linear-gradient(135deg,#f8f9fc,#f4f6fb); border-top:1px solid rgba(0,0,0,0.06); text-align:center;">
<p style="margin:0; font-size:13px; color:#94a3b8;">
&copy; <a href="{{AppUrl}}" style="color:#3b82f6; text-decoration:none; font-weight:500;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:4px 0 0; font-size:11px; color:#b0bdd0;">Sent via Gitea Mail Templates</p>
</div>
</div>
</center>
</body>
</html>
+57 -27
View File
@@ -2,55 +2,85 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #e2e8f2; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#e2e8f2 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 8px;border:0;outline:none }
.email-brand { margin:0;font-size:18px;font-weight:700;color:#1e293b;letter-spacing:-0.3px }
.email-header { padding:28px 32px 18px;background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe);border-bottom:1px solid rgba(59,130,246,0.1);text-align:center }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04);overflow:hidden }
.email-text { margin:0 0 20px;font-size:15px;line-height:1.6;color:#475569 }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#3b82f6;border-radius:40px;border:1px solid #3b82f6;letter-spacing:0.2px }
/* Fallback link */
.email-link-box { background:linear-gradient(135deg,#eff4fd,#f5f7fe);border:1px solid rgba(59,130,246,0.1);border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.9) }
.email-link-label { margin:0 0 8px;font-size:13px;color:#64748b;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#3b82f6;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid rgba(0,0,0,0.06);word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid rgba(0,0,0,0.06);text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#94a3b8 }
.email-footer-link { color:#3b82f6;text-decoration:none;font-weight:500 }
</style>
</head>
<body style="margin:0; padding:0; background:linear-gradient(160deg,#dce3ed,#e4eaf3,#eef1f7); font-family:system-ui,-apple-system,'Segoe UI',sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04); overflow:hidden;">
<body style="margin:0;padding:0;background:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 18px; background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe); border-bottom:1px solid rgba(59,130,246,0.1); text-align:center;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; margin:0 auto 8px; border:0; outline:none;">
<p style="margin:0; font-size:18px; font-weight:700; color:#1e293b; letter-spacing:-0.3px;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
{{$url := HTMLFormat "<a href='%[1]s' style='color:#3b82f6; text-decoration:none; font-weight:500;'>%[2]s</a>" .Link .Repo}}
<p style="margin:0 0 20px; font-size:15px; line-height:1.6; color:#475569;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#334155;">
{{$url := HTMLFormat "<a href='%[1]s' style='color:#3b82f6;text-decoration:none;font-weight:500;'>%[2]s</a>" .Link .Repo}}
<p class="email-text">
{{.Subject}}. {{.locale.Tr "mail.repo.transfer.body" $url}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center" style="border-radius:40px; background-color:#3b82f6;" bgcolor="#3b82f6">
<a href="{{.Link}}" style="display:inline-block; padding:14px 40px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#3b82f6; border-radius:40px; border:1px solid #3b82f6; letter-spacing:0.2px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<td align="center">
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:linear-gradient(135deg,#eff4fd,#f5f7fe); border:1px solid rgba(59,130,246,0.1); border-radius:12px; padding:16px 18px; margin:24px 0 16px; box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);">
<p style="margin:0 0 8px; font-size:13px; color:#64748b; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#3b82f6; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid rgba(0,0,0,0.06); word-break:break-all; font-family:monospace;">
{{.Link}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Link}}</p>
</div>
</div>
<div style="padding:18px 32px 22px; background:linear-gradient(135deg,#f8f9fc,#f4f6fb); border-top:1px solid rgba(0,0,0,0.06); text-align:center;">
<p style="margin:0; font-size:13px; color:#94a3b8;">
&copy; <a href="{{AppUrl}}" style="color:#3b82f6; text-decoration:none; font-weight:500;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:4px 0 0; font-size:11px; color:#b0bdd0;">Sent via Gitea Mail Templates</p>
</div>
</div>
</center>
</body>
</html>
+63 -28
View File
@@ -2,61 +2,96 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #e2e8f2; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#e2e8f2 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 8px;border:0;outline:none }
.email-brand { margin:0;font-size:18px;font-weight:700;color:#1e293b;letter-spacing:-0.3px }
.email-header { padding:28px 32px 18px;background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe);border-bottom:1px solid rgba(59,130,246,0.1);text-align:center }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04);overflow:hidden }
.email-heading { margin:0 0 12px;font-size:17px;line-height:1.5;color:#1e293b;font-weight:600 }
.email-text { margin:0 0 8px;font-size:15px;line-height:1.6;color:#475569 }
.email-subtext { margin:0 0 20px;font-size:14px;line-height:1.6;color:#64748b }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#3b82f6;border-radius:40px;border:1px solid #3b82f6;letter-spacing:0.2px }
/* Fallback link */
.email-link-box { background:linear-gradient(135deg,#eff4fd,#f5f7fe);border:1px solid rgba(59,130,246,0.1);border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.9) }
.email-link-label { margin:0 0 8px;font-size:13px;color:#64748b;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#3b82f6;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid rgba(0,0,0,0.06);word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid rgba(0,0,0,0.06);text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#94a3b8 }
.email-footer-link { color:#3b82f6;text-decoration:none;font-weight:500 }
</style>
</head>
<body style="margin:0; padding:0; background:linear-gradient(160deg,#dce3ed,#e4eaf3,#eef1f7); font-family:system-ui,-apple-system,'Segoe UI',sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04); overflow:hidden;">
<body style="margin:0;padding:0;background:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 18px; background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe); border-bottom:1px solid rgba(59,130,246,0.1); text-align:center;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; margin:0 auto 8px; border:0; outline:none;">
<p style="margin:0; font-size:18px; font-weight:700; color:#1e293b; letter-spacing:-0.3px;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
<p style="margin:0 0 12px; font-size:17px; line-height:1.5; color:#1e293b; font-weight:600;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#334155;">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 8px; font-size:15px; line-height:1.6; color:#475569;">
<p class="email-text">
{{.locale.Tr "mail.activate_account.text_1" (.DisplayName|DotEscape) AppName}}
</p>
<p style="margin:0 0 20px; font-size:14px; line-height:1.6; color:#64748b;">
<p class="email-subtext">
{{.locale.Tr "mail.activate_account.text_2" .ActiveCodeLives}}
</p>
<!-- Button -->
{{$activate_url := printf "%suser/activate?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center" style="border-radius:40px; background-color:#3b82f6;" bgcolor="#3b82f6">
<a href="{{$activate_url}}" style="display:inline-block; padding:14px 40px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#3b82f6; border-radius:40px; border:1px solid #3b82f6; letter-spacing:0.2px;">Activate Account</a>
<td align="center">
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_account"}}</a>
</td>
</tr>
</table>
<div style="background:linear-gradient(135deg,#eff4fd,#f5f7fe); border:1px solid rgba(59,130,246,0.1); border-radius:12px; padding:16px 18px; margin:24px 0 16px; box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);">
<p style="margin:0 0 8px; font-size:13px; color:#64748b; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#3b82f6; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid rgba(0,0,0,0.06); word-break:break-all; font-family:monospace;">
{{$activate_url}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$activate_url}}</p>
</div>
</div>
<div style="padding:18px 32px 22px; background:linear-gradient(135deg,#f8f9fc,#f4f6fb); border-top:1px solid rgba(0,0,0,0.06); text-align:center;">
<p style="margin:0; font-size:13px; color:#94a3b8;">
&copy; <a href="{{AppUrl}}" style="color:#3b82f6; text-decoration:none; font-weight:500;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:4px 0 0; font-size:11px; color:#b0bdd0;">Sent via Gitea Mail Templates</p>
</div>
</div>
</center>
</body>
</html>
+60 -27
View File
@@ -2,58 +2,91 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #e2e8f2; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#e2e8f2 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 8px;border:0;outline:none }
.email-brand { margin:0;font-size:18px;font-weight:700;color:#1e293b;letter-spacing:-0.3px }
.email-header { padding:28px 32px 18px;background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe);border-bottom:1px solid rgba(59,130,246,0.1);text-align:center }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04);overflow:hidden }
.email-heading { margin:0 0 12px;font-size:17px;line-height:1.5;color:#1e293b;font-weight:600 }
.email-text { margin:0 0 20px;font-size:15px;line-height:1.6;color:#475569 }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#3b82f6;border-radius:40px;border:1px solid #3b82f6;letter-spacing:0.2px }
/* Fallback link */
.email-link-box { background:linear-gradient(135deg,#eff4fd,#f5f7fe);border:1px solid rgba(59,130,246,0.1);border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.9) }
.email-link-label { margin:0 0 8px;font-size:13px;color:#64748b;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#3b82f6;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid rgba(0,0,0,0.06);word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid rgba(0,0,0,0.06);text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#94a3b8 }
.email-footer-link { color:#3b82f6;text-decoration:none;font-weight:500 }
</style>
</head>
<body style="margin:0; padding:0; background:linear-gradient(160deg,#dce3ed,#e4eaf3,#eef1f7); font-family:system-ui,-apple-system,'Segoe UI',sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04); overflow:hidden;">
<body style="margin:0;padding:0;background:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 18px; background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe); border-bottom:1px solid rgba(59,130,246,0.1); text-align:center;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; margin:0 auto 8px; border:0; outline:none;">
<p style="margin:0; font-size:18px; font-weight:700; color:#1e293b; letter-spacing:-0.3px;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
<p style="margin:0 0 12px; font-size:17px; line-height:1.5; color:#1e293b; font-weight:600;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#334155;">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 20px; font-size:15px; line-height:1.6; color:#475569;">
<p class="email-text">
{{.locale.Tr "mail.activate_email.text" .ActiveCodeLives}}
</p>
<!-- Button -->
{{$activate_url := printf "%suser/activate_email?code=%s&email=%s" AppUrl (QueryEscape .Code) (QueryEscape .Email)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center" style="border-radius:40px; background-color:#3b82f6;" bgcolor="#3b82f6">
<a href="{{$activate_url}}" style="display:inline-block; padding:14px 40px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#3b82f6; border-radius:40px; border:1px solid #3b82f6; letter-spacing:0.2px;">Verify Email Address</a>
<td align="center">
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_email"}}</a>
</td>
</tr>
</table>
<div style="background:linear-gradient(135deg,#eff4fd,#f5f7fe); border:1px solid rgba(59,130,246,0.1); border-radius:12px; padding:16px 18px; margin:24px 0 16px; box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);">
<p style="margin:0 0 8px; font-size:13px; color:#64748b; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#3b82f6; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid rgba(0,0,0,0.06); word-break:break-all; font-family:monospace;">
{{$activate_url}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$activate_url}}</p>
</div>
</div>
<div style="padding:18px 32px 22px; background:linear-gradient(135deg,#f8f9fc,#f4f6fb); border-top:1px solid rgba(0,0,0,0.06); text-align:center;">
<p style="margin:0; font-size:13px; color:#94a3b8;">
&copy; <a href="{{AppUrl}}" style="color:#3b82f6; text-decoration:none; font-weight:500;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:4px 0 0; font-size:11px; color:#b0bdd0;">Sent via Gitea Mail Templates</p>
</div>
</div>
</center>
</body>
</html>
@@ -2,65 +2,100 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #e2e8f2; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#e2e8f2 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 8px;border:0;outline:none }
.email-brand { margin:0;font-size:18px;font-weight:700;color:#1e293b;letter-spacing:-0.3px }
.email-header { padding:28px 32px 18px;background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe);border-bottom:1px solid rgba(59,130,246,0.1);text-align:center }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04);overflow:hidden }
.email-heading { margin:0 0 12px;font-size:17px;line-height:1.5;color:#1e293b;font-weight:600 }
.email-text { margin:0 0 8px;font-size:15px;line-height:1.6;color:#475569 }
.email-subtext { margin:0 0 20px;font-size:14px;line-height:1.6;color:#64748b }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#3b82f6;border-radius:40px;border:1px solid #3b82f6;letter-spacing:0.2px }
/* Fallback link */
.email-link-box { background:linear-gradient(135deg,#eff4fd,#f5f7fe);border:1px solid rgba(59,130,246,0.1);border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.9) }
.email-link-label { margin:0 0 8px;font-size:13px;color:#64748b;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#3b82f6;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid rgba(0,0,0,0.06);word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid rgba(0,0,0,0.06);text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#94a3b8 }
.email-footer-link { color:#3b82f6;text-decoration:none;font-weight:500 }
</style>
</head>
<body style="margin:0; padding:0; background:linear-gradient(160deg,#dce3ed,#e4eaf3,#eef1f7); font-family:system-ui,-apple-system,'Segoe UI',sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04); overflow:hidden;">
<body style="margin:0;padding:0;background:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 18px; background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe); border-bottom:1px solid rgba(59,130,246,0.1); text-align:center;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; margin:0 auto 8px; border:0; outline:none;">
<p style="margin:0; font-size:18px; font-weight:700; color:#1e293b; letter-spacing:-0.3px;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
<p style="margin:0 0 12px; font-size:17px; line-height:1.5; color:#1e293b; font-weight:600;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#334155;">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 8px; font-size:15px; line-height:1.6; color:#475569;">
<p class="email-text">
{{.locale.Tr "mail.register_notify.text_1" AppName}}
</p>
<p style="margin:0 0 20px; font-size:14px; line-height:1.6; color:#64748b;">
<p class="email-subtext">
{{.locale.Tr "mail.register_notify.text_2" .Username}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center" style="border-radius:40px; background-color:#3b82f6;" bgcolor="#3b82f6">
<a href="{{AppUrl}}user/login" style="display:inline-block; padding:14px 40px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#3b82f6; border-radius:40px; border:1px solid #3b82f6; letter-spacing:0.2px;">Go to {{AppName}}</a>
<td align="center">
<a href="{{AppUrl}}user/login" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
{{$set_pwd_url := printf "%suser/forgot_password" AppUrl}}
<p style="margin:0 0 16px; font-size:14px; line-height:1.6; color:#64748b;">
<p style="margin:0 0 16px;font-size:14px;line-height:1.6;color:#64748b;">
{{.locale.Tr "mail.register_notify.text_3" $set_pwd_url}}
</p>
<div style="background:linear-gradient(135deg,#eff4fd,#f5f7fe); border:1px solid rgba(59,130,246,0.1); border-radius:12px; padding:16px 18px; margin:24px 0 16px; box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);">
<p style="margin:0 0 8px; font-size:13px; color:#64748b; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#3b82f6; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid rgba(0,0,0,0.06); word-break:break-all; font-family:monospace;">
{{AppUrl}}user/login
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{AppUrl}}user/login</p>
</div>
</div>
<div style="padding:18px 32px 22px; background:linear-gradient(135deg,#f8f9fc,#f4f6fb); border-top:1px solid rgba(0,0,0,0.06); text-align:center;">
<p style="margin:0; font-size:13px; color:#94a3b8;">
&copy; <a href="{{AppUrl}}" style="color:#3b82f6; text-decoration:none; font-weight:500;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:4px 0 0; font-size:11px; color:#b0bdd0;">Sent via Gitea Mail Templates</p>
</div>
</div>
</center>
</body>
</html>
+60 -27
View File
@@ -2,58 +2,91 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #e2e8f2; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#e2e8f2 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 8px;border:0;outline:none }
.email-brand { margin:0;font-size:18px;font-weight:700;color:#1e293b;letter-spacing:-0.3px }
.email-header { padding:28px 32px 18px;background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe);border-bottom:1px solid rgba(59,130,246,0.1);text-align:center }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04);overflow:hidden }
.email-heading { margin:0 0 12px;font-size:17px;line-height:1.5;color:#1e293b;font-weight:600 }
.email-text { margin:0 0 20px;font-size:15px;line-height:1.6;color:#475569 }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#3b82f6;border-radius:40px;border:1px solid #3b82f6;letter-spacing:0.2px }
/* Fallback link */
.email-link-box { background:linear-gradient(135deg,#eff4fd,#f5f7fe);border:1px solid rgba(59,130,246,0.1);border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.9) }
.email-link-label { margin:0 0 8px;font-size:13px;color:#64748b;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#3b82f6;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid rgba(0,0,0,0.06);word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid rgba(0,0,0,0.06);text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#94a3b8 }
.email-footer-link { color:#3b82f6;text-decoration:none;font-weight:500 }
</style>
</head>
<body style="margin:0; padding:0; background:linear-gradient(160deg,#dce3ed,#e4eaf3,#eef1f7); font-family:system-ui,-apple-system,'Segoe UI',sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 4px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04); overflow:hidden;">
<body style="margin:0;padding:0;background:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 18px; background:linear-gradient(135deg,#dbeafe,#e0e7ff,#e8f0fe); border-bottom:1px solid rgba(59,130,246,0.1); text-align:center;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; margin:0 auto 8px; border:0; outline:none;">
<p style="margin:0; font-size:18px; font-weight:700; color:#1e293b; letter-spacing:-0.3px;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
<p style="margin:0 0 12px; font-size:17px; line-height:1.5; color:#1e293b; font-weight:600;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#334155;">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 20px; font-size:15px; line-height:1.6; color:#475569;">
<p class="email-text">
{{.locale.Tr "mail.reset_password.text" .ResetPwdCodeLives}}
</p>
<!-- Button -->
{{$recover_url := printf "%suser/recover_account?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center" style="border-radius:40px; background-color:#3b82f6;" bgcolor="#3b82f6">
<a href="{{$recover_url}}" style="display:inline-block; padding:14px 40px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#3b82f6; border-radius:40px; border:1px solid #3b82f6; letter-spacing:0.2px;">Reset Password</a>
<td align="center">
<a href="{{$recover_url}}" class="email-btn">{{.locale.Tr "mail.reset_password"}}</a>
</td>
</tr>
</table>
<div style="background:linear-gradient(135deg,#eff4fd,#f5f7fe); border:1px solid rgba(59,130,246,0.1); border-radius:12px; padding:16px 18px; margin:24px 0 16px; box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);">
<p style="margin:0 0 8px; font-size:13px; color:#64748b; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#3b82f6; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid rgba(0,0,0,0.06); word-break:break-all; font-family:monospace;">
{{$recover_url}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$recover_url}}</p>
</div>
</div>
<div style="padding:18px 32px 22px; background:linear-gradient(135deg,#f8f9fc,#f4f6fb); border-top:1px solid rgba(0,0,0,0.06); text-align:center;">
<p style="margin:0; font-size:13px; color:#94a3b8;">
&copy; <a href="{{AppUrl}}" style="color:#3b82f6; text-decoration:none; font-weight:500;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:4px 0 0; font-size:11px; color:#b0bdd0;">Sent via Gitea Mail Templates</p>
</div>
</div>
</center>
</body>
</html>
+61 -28
View File
@@ -2,73 +2,106 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{AppName}} &middot; Team Invitation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.team_invite.subject" (.Inviter.DisplayName|DotEscape) (.Organization.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #fff7ed; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fff7ed }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin:0 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#9a3412;letter-spacing:-0.3px;vertical-align:middle;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:28px 32px 16px;border-bottom:1px solid #fed7aa;background:linear-gradient(135deg,#fff7ed,#ffffff) }
/* Card */
.email-card { max-width:600px;margin:20px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 16px rgba(234,88,12,0.08);overflow:hidden;border:1px solid #fed7aa }
.email-heading { margin:0 0 12px;font-size:17px;line-height:1.5;color:#9a3412;font-family:Georgia,'Times New Roman',serif;font-weight:600 }
.email-text { margin:0 0 8px;font-size:16px;line-height:1.6;color:#78350f }
.email-subtext { margin:0 0 20px;font-size:15px;line-height:1.6;color:#92400e }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:16px;font-weight:600;color:#ffffff;text-decoration:none;background:linear-gradient(135deg,#ea580c,#c2410c);border-radius:50px;font-family:system-ui,sans-serif }
/* Fallback link */
.email-link-box { background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#92400e;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#c2410c;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid #fed7aa;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 32px 24px;background:#fff7ed;border-top:1px solid #fed7aa }
.email-footer-text { margin:0;font-size:14px;color:#92400e }
.email-footer-link { color:#ea580c;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#fff7ed; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 16px rgba(234,88,12,0.08); overflow:hidden; border:1px solid #fed7aa;">
<body style="margin:0;padding:0;background-color:#fff7ed;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 16px; border-bottom:1px solid #fed7aa; background:linear-gradient(135deg, #fff7ed, #ffffff);">
<!-- Floating Title -->
<div class="email-header">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<tr>
<td style="vertical-align:middle;">
<span style="font-size:15px;">&#x1f44b;</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" style="display:inline-block; vertical-align:middle; margin:0 10px; border:0; outline:none;">
<span style="font-size:20px; font-weight:700; color:#9a3412; letter-spacing:-0.3px; vertical-align:middle; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:32px 32px 24px; color:#78350f;">
<p style="margin:0 0 12px; font-size:17px; line-height:1.5; color:#9a3412; font-family:Georgia,'Times New Roman',serif; font-weight:600;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#78350f;">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" .Invite.Email}}
</p>
<p style="margin:0 0 8px; font-size:16px; line-height:1.6; color:#78350f;">
<p class="email-text">
{{.locale.Tr "mail.team_invite.text_1" (DotEscape .Inviter.DisplayName) (DotEscape .Team.Name) (DotEscape .Organization.DisplayName)}}
</p>
<p style="margin:0 0 20px; font-size:15px; line-height:1.6; color:#92400e;">
<p class="email-subtext">
{{.locale.Tr "mail.team_invite.text_2"}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{.InviteURL}}" style="display:inline-block; padding:14px 40px; font-size:16px; font-weight:600; color:#ffffff; text-decoration:none; background:linear-gradient(135deg, #ea580c, #c2410c); border-radius:50px; font-family:system-ui,sans-serif;">Join the Team &#x1f91d;</a>
<a href="{{.InviteURL}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#fff7ed; border:1px solid #fed7aa; border-radius:12px; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#92400e; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#c2410c; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid #fed7aa; word-break:break-all; font-family:monospace;">
{{.InviteURL}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.InviteURL}}</p>
</div>
<p style="margin:16px 0 0; font-size:14px; color:#92400e; line-height:1.5;">
<p style="margin:16px 0 0;font-size:14px;color:#92400e;line-height:1.5;">
{{.locale.Tr "mail.team_invite.text_3" .Invite.Email}}
</p>
</div>
<div style="padding:20px 32px 24px; background:#fff7ed; border-top:1px solid #fed7aa;">
<p style="margin:0; font-size:14px; color:#92400e;">
&copy; <a href="{{AppUrl}}" style="color:#ea580c; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:13px; color:#a8a29e;">Built with &#x2764;&#xfe0f; by the community, for the community.</p>
</div>
</div>
</center>
</body>
</html>
@@ -2,71 +2,107 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #fff7ed; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fff7ed }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin:0 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#9a3412;letter-spacing:-0.3px;vertical-align:middle;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:28px 32px 16px;border-bottom:1px solid #fed7aa;background:linear-gradient(135deg,#fff7ed,#ffffff) }
/* Card */
.email-card { max-width:600px;margin:20px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 16px rgba(234,88,12,0.08);overflow:hidden;border:1px solid #fed7aa }
.email-heading { font-size:19px;font-weight:700;color:#9a3412;margin:0 0 16px;font-family:Georgia,'Times New Roman',serif }
/* Content */
.job-list { list-style:none;padding:0;margin:0 0 24px 0 }
.job-item { background-color:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:12px 16px;margin-bottom:8px }
.job-link { color:#c2410c;text-decoration:none;font-weight:600;font-size:15px;display:block }
/* Button */
.email-btn-row { margin:16px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:16px;font-weight:600;color:#ffffff;text-decoration:none;background:linear-gradient(135deg,#ea580c,#c2410c);border-radius:50px;font-family:system-ui,sans-serif }
/* Fallback link */
.email-link-box { background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#92400e;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#c2410c;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid #fed7aa;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 32px 24px;background:#fff7ed;border-top:1px solid #fed7aa }
.email-footer-text { margin:0;font-size:14px;color:#92400e }
.email-footer-link { color:#ea580c;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#fff7ed; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 16px rgba(234,88,12,0.08); overflow:hidden; border:1px solid #fed7aa;">
<body style="margin:0;padding:0;background-color:#fff7ed;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 16px; border-bottom:1px solid #fed7aa; background:linear-gradient(135deg, #fff7ed, #ffffff);">
<!-- Floating Title -->
<div class="email-header">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<tr>
<td style="vertical-align:middle;">
<span style="font-size:15px;">&#x1f44b;</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" style="display:inline-block; vertical-align:middle; margin:0 10px; border:0; outline:none;">
<span style="font-size:20px; font-weight:700; color:#9a3412; letter-spacing:-0.3px; vertical-align:middle; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:32px 32px 24px; color:#78350f;">
<h2 style="font-size:19px; font-weight:700; color:#9a3412; margin:0 0 16px; font-family:Georgia,'Times New Roman',serif;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#78350f;">
<h2 class="email-heading">
{{.Repo.FullName}} &mdash; {{.Run.WorkflowID}}: {{.RunStatusText}}
</h2>
<ul style="list-style: none; padding: 0; margin: 0 0 24px 0;">
<ul class="job-list">
{{range $job := .Jobs}}
<li style="background-color: #fff7ed; border: 1px solid #fed7aa; border-radius: 10px; padding: 12px 16px; margin-bottom: 8px;">
<a href="{{$job.HTMLURL}}" style="color:#c2410c; text-decoration:none; font-weight:600; font-size:15px; display:block;">
<li class="job-item">
<a href="{{$job.HTMLURL}}" class="job-link">
{{$job.Status}}: {{$job.Name}}{{if gt $job.Attempt 1}} (retry #{{$job.Attempt}}){{end}} &mdash; {{$job.Duration}}
</a>
</li>
{{end}}
</ul>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:16px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{.Run.HTMLURL}}" style="display:inline-block; padding:14px 40px; font-size:16px; font-weight:600; color:#ffffff; text-decoration:none; background:linear-gradient(135deg, #ea580c, #c2410c); border-radius:50px; font-family:system-ui,sans-serif;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<a href="{{.Run.HTMLURL}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#fff7ed; border:1px solid #fed7aa; border-radius:12px; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#92400e; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#c2410c; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid #fed7aa; word-break:break-all; font-family:monospace;">
{{.Run.HTMLURL}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Run.HTMLURL}}</p>
</div>
</div>
<div style="padding:20px 32px 24px; background:#fff7ed; border-top:1px solid #fed7aa;">
<p style="margin:0; font-size:14px; color:#92400e;">
&copy; <a href="{{AppUrl}}" style="color:#ea580c; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:13px; color:#a8a29e;">Built with &#x2764;&#xfe0f; by the community, for the community.</p>
</div>
</div>
</center>
</body>
</html>
+59 -26
View File
@@ -2,62 +2,95 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #fff7ed; }
code { background: #fff7ed; padding: 2px 8px; border-radius: 6px; font-size: 15px; color: #c2410c; font-weight: 600; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fff7ed }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin:0 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#9a3412;letter-spacing:-0.3px;vertical-align:middle;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:28px 32px 16px;border-bottom:1px solid #fed7aa;background:linear-gradient(135deg,#fff7ed,#ffffff) }
/* Card */
.email-card { max-width:600px;margin:20px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 16px rgba(234,88,12,0.08);overflow:hidden;border:1px solid #fed7aa }
.email-text { margin:0 0 20px;font-size:16px;line-height:1.6;color:#78350f }
/* Typography utilities */
code { background:#fff7ed;padding:2px 8px;border-radius:6px;font-size:15px;color:#c2410c;font-weight:600 }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:16px;font-weight:600;color:#ffffff;text-decoration:none;background:linear-gradient(135deg,#ea580c,#c2410c);border-radius:50px;font-family:system-ui,sans-serif }
/* Fallback link */
.email-link-box { background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#92400e;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#c2410c;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid #fed7aa;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 32px 24px;background:#fff7ed;border-top:1px solid #fed7aa }
.email-footer-text { margin:0;font-size:14px;color:#92400e }
.email-footer-link { color:#ea580c;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#fff7ed; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 16px rgba(234,88,12,0.08); overflow:hidden; border:1px solid #fed7aa;">
<body style="margin:0;padding:0;background-color:#fff7ed;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 16px; border-bottom:1px solid #fed7aa; background:linear-gradient(135deg, #fff7ed, #ffffff);">
<!-- Floating Title -->
<div class="email-header">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<tr>
<td style="vertical-align:middle;">
<span style="font-size:15px;">&#x1f44b;</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" style="display:inline-block; vertical-align:middle; margin:0 10px; border:0; outline:none;">
<span style="font-size:20px; font-weight:700; color:#9a3412; letter-spacing:-0.3px; vertical-align:middle; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:32px 32px 24px; color:#78350f;">
<p style="margin:0 0 20px; font-size:16px; line-height:1.6; color:#78350f;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#78350f;">
<p class="email-text">
{{.locale.Tr "mail.repo.collaborator.added.text"}} <code>{{.RepoName}}</code>.
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{.Link}}" style="display:inline-block; padding:14px 40px; font-size:16px; font-weight:600; color:#ffffff; text-decoration:none; background:linear-gradient(135deg, #ea580c, #c2410c); border-radius:50px; font-family:system-ui,sans-serif;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#fff7ed; border:1px solid #fed7aa; border-radius:12px; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#92400e; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#c2410c; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid #fed7aa; word-break:break-all; font-family:monospace;">
{{.Link}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Link}}</p>
</div>
</div>
<div style="padding:20px 32px 24px; background:#fff7ed; border-top:1px solid #fed7aa;">
<p style="margin:0; font-size:14px; color:#92400e;">
&copy; <a href="{{AppUrl}}" style="color:#ea580c; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:13px; color:#a8a29e;">Built with &#x2764;&#xfe0f; by the community, for the community.</p>
</div>
</div>
</center>
</body>
</html>
+57 -27
View File
@@ -2,33 +2,64 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #fff7ed; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fff7ed }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin:0 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#9a3412;letter-spacing:-0.3px;vertical-align:middle;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:28px 32px 16px;border-bottom:1px solid #fed7aa;background:linear-gradient(135deg,#fff7ed,#ffffff) }
/* Card */
.email-card { max-width:600px;margin:20px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 16px rgba(234,88,12,0.08);overflow:hidden;border:1px solid #fed7aa }
.email-text { margin:0 0 20px;font-size:16px;line-height:1.6;color:#78350f }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:16px;font-weight:600;color:#ffffff;text-decoration:none;background:linear-gradient(135deg,#ea580c,#c2410c);border-radius:50px;font-family:system-ui,sans-serif }
/* Fallback link */
.email-link-box { background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#92400e;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#c2410c;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid #fed7aa;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 32px 24px;background:#fff7ed;border-top:1px solid #fed7aa }
.email-footer-text { margin:0;font-size:14px;color:#92400e }
.email-footer-link { color:#ea580c;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#fff7ed; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 16px rgba(234,88,12,0.08); overflow:hidden; border:1px solid #fed7aa;">
<body style="margin:0;padding:0;background-color:#fff7ed;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 16px; border-bottom:1px solid #fed7aa; background:linear-gradient(135deg, #fff7ed, #ffffff);">
<!-- Floating Title -->
<div class="email-header">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<tr>
<td style="vertical-align:middle;">
<span style="font-size:15px;">&#x1f44b;</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" style="display:inline-block; vertical-align:middle; margin:0 10px; border:0; outline:none;">
<span style="font-size:20px; font-weight:700; color:#9a3412; letter-spacing:-0.3px; vertical-align:middle; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:32px 32px 24px; color:#78350f;">
{{$repo_url := HTMLFormat "<a href='%s' style='color:#ea580c; text-decoration:none; font-weight:600;'>%s</a>" .Issue.Repo.HTMLURL .Issue.Repo.FullName}}
{{$link := HTMLFormat "<a href='%s' style='color:#ea580c; text-decoration:none; font-weight:600;'>#%d</a>" .Link .Issue.Index}}
<p style="margin:0 0 20px; font-size:16px; line-height:1.6; color:#78350f;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#78350f;">
{{$repo_url := HTMLFormat "<a href='%s' style='color:#ea580c;text-decoration:none;font-weight:600;'>%s</a>" .Issue.Repo.HTMLURL .Issue.Repo.FullName}}
{{$link := HTMLFormat "<a href='%s' style='color:#ea580c;text-decoration:none;font-weight:600;'>#%d</a>" .Link .Issue.Index}}
<p class="email-text">
{{if .IsPull}}
{{.locale.Tr "mail.issue_assigned.pull" .Doer.Name $link $repo_url}}
{{else}}
@@ -36,33 +67,32 @@
{{end}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{.Link}}" style="display:inline-block; padding:14px 40px; font-size:16px; font-weight:600; color:#ffffff; text-decoration:none; background:linear-gradient(135deg, #ea580c, #c2410c); border-radius:50px; font-family:system-ui,sans-serif;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#fff7ed; border:1px solid #fed7aa; border-radius:12px; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#92400e; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#c2410c; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid #fed7aa; word-break:break-all; font-family:monospace;">
{{.Link}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Link}}</p>
</div>
</div>
<div style="padding:20px 32px 24px; background:#fff7ed; border-top:1px solid #fed7aa;">
<p style="margin:0; font-size:14px; color:#92400e;">
&copy; <a href="{{AppUrl}}" style="color:#ea580c; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:13px; color:#a8a29e;">Built with &#x2764;&#xfe0f; by the community, for the community.</p>
</div>
</div>
</center>
</body>
</html>
+79 -38
View File
@@ -2,44 +2,85 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #fff7ed; }
blockquote { padding-left: 1em; margin: 1em 0; border-left: 3px solid #fdba74; color: #92400e; }
pre { background: #fff7ed; padding: 12px; border-radius: 8px; overflow-x: auto; font-size: 14px; line-height: 1.5; border: 1px solid #fed7aa; }
hr { border: none; border-top: 1px solid #fed7aa; margin: 20px 0; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fff7ed }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin:0 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#9a3412;letter-spacing:-0.3px;vertical-align:middle;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:28px 32px 16px;border-bottom:1px solid #fed7aa;background:linear-gradient(135deg,#fff7ed,#ffffff) }
/* Card */
.email-card { max-width:600px;margin:20px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 16px rgba(234,88,12,0.08);overflow:hidden;border:1px solid #fed7aa }
.email-text { margin:0 0 16px;font-size:16px;line-height:1.6;color:#78350f }
/* Content */
blockquote { padding-left:1em;margin:1em 0;border-left:3px solid #fdba74;color:#92400e }
pre { background:#fff7ed;padding:12px;border-radius:8px;overflow-x:auto;font-size:14px;line-height:1.5;border:1px solid #fed7aa }
hr { border:none;border-top:1px solid #fed7aa;margin:20px 0 }
.review-path { margin:8px 0;font-size:14px;color:#92400e }
.review-content { padding-left:1em;margin:1em 0 }
.review-body { margin-top:8px;font-size:15px;line-height:1.6 }
.commit-list { margin:16px 0;padding-left:20px }
.commit-item { margin-bottom:6px;font-size:15px }
.commit-link { color:#ea580c;text-decoration:none;font-weight:600 }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:16px;font-weight:600;color:#ffffff;text-decoration:none;background:linear-gradient(135deg,#ea580c,#c2410c);border-radius:50px;font-family:system-ui,sans-serif }
/* Fallback link */
.email-link-box { background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#92400e;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#c2410c;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid #fed7aa;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 32px 24px;background:#fff7ed;border-top:1px solid #fed7aa }
.email-footer-text { margin:0;font-size:14px;color:#92400e }
.email-footer-link { color:#ea580c;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#fff7ed; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 16px rgba(234,88,12,0.08); overflow:hidden; border:1px solid #fed7aa;">
<body style="margin:0;padding:0;background-color:#fff7ed;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 16px; border-bottom:1px solid #fed7aa; background:linear-gradient(135deg, #fff7ed, #ffffff);">
<!-- Floating Title -->
<div class="email-header">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<tr>
<td style="vertical-align:middle;">
<span style="font-size:15px;">&#x1f44b;</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" style="display:inline-block; vertical-align:middle; margin:0 10px; border:0; outline:none;">
<span style="font-size:20px; font-weight:700; color:#9a3412; letter-spacing:-0.3px; vertical-align:middle; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:32px 32px 24px; color:#78350f;">
{{if .IsMention}}<p style="margin:0 0 16px; font-size:16px; line-height:1.6; color:#78350f;">{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>{{end}}
<!-- Card -->
<div style="padding:32px 32px 24px;color:#78350f;">
{{if .IsMention}}
<p class="email-text">{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>
{{end}}
{{if eq .ActionName "push"}}
<p style="margin:0 0 16px; font-size:16px; line-height:1.6; color:#78350f;">
<p class="email-text">
{{if .Comment.IsForcePush}}
{{$oldCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.OldCommit}}
{{$oldShortSha := ShortSha .Comment.OldCommit}}
{{$oldCommitLink := HTMLFormat "<a href='%[1]s' style='color:#ea580c; text-decoration:none; font-weight:600;'>%[2]s</a>" $oldCommitUrl $oldShortSha}}
{{$oldCommitLink := HTMLFormat "<a href='%[1]s' style='color:#ea580c;text-decoration:none;font-weight:600;'>%[2]s</a>" $oldCommitUrl $oldShortSha}}
{{$newCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.NewCommit}}
{{$newShortSha := ShortSha .Comment.NewCommit}}
{{$newCommitLink := HTMLFormat "<a href='%[1]s' style='color:#ea580c; text-decoration:none; font-weight:600;'>%[2]s</a>" $newCommitUrl $newShortSha}}
{{$newCommitLink := HTMLFormat "<a href='%[1]s' style='color:#ea580c;text-decoration:none;font-weight:600;'>%[2]s</a>" $newCommitUrl $newShortSha}}
{{.locale.Tr "mail.issue.action.force_push" .Doer.Name .Comment.Issue.PullRequest.HeadBranch $oldCommitLink $newCommitLink}}
{{else}}
@@ -47,7 +88,7 @@
{{end}}
</p>
{{end}}
<p style="margin:0 0 16px; font-size:16px; line-height:1.6; color:#78350f;">
<p class="email-text">
{{if eq .ActionName "close"}}
{{.locale.Tr "mail.issue.action.close" .Doer.Name .Issue.Index}}
{{else if eq .ActionName "reopen"}}
@@ -77,18 +118,18 @@
{{- range .ReviewComments}}
<hr>
<p style="margin:8px 0; font-size:14px; color:#92400e;">{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p>
<div style="padding-left: 1em; margin: 1em 0;">
<p class="review-path">{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p>
<div class="review-content">
<pre>{{.Patch}}</pre>
<div style="margin-top:8px; font-size:15px; line-height:1.6;">{{.RenderedContent}}</div>
<div class="review-body">{{.RenderedContent}}</div>
</div>
{{end -}}
{{if eq .ActionName "push"}}
<ul style="margin:16px 0; padding-left:20px;">
<ul class="commit-list">
{{range .Comment.Commits}}
<li style="margin-bottom:6px; font-size:15px;">
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}" style="color:#ea580c; text-decoration:none; font-weight:600;">
<li class="commit-item">
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}" class="commit-link">
{{ShortSha .ID.String}}
</a> &mdash; {{.MessageTitle}}
</li>
@@ -96,33 +137,33 @@
</ul>
{{end}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{.Link}}" style="display:inline-block; padding:14px 40px; font-size:16px; font-weight:600; color:#ffffff; text-decoration:none; background:linear-gradient(135deg, #ea580c, #c2410c); border-radius:50px; font-family:system-ui,sans-serif;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#fff7ed; border:1px solid #fed7aa; border-radius:12px; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#92400e; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#c2410c; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid #fed7aa; word-break:break-all; font-family:monospace;">
{{.Link}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Link}}</p>
</div>
</div>
<div style="padding:20px 32px 24px; background:#fff7ed; border-top:1px solid #fed7aa;">
<p style="margin:0; font-size:14px; color:#92400e;">
&copy; <a href="{{AppUrl}}" style="color:#ea580c; text-decoration:none; font-weight:600;">{{AppName}}</a>{{if .CanReply}}&nbsp;{{.locale.Tr "mail.reply"}}{{end}}
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
{{if .CanReply}}&nbsp;{{.locale.Tr "mail.reply"}}{{end}}
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:13px; color:#a8a29e;">Built with &#x2764;&#xfe0f; by the community, for the community.</p>
</div>
</div>
</center>
</body>
</html>
+72 -37
View File
@@ -2,94 +2,129 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #fff7ed; }
blockquote { padding-left: 1em; margin: 1em 0; border-left: 3px solid #fdba74; color: #92400e; }
ul { margin: 12px 0 16px; padding-left: 20px; }
li { margin-bottom: 8px; font-size: 15px; line-height: 1.5; color: #78350f; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fff7ed }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin:0 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#9a3412;letter-spacing:-0.3px;vertical-align:middle;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:28px 32px 16px;border-bottom:1px solid #fed7aa;background:linear-gradient(135deg,#fff7ed,#ffffff) }
/* Card */
.email-card { max-width:600px;margin:20px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 16px rgba(234,88,12,0.08);overflow:hidden;border:1px solid #fed7aa }
.email-heading { margin:20px 0 8px;font-size:19px;font-weight:700;color:#9a3412;font-family:Georgia,'Times New Roman',serif }
.email-subheading { margin:20px 0 8px;font-weight:600;color:#9a3412 }
.email-text { margin:0 0 16px;font-size:16px;line-height:1.6;color:#78350f }
/* Content */
blockquote { padding-left:1em;margin:1em 0;border-left:3px solid #fdba74;color:#92400e }
ul { margin:12px 0 16px;padding-left:20px }
li { margin-bottom:8px;font-size:15px;line-height:1.5;color:#78350f }
.email-content { margin:12px 0 16px;font-size:15px;line-height:1.6;color:#78350f }
/* Button */
.email-btn-row { margin:16px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:16px;font-weight:600;color:#ffffff;text-decoration:none;background:linear-gradient(135deg,#ea580c,#c2410c);border-radius:50px;font-family:system-ui,sans-serif }
/* Fallback link */
.email-link-box { background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#92400e;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#c2410c;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid #fed7aa;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 32px 24px;background:#fff7ed;border-top:1px solid #fed7aa }
.email-footer-text { margin:0;font-size:14px;color:#92400e }
.email-footer-link { color:#ea580c;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#fff7ed; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 16px rgba(234,88,12,0.08); overflow:hidden; border:1px solid #fed7aa;">
<body style="margin:0;padding:0;background-color:#fff7ed;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 16px; border-bottom:1px solid #fed7aa; background:linear-gradient(135deg, #fff7ed, #ffffff);">
<!-- Floating Title -->
<div class="email-header">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<tr>
<td style="vertical-align:middle;">
<span style="font-size:15px;">&#x1f44b;</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" style="display:inline-block; vertical-align:middle; margin:0 10px; border:0; outline:none;">
<span style="font-size:20px; font-weight:700; color:#9a3412; letter-spacing:-0.3px; vertical-align:middle; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:32px 32px 24px; color:#78350f;">
{{$release_url := HTMLFormat "<a href='%s' style='color:#ea580c; text-decoration:none; font-weight:600;'>%s</a>" .Release.HTMLURL .Release.TagName}}
{{$repo_url := HTMLFormat "<a href='%s' style='color:#ea580c; text-decoration:none; font-weight:600;'>%s</a>" .Release.Repo.HTMLURL .Release.Repo.FullName}}
<p style="margin:0 0 16px; font-size:16px; line-height:1.6; color:#78350f;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#78350f;">
{{$release_url := HTMLFormat "<a href='%s' style='color:#ea580c;text-decoration:none;font-weight:600;'>%s</a>" .Release.HTMLURL .Release.TagName}}
{{$repo_url := HTMLFormat "<a href='%s' style='color:#ea580c;text-decoration:none;font-weight:600;'>%s</a>" .Release.Repo.HTMLURL .Release.Repo.FullName}}
<p class="email-text">
{{.locale.Tr "mail.release.new.text" .Release.Publisher.Name $release_url $repo_url}}
</p>
<h4 style="margin:20px 0 8px; font-size:19px; font-weight:700; color:#9a3412; font-family:Georgia,'Times New Roman',serif;">{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
<h4 class="email-heading">{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
<p style="margin:0 0 8px;font-weight:600;color:#9a3412;">{{.locale.Tr "mail.release.note"}}</p>
{{if .Release.RenderedNote}}
<div style="margin:12px 0 16px; font-size:15px; line-height:1.6; color:#78350f;">
<div class="email-content">
{{.Release.RenderedNote}}
</div>
{{end}}
<p style="margin:20px 0 8px; font-weight:600; color:#9a3412;">{{.locale.Tr "mail.release.downloads"}}</p>
<ul style="margin:0 0 20px; padding-left:20px;">
<p class="email-subheading">{{.locale.Tr "mail.release.downloads"}}</p>
<ul>
{{if not .DisableDownloadSourceArchives}}
<li>
<a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.zip" rel="nofollow" style="color:#ea580c; text-decoration:none; font-weight:600;">{{.locale.Tr "mail.release.download.zip"}}</a>
<a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.zip" rel="nofollow" style="color:#ea580c;text-decoration:none;font-weight:600;">{{.locale.Tr "mail.release.download.zip"}}</a>
</li>
<li>
<a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.tar.gz" rel="nofollow" style="color:#ea580c; text-decoration:none; font-weight:600;">{{.locale.Tr "mail.release.download.targz"}}</a>
<a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.tar.gz" rel="nofollow" style="color:#ea580c;text-decoration:none;font-weight:600;">{{.locale.Tr "mail.release.download.targz"}}</a>
</li>
{{end}}
{{if .Release.Attachments}}
{{range .Release.Attachments}}
<li>
<a href="{{.DownloadURL}}" target="_blank" style="color:#ea580c; text-decoration:none; font-weight:600;">{{.Name}} ({{.Size | FileSize}})</a>
<a href="{{.DownloadURL}}" target="_blank" style="color:#ea580c;text-decoration:none;font-weight:600;">{{.Name}} ({{.Size | FileSize}})</a>
</li>
{{end}}
{{end}}
</ul>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:16px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{.Link}}" style="display:inline-block; padding:14px 40px; font-size:16px; font-weight:600; color:#ffffff; text-decoration:none; background:linear-gradient(135deg, #ea580c, #c2410c); border-radius:50px; font-family:system-ui,sans-serif;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#fff7ed; border:1px solid #fed7aa; border-radius:12px; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#92400e; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#c2410c; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid #fed7aa; word-break:break-all; font-family:monospace;">
{{.Link}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Link}}</p>
</div>
</div>
<div style="padding:20px 32px 24px; background:#fff7ed; border-top:1px solid #fed7aa;">
<p style="margin:0; font-size:14px; color:#92400e;">
&copy; <a href="{{AppUrl}}" style="color:#ea580c; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:13px; color:#a8a29e;">Built with &#x2764;&#xfe0f; by the community, for the community.</p>
</div>
</div>
</center>
</body>
</html>
+56 -26
View File
@@ -2,62 +2,92 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #fff7ed; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fff7ed }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin:0 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#9a3412;letter-spacing:-0.3px;vertical-align:middle;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:28px 32px 16px;border-bottom:1px solid #fed7aa;background:linear-gradient(135deg,#fff7ed,#ffffff) }
/* Card */
.email-card { max-width:600px;margin:20px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 16px rgba(234,88,12,0.08);overflow:hidden;border:1px solid #fed7aa }
.email-text { margin:0 0 20px;font-size:16px;line-height:1.6;color:#78350f }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:16px;font-weight:600;color:#ffffff;text-decoration:none;background:linear-gradient(135deg,#ea580c,#c2410c);border-radius:50px;font-family:system-ui,sans-serif }
/* Fallback link */
.email-link-box { background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#92400e;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#c2410c;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid #fed7aa;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 32px 24px;background:#fff7ed;border-top:1px solid #fed7aa }
.email-footer-text { margin:0;font-size:14px;color:#92400e }
.email-footer-link { color:#ea580c;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#fff7ed; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 16px rgba(234,88,12,0.08); overflow:hidden; border:1px solid #fed7aa;">
<body style="margin:0;padding:0;background-color:#fff7ed;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 16px; border-bottom:1px solid #fed7aa; background:linear-gradient(135deg, #fff7ed, #ffffff);">
<!-- Floating Title -->
<div class="email-header">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<tr>
<td style="vertical-align:middle;">
<span style="font-size:15px;">&#x1f44b;</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" style="display:inline-block; vertical-align:middle; margin:0 10px; border:0; outline:none;">
<span style="font-size:20px; font-weight:700; color:#9a3412; letter-spacing:-0.3px; vertical-align:middle; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:32px 32px 24px; color:#78350f;">
{{$url := HTMLFormat "<a href='%[1]s' style='color:#ea580c; text-decoration:none; font-weight:600;'>%[2]s</a>" .Link .Repo}}
<p style="margin:0 0 20px; font-size:16px; line-height:1.6; color:#78350f;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#78350f;">
{{$url := HTMLFormat "<a href='%[1]s' style='color:#ea580c;text-decoration:none;font-weight:600;'>%[2]s</a>" .Link .Repo}}
<p class="email-text">
{{.Subject}}. {{.locale.Tr "mail.repo.transfer.body" $url}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{.Link}}" style="display:inline-block; padding:14px 40px; font-size:16px; font-weight:600; color:#ffffff; text-decoration:none; background:linear-gradient(135deg, #ea580c, #c2410c); border-radius:50px; font-family:system-ui,sans-serif;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#fff7ed; border:1px solid #fed7aa; border-radius:12px; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#92400e; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#c2410c; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid #fed7aa; word-break:break-all; font-family:monospace;">
{{.Link}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Link}}</p>
</div>
</div>
<div style="padding:20px 32px 24px; background:#fff7ed; border-top:1px solid #fed7aa;">
<p style="margin:0; font-size:14px; color:#92400e;">
&copy; <a href="{{AppUrl}}" style="color:#ea580c; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:13px; color:#a8a29e;">Built with &#x2764;&#xfe0f; by the community, for the community.</p>
</div>
</div>
</center>
</body>
</html>
+62 -27
View File
@@ -2,68 +2,103 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #fff7ed; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fff7ed }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin:0 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#9a3412;letter-spacing:-0.3px;vertical-align:middle;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:28px 32px 16px;border-bottom:1px solid #fed7aa;background:linear-gradient(135deg,#fff7ed,#ffffff) }
/* Card */
.email-card { max-width:600px;margin:20px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 16px rgba(234,88,12,0.08);overflow:hidden;border:1px solid #fed7aa }
.email-heading { margin:0 0 12px;font-size:17px;line-height:1.5;color:#9a3412;font-family:Georgia,'Times New Roman',serif;font-weight:600 }
.email-text { margin:0 0 8px;font-size:16px;line-height:1.6;color:#78350f }
.email-subtext { margin:0 0 20px;font-size:15px;line-height:1.6;color:#92400e }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:16px;font-weight:600;color:#ffffff;text-decoration:none;background:linear-gradient(135deg,#ea580c,#c2410c);border-radius:50px;font-family:system-ui,sans-serif }
/* Fallback link */
.email-link-box { background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#92400e;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#c2410c;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid #fed7aa;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 32px 24px;background:#fff7ed;border-top:1px solid #fed7aa }
.email-footer-text { margin:0;font-size:14px;color:#92400e }
.email-footer-link { color:#ea580c;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#fff7ed; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 16px rgba(234,88,12,0.08); overflow:hidden; border:1px solid #fed7aa;">
<body style="margin:0;padding:0;background-color:#fff7ed;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 16px; border-bottom:1px solid #fed7aa; background:linear-gradient(135deg, #fff7ed, #ffffff);">
<!-- Floating Title -->
<div class="email-header">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<tr>
<td style="vertical-align:middle;">
<span style="font-size:15px;">&#x1f44b;</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" style="display:inline-block; vertical-align:middle; margin:0 10px; border:0; outline:none;">
<span style="font-size:20px; font-weight:700; color:#9a3412; letter-spacing:-0.3px; vertical-align:middle; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:32px 32px 24px; color:#78350f;">
<p style="margin:0 0 12px; font-size:17px; line-height:1.5; color:#9a3412; font-family:Georgia,'Times New Roman',serif; font-weight:600;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#78350f;">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 8px; font-size:16px; line-height:1.6; color:#78350f;">
<p class="email-text">
{{.locale.Tr "mail.activate_account.text_1" (.DisplayName|DotEscape) AppName}}
</p>
<p style="margin:0 0 20px; font-size:15px; line-height:1.6; color:#92400e;">
<p class="email-subtext">
{{.locale.Tr "mail.activate_account.text_2" .ActiveCodeLives}}
</p>
<!-- Button -->
{{$activate_url := printf "%suser/activate?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{$activate_url}}" style="display:inline-block; padding:14px 40px; font-size:16px; font-weight:600; color:#ffffff; text-decoration:none; background:linear-gradient(135deg, #ea580c, #c2410c); border-radius:50px; font-family:system-ui,sans-serif;">Activate Your Account &#x2192;</a>
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_account"}}</a>
</td>
</tr>
</table>
<div style="background:#fff7ed; border:1px solid #fed7aa; border-radius:12px; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#92400e; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#c2410c; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid #fed7aa; word-break:break-all; font-family:monospace;">
{{$activate_url}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$activate_url}}</p>
</div>
</div>
<div style="padding:20px 32px 24px; background:#fff7ed; border-top:1px solid #fed7aa;">
<p style="margin:0; font-size:14px; color:#92400e;">
&copy; <a href="{{AppUrl}}" style="color:#ea580c; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:13px; color:#a8a29e;">Built with &#x2764;&#xfe0f; by the community, for the community.</p>
</div>
</div>
</center>
</body>
</html>
+59 -26
View File
@@ -2,65 +2,98 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #fff7ed; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fff7ed }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin:0 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#9a3412;letter-spacing:-0.3px;vertical-align:middle;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:28px 32px 16px;border-bottom:1px solid #fed7aa;background:linear-gradient(135deg,#fff7ed,#ffffff) }
/* Card */
.email-card { max-width:600px;margin:20px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 16px rgba(234,88,12,0.08);overflow:hidden;border:1px solid #fed7aa }
.email-heading { margin:0 0 12px;font-size:17px;line-height:1.5;color:#9a3412;font-family:Georgia,'Times New Roman',serif;font-weight:600 }
.email-text { margin:0 0 20px;font-size:16px;line-height:1.6;color:#78350f }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:16px;font-weight:600;color:#ffffff;text-decoration:none;background:linear-gradient(135deg,#ea580c,#c2410c);border-radius:50px;font-family:system-ui,sans-serif }
/* Fallback link */
.email-link-box { background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#92400e;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#c2410c;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid #fed7aa;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 32px 24px;background:#fff7ed;border-top:1px solid #fed7aa }
.email-footer-text { margin:0;font-size:14px;color:#92400e }
.email-footer-link { color:#ea580c;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#fff7ed; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 16px rgba(234,88,12,0.08); overflow:hidden; border:1px solid #fed7aa;">
<body style="margin:0;padding:0;background-color:#fff7ed;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 16px; border-bottom:1px solid #fed7aa; background:linear-gradient(135deg, #fff7ed, #ffffff);">
<!-- Floating Title -->
<div class="email-header">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<tr>
<td style="vertical-align:middle;">
<span style="font-size:15px;">&#x1f44b;</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" style="display:inline-block; vertical-align:middle; margin:0 10px; border:0; outline:none;">
<span style="font-size:20px; font-weight:700; color:#9a3412; letter-spacing:-0.3px; vertical-align:middle; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:32px 32px 24px; color:#78350f;">
<p style="margin:0 0 12px; font-size:17px; line-height:1.5; color:#9a3412; font-family:Georgia,'Times New Roman',serif; font-weight:600;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#78350f;">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 20px; font-size:16px; line-height:1.6; color:#78350f;">
<p class="email-text">
{{.locale.Tr "mail.activate_email.text" .ActiveCodeLives}}
</p>
<!-- Button -->
{{$activate_url := printf "%suser/activate_email?code=%s&email=%s" AppUrl (QueryEscape .Code) (QueryEscape .Email)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{$activate_url}}" style="display:inline-block; padding:14px 40px; font-size:16px; font-weight:600; color:#ffffff; text-decoration:none; background:linear-gradient(135deg, #ea580c, #c2410c); border-radius:50px; font-family:system-ui,sans-serif;">Verify Your Email &#x2192;</a>
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_email"}}</a>
</td>
</tr>
</table>
<div style="background:#fff7ed; border:1px solid #fed7aa; border-radius:12px; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#92400e; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#c2410c; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid #fed7aa; word-break:break-all; font-family:monospace;">
{{$activate_url}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$activate_url}}</p>
</div>
</div>
<div style="padding:20px 32px 24px; background:#fff7ed; border-top:1px solid #fed7aa;">
<p style="margin:0; font-size:14px; color:#92400e;">
&copy; <a href="{{AppUrl}}" style="color:#ea580c; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:13px; color:#a8a29e;">Built with &#x2764;&#xfe0f; by the community, for the community.</p>
</div>
</div>
</center>
</body>
</html>
@@ -2,72 +2,107 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #fff7ed; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fff7ed }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin:0 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#9a3412;letter-spacing:-0.3px;vertical-align:middle;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:28px 32px 16px;border-bottom:1px solid #fed7aa;background:linear-gradient(135deg,#fff7ed,#ffffff) }
/* Card */
.email-card { max-width:600px;margin:20px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 16px rgba(234,88,12,0.08);overflow:hidden;border:1px solid #fed7aa }
.email-heading { margin:0 0 12px;font-size:17px;line-height:1.5;color:#9a3412;font-family:Georgia,'Times New Roman',serif;font-weight:600 }
.email-text { margin:0 0 8px;font-size:16px;line-height:1.6;color:#78350f }
.email-subtext { margin:0 0 20px;font-size:15px;line-height:1.6;color:#92400e }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:16px;font-weight:600;color:#ffffff;text-decoration:none;background:linear-gradient(135deg,#ea580c,#c2410c);border-radius:50px;font-family:system-ui,sans-serif }
/* Fallback link */
.email-link-box { background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#92400e;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#c2410c;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid #fed7aa;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 32px 24px;background:#fff7ed;border-top:1px solid #fed7aa }
.email-footer-text { margin:0;font-size:14px;color:#92400e }
.email-footer-link { color:#ea580c;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#fff7ed; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 16px rgba(234,88,12,0.08); overflow:hidden; border:1px solid #fed7aa;">
<body style="margin:0;padding:0;background-color:#fff7ed;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 16px; border-bottom:1px solid #fed7aa; background:linear-gradient(135deg, #fff7ed, #ffffff);">
<!-- Floating Title -->
<div class="email-header">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<tr>
<td style="vertical-align:middle;">
<span style="font-size:15px;">&#x1f44b;</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" style="display:inline-block; vertical-align:middle; margin:0 10px; border:0; outline:none;">
<span style="font-size:20px; font-weight:700; color:#9a3412; letter-spacing:-0.3px; vertical-align:middle; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:32px 32px 24px; color:#78350f;">
<p style="margin:0 0 12px; font-size:17px; line-height:1.5; color:#9a3412; font-family:Georgia,'Times New Roman',serif; font-weight:600;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#78350f;">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 8px; font-size:16px; line-height:1.6; color:#78350f;">
<p class="email-text">
{{.locale.Tr "mail.register_notify.text_1" AppName}}
</p>
<p style="margin:0 0 20px; font-size:15px; line-height:1.6; color:#92400e;">
<p class="email-subtext">
{{.locale.Tr "mail.register_notify.text_2" .Username}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{AppUrl}}user/login" style="display:inline-block; padding:14px 40px; font-size:16px; font-weight:600; color:#ffffff; text-decoration:none; background:linear-gradient(135deg, #ea580c, #c2410c); border-radius:50px; font-family:system-ui,sans-serif;">Welcome to {{AppName}} &#x1f389;</a>
<a href="{{AppUrl}}user/login" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
{{$set_pwd_url := printf "%suser/forgot_password" AppUrl}}
<p style="margin:0 0 16px; font-size:15px; line-height:1.6; color:#92400e;">
<p style="margin:0 0 16px;font-size:15px;line-height:1.6;color:#92400e;">
{{.locale.Tr "mail.register_notify.text_3" $set_pwd_url}}
</p>
<div style="background:#fff7ed; border:1px solid #fed7aa; border-radius:12px; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#92400e; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#c2410c; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid #fed7aa; word-break:break-all; font-family:monospace;">
{{AppUrl}}user/login
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{AppUrl}}user/login</p>
</div>
</div>
<div style="padding:20px 32px 24px; background:#fff7ed; border-top:1px solid #fed7aa;">
<p style="margin:0; font-size:14px; color:#92400e;">
&copy; <a href="{{AppUrl}}" style="color:#ea580c; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:13px; color:#a8a29e;">Built with &#x2764;&#xfe0f; by the community, for the community.</p>
</div>
</div>
</center>
</body>
</html>
+59 -26
View File
@@ -2,65 +2,98 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #fff7ed; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fff7ed }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin:0 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#9a3412;letter-spacing:-0.3px;vertical-align:middle;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:28px 32px 16px;border-bottom:1px solid #fed7aa;background:linear-gradient(135deg,#fff7ed,#ffffff) }
/* Card */
.email-card { max-width:600px;margin:20px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 16px rgba(234,88,12,0.08);overflow:hidden;border:1px solid #fed7aa }
.email-heading { margin:0 0 12px;font-size:17px;line-height:1.5;color:#9a3412;font-family:Georgia,'Times New Roman',serif;font-weight:600 }
.email-text { margin:0 0 20px;font-size:16px;line-height:1.6;color:#78350f }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:14px 40px;font-size:16px;font-weight:600;color:#ffffff;text-decoration:none;background:linear-gradient(135deg,#ea580c,#c2410c);border-radius:50px;font-family:system-ui,sans-serif }
/* Fallback link */
.email-link-box { background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#92400e;line-height:1.5 }
.email-link-url { margin:0;font-size:13px;color:#c2410c;background:#ffffff;padding:10px 12px;border-radius:8px;border:1px solid #fed7aa;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 32px 24px;background:#fff7ed;border-top:1px solid #fed7aa }
.email-footer-text { margin:0;font-size:14px;color:#92400e }
.email-footer-link { color:#ea580c;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#fff7ed; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:16px; box-shadow:0 2px 16px rgba(234,88,12,0.08); overflow:hidden; border:1px solid #fed7aa;">
<body style="margin:0;padding:0;background-color:#fff7ed;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:28px 32px 16px; border-bottom:1px solid #fed7aa; background:linear-gradient(135deg, #fff7ed, #ffffff);">
<!-- Floating Title -->
<div class="email-header">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<tr>
<td style="vertical-align:middle;">
<span style="font-size:15px;">&#x1f44b;</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" style="display:inline-block; vertical-align:middle; margin:0 10px; border:0; outline:none;">
<span style="font-size:20px; font-weight:700; color:#9a3412; letter-spacing:-0.3px; vertical-align:middle; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</span>
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="30" height="30" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:32px 32px 24px; color:#78350f;">
<p style="margin:0 0 12px; font-size:17px; line-height:1.5; color:#9a3412; font-family:Georgia,'Times New Roman',serif; font-weight:600;">
<!-- Card -->
<div style="padding:32px 32px 24px;color:#78350f;">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 20px; font-size:16px; line-height:1.6; color:#78350f;">
<p class="email-text">
{{.locale.Tr "mail.reset_password.text" .ResetPwdCodeLives}}
</p>
<!-- Button -->
{{$recover_url := printf "%suser/recover_account?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{$recover_url}}" style="display:inline-block; padding:14px 40px; font-size:16px; font-weight:600; color:#ffffff; text-decoration:none; background:linear-gradient(135deg, #ea580c, #c2410c); border-radius:50px; font-family:system-ui,sans-serif;">Reset Your Password &#x1f512;</a>
<a href="{{$recover_url}}" class="email-btn">{{.locale.Tr "mail.reset_password"}}</a>
</td>
</tr>
</table>
<div style="background:#fff7ed; border:1px solid #fed7aa; border-radius:12px; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#92400e; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#c2410c; background:#ffffff; padding:10px 12px; border-radius:8px; border:1px solid #fed7aa; word-break:break-all; font-family:monospace;">
{{$recover_url}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$recover_url}}</p>
</div>
</div>
<div style="padding:20px 32px 24px; background:#fff7ed; border-top:1px solid #fed7aa;">
<p style="margin:0; font-size:14px; color:#92400e;">
&copy; <a href="{{AppUrl}}" style="color:#ea580c; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:13px; color:#a8a29e;">Built with &#x2764;&#xfe0f; by the community, for the community.</p>
</div>
</div>
</center>
</body>
</html>
+61 -28
View File
@@ -2,66 +2,99 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{AppName}} &middot; Team Invitation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.team_invite.subject" (.Inviter.DisplayName|DotEscape) (.Organization.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #faf8f5; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#faf8f5 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 12px;border:0;outline:none }
.email-brand { margin:0;font-size:20px;font-weight:700;color:#1e3a5f;letter-spacing:2px;font-variant:small-caps;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:32px 36px 20px;text-align:center;border-bottom:1px solid #c4a97d }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border:3px double #c4a97d;padding:0 }
.email-heading { margin:0 0 14px;font-size:17px;line-height:1.5;color:#1e3a5f;font-weight:600;font-family:Georgia,'Times New Roman',serif }
.email-text { margin:0 0 8px;font-size:16px;line-height:1.7;color:#2c1810 }
.email-subtext { margin:0 0 20px;font-size:15px;line-height:1.7;color:#5c4a3a }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:13px 38px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#1e3a5f;border:2px solid #8b6914;font-family:Georgia,'Times New Roman',serif;font-variant:small-caps;letter-spacing:1px }
/* Fallback link */
.email-link-box { background:#faf8f5;border:2px solid #d4c4a8;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#5c4a3a;line-height:1.5;font-style:italic }
.email-link-url { margin:0;font-size:13px;color:#1e3a5f;background:#ffffff;padding:10px 12px;border:1px solid #d4c4a8;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 36px 24px;background:#faf8f5;border-top:3px double #c4a97d;text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#5c4a3a }
.email-footer-link { color:#1e3a5f;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#faf8f5; font-family: 'Charter', 'Georgia', 'Times New Roman', serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border:3px double #c4a97d; padding:0;">
<body style="margin:0;padding:0;background-color:#faf8f5;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:32px 36px 20px; text-align:center; border-bottom:1px solid #c4a97d;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" style="display:inline-block; margin:0 auto 12px; border:0; outline:none;">
<p style="margin:0; font-size:20px; font-weight:700; color:#1e3a5f; letter-spacing:2px; font-variant:small-caps; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 36px 24px; color:#2c1810;">
<p style="margin:0 0 14px; font-size:17px; line-height:1.5; color:#1e3a5f; font-weight:600; font-family:Georgia,'Times New Roman',serif;">
<!-- Card -->
<div style="padding:32px 36px 24px;color:#2c1810;">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" .Invite.Email}}
</p>
<p style="margin:0 0 8px; font-size:16px; line-height:1.7; color:#2c1810;">
<p class="email-text">
{{.locale.Tr "mail.team_invite.text_1" (DotEscape .Inviter.DisplayName) (DotEscape .Team.Name) (DotEscape .Organization.DisplayName)}}
</p>
<p style="margin:0 0 20px; font-size:15px; line-height:1.7; color:#5c4a3a;">
<p class="email-subtext">
{{.locale.Tr "mail.team_invite.text_2"}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{.InviteURL}}" style="display:inline-block; padding:13px 38px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#1e3a5f; border:2px solid #8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">Accept Invitation &#x2192;</a>
<a href="{{.InviteURL}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#faf8f5; border:2px solid #d4c4a8; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#5c4a3a; line-height:1.5; font-style:italic;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#1e3a5f; background:#ffffff; padding:10px 12px; border:1px solid #d4c4a8; word-break:break-all; font-family:monospace;">
{{.InviteURL}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.InviteURL}}</p>
</div>
<p style="margin:16px 0 0; font-size:14px; color:#5c4a3a; line-height:1.5; font-style:italic;">
<p style="margin:16px 0 0;font-size:14px;color:#5c4a3a;line-height:1.5;font-style:italic;">
{{.locale.Tr "mail.team_invite.text_3" .Invite.Email}}
</p>
</div>
<div style="padding:20px 36px 24px; background:#faf8f5; border-top:3px double #c4a97d; text-align:center;">
<p style="margin:0; font-size:13px; color:#5c4a3a;">
&copy; <a href="{{AppUrl}}" style="color:#1e3a5f; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:12px; color:#8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">Established &middot; Trusted &middot; Open</p>
</div>
</div>
</center>
</body>
</html>
@@ -2,64 +2,100 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #faf8f5; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#faf8f5 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 12px;border:0;outline:none }
.email-brand { margin:0;font-size:20px;font-weight:700;color:#1e3a5f;letter-spacing:2px;font-variant:small-caps;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:32px 36px 20px;text-align:center;border-bottom:1px solid #c4a97d }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border:3px double #c4a97d;padding:0 }
.email-heading { font-size:19px;font-weight:700;color:#1e3a5f;margin:0 0 16px;font-family:Georgia,'Times New Roman',serif }
/* Content */
.job-list { list-style:none;padding:0;margin:0 0 24px 0 }
.job-item { background-color:#faf8f5;border:1px solid #d4c4a8;padding:12px 16px;margin-bottom:8px }
.job-link { color:#1e3a5f;text-decoration:none;font-weight:600;font-size:15px;display:block;border-bottom:1px dotted #8b6914 }
/* Button */
.email-btn-row { margin:16px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:13px 38px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#1e3a5f;border:2px solid #8b6914;font-family:Georgia,'Times New Roman',serif;font-variant:small-caps;letter-spacing:1px }
/* Fallback link */
.email-link-box { background:#faf8f5;border:2px solid #d4c4a8;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#5c4a3a;line-height:1.5;font-style:italic }
.email-link-url { margin:0;font-size:13px;color:#1e3a5f;background:#ffffff;padding:10px 12px;border:1px solid #d4c4a8;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 36px 24px;background:#faf8f5;border-top:3px double #c4a97d;text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#5c4a3a }
.email-footer-link { color:#1e3a5f;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#faf8f5; font-family: 'Charter', 'Georgia', 'Times New Roman', serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border:3px double #c4a97d; padding:0;">
<body style="margin:0;padding:0;background-color:#faf8f5;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:32px 36px 20px; text-align:center; border-bottom:1px solid #c4a97d;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" style="display:inline-block; margin:0 auto 12px; border:0; outline:none;">
<p style="margin:0; font-size:20px; font-weight:700; color:#1e3a5f; letter-spacing:2px; font-variant:small-caps; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 36px 24px; color:#2c1810;">
<h2 style="font-size:19px; font-weight:700; color:#1e3a5f; margin:0 0 16px; font-family:Georgia,'Times New Roman',serif;">
<!-- Card -->
<div style="padding:32px 36px 24px;color:#2c1810;">
<h2 class="email-heading">
{{.Repo.FullName}} &mdash; {{.Run.WorkflowID}}: {{.RunStatusText}}
</h2>
<ul style="list-style: none; padding: 0; margin: 0 0 24px 0;">
<ul class="job-list">
{{range $job := .Jobs}}
<li style="background-color: #faf8f5; border: 1px solid #d4c4a8; padding: 12px 16px; margin-bottom: 8px;">
<a href="{{$job.HTMLURL}}" style="color:#1e3a5f; text-decoration:none; font-weight:600; font-size:15px; display:block; border-bottom:1px dotted #8b6914;">
<li class="job-item">
<a href="{{$job.HTMLURL}}" class="job-link">
{{$job.Status}}: {{$job.Name}}{{if gt $job.Attempt 1}} (retry #{{$job.Attempt}}){{end}} &mdash; {{$job.Duration}}
</a>
</li>
{{end}}
</ul>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:16px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{.Run.HTMLURL}}" style="display:inline-block; padding:13px 38px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#1e3a5f; border:2px solid #8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<a href="{{.Run.HTMLURL}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#faf8f5; border:2px solid #d4c4a8; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#5c4a3a; line-height:1.5; font-style:italic;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#1e3a5f; background:#ffffff; padding:10px 12px; border:1px solid #d4c4a8; word-break:break-all; font-family:monospace;">
{{.Run.HTMLURL}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Run.HTMLURL}}</p>
</div>
</div>
<div style="padding:20px 36px 24px; background:#faf8f5; border-top:3px double #c4a97d; text-align:center;">
<p style="margin:0; font-size:13px; color:#5c4a3a;">
&copy; <a href="{{AppUrl}}" style="color:#1e3a5f; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:12px; color:#8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">Established &middot; Trusted &middot; Open</p>
</div>
</div>
</center>
</body>
</html>
+59 -26
View File
@@ -2,55 +2,88 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #faf8f5; }
code { background: #faf8f5; padding: 2px 8px; border: 1px solid #d4c4a8; font-size: 15px; color: #1e3a5f; font-weight: 600; font-family: 'Courier New', monospace; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#faf8f5 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 12px;border:0;outline:none }
.email-brand { margin:0;font-size:20px;font-weight:700;color:#1e3a5f;letter-spacing:2px;font-variant:small-caps;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:32px 36px 20px;text-align:center;border-bottom:1px solid #c4a97d }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border:3px double #c4a97d;padding:0 }
.email-text { margin:0 0 20px;font-size:16px;line-height:1.7;color:#2c1810 }
/* Typography utilities */
code { background:#faf8f5;padding:2px 8px;border:1px solid #d4c4a8;font-size:15px;color:#1e3a5f;font-weight:600;font-family:'Courier New',monospace }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:13px 38px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#1e3a5f;border:2px solid #8b6914;font-family:Georgia,'Times New Roman',serif;font-variant:small-caps;letter-spacing:1px }
/* Fallback link */
.email-link-box { background:#faf8f5;border:2px solid #d4c4a8;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#5c4a3a;line-height:1.5;font-style:italic }
.email-link-url { margin:0;font-size:13px;color:#1e3a5f;background:#ffffff;padding:10px 12px;border:1px solid #d4c4a8;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 36px 24px;background:#faf8f5;border-top:3px double #c4a97d;text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#5c4a3a }
.email-footer-link { color:#1e3a5f;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#faf8f5; font-family: 'Charter', 'Georgia', 'Times New Roman', serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border:3px double #c4a97d; padding:0;">
<body style="margin:0;padding:0;background-color:#faf8f5;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:32px 36px 20px; text-align:center; border-bottom:1px solid #c4a97d;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" style="display:inline-block; margin:0 auto 12px; border:0; outline:none;">
<p style="margin:0; font-size:20px; font-weight:700; color:#1e3a5f; letter-spacing:2px; font-variant:small-caps; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 36px 24px; color:#2c1810;">
<p style="margin:0 0 20px; font-size:16px; line-height:1.7; color:#2c1810;">
<!-- Card -->
<div style="padding:32px 36px 24px;color:#2c1810;">
<p class="email-text">
{{.locale.Tr "mail.repo.collaborator.added.text"}} <code>{{.RepoName}}</code>.
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{.Link}}" style="display:inline-block; padding:13px 38px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#1e3a5f; border:2px solid #8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#faf8f5; border:2px solid #d4c4a8; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#5c4a3a; line-height:1.5; font-style:italic;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#1e3a5f; background:#ffffff; padding:10px 12px; border:1px solid #d4c4a8; word-break:break-all; font-family:monospace;">
{{.Link}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Link}}</p>
</div>
</div>
<div style="padding:20px 36px 24px; background:#faf8f5; border-top:3px double #c4a97d; text-align:center;">
<p style="margin:0; font-size:13px; color:#5c4a3a;">
&copy; <a href="{{AppUrl}}" style="color:#1e3a5f; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:12px; color:#8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">Established &middot; Trusted &middot; Open</p>
</div>
</div>
</center>
</body>
</html>
+57 -27
View File
@@ -2,26 +2,57 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #faf8f5; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#faf8f5 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 12px;border:0;outline:none }
.email-brand { margin:0;font-size:20px;font-weight:700;color:#1e3a5f;letter-spacing:2px;font-variant:small-caps;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:32px 36px 20px;text-align:center;border-bottom:1px solid #c4a97d }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border:3px double #c4a97d;padding:0 }
.email-text { margin:0 0 20px;font-size:16px;line-height:1.7;color:#2c1810 }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:13px 38px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#1e3a5f;border:2px solid #8b6914;font-family:Georgia,'Times New Roman',serif;font-variant:small-caps;letter-spacing:1px }
/* Fallback link */
.email-link-box { background:#faf8f5;border:2px solid #d4c4a8;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#5c4a3a;line-height:1.5;font-style:italic }
.email-link-url { margin:0;font-size:13px;color:#1e3a5f;background:#ffffff;padding:10px 12px;border:1px solid #d4c4a8;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 36px 24px;background:#faf8f5;border-top:3px double #c4a97d;text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#5c4a3a }
.email-footer-link { color:#1e3a5f;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#faf8f5; font-family: 'Charter', 'Georgia', 'Times New Roman', serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border:3px double #c4a97d; padding:0;">
<body style="margin:0;padding:0;background-color:#faf8f5;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:32px 36px 20px; text-align:center; border-bottom:1px solid #c4a97d;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" style="display:inline-block; margin:0 auto 12px; border:0; outline:none;">
<p style="margin:0; font-size:20px; font-weight:700; color:#1e3a5f; letter-spacing:2px; font-variant:small-caps; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 36px 24px; color:#2c1810;">
{{$repo_url := HTMLFormat "<a href='%s' style='color:#1e3a5f; text-decoration:none; font-weight:600; border-bottom:1px dotted #8b6914;'>%s</a>" .Issue.Repo.HTMLURL .Issue.Repo.FullName}}
{{$link := HTMLFormat "<a href='%s' style='color:#1e3a5f; text-decoration:none; font-weight:600; border-bottom:1px dotted #8b6914;'>#%d</a>" .Link .Issue.Index}}
<p style="margin:0 0 20px; font-size:16px; line-height:1.7; color:#2c1810;">
<!-- Card -->
<div style="padding:32px 36px 24px;color:#2c1810;">
{{$repo_url := HTMLFormat "<a href='%s' style='color:#1e3a5f;text-decoration:none;font-weight:600;border-bottom:1px dotted #8b6914;'>%s</a>" .Issue.Repo.HTMLURL .Issue.Repo.FullName}}
{{$link := HTMLFormat "<a href='%s' style='color:#1e3a5f;text-decoration:none;font-weight:600;border-bottom:1px dotted #8b6914;'>#%d</a>" .Link .Issue.Index}}
<p class="email-text">
{{if .IsPull}}
{{.locale.Tr "mail.issue_assigned.pull" .Doer.Name $link $repo_url}}
{{else}}
@@ -29,33 +60,32 @@
{{end}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{.Link}}" style="display:inline-block; padding:13px 38px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#1e3a5f; border:2px solid #8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#faf8f5; border:2px solid #d4c4a8; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#5c4a3a; line-height:1.5; font-style:italic;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#1e3a5f; background:#ffffff; padding:10px 12px; border:1px solid #d4c4a8; word-break:break-all; font-family:monospace;">
{{.Link}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Link}}</p>
</div>
</div>
<div style="padding:20px 36px 24px; background:#faf8f5; border-top:3px double #c4a97d; text-align:center;">
<p style="margin:0; font-size:13px; color:#5c4a3a;">
&copy; <a href="{{AppUrl}}" style="color:#1e3a5f; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:12px; color:#8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">Established &middot; Trusted &middot; Open</p>
</div>
</div>
</center>
</body>
</html>
+79 -38
View File
@@ -2,37 +2,78 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #faf8f5; }
blockquote { padding-left: 1em; margin: 1em 0; border-left: 2px solid #c4a97d; color: #5c4a3a; font-style: italic; }
pre { background: #faf8f5; padding: 12px; overflow-x: auto; font-size: 14px; line-height: 1.5; border: 1px solid #d4c4a8; }
hr { border: none; border-top: 1px solid #c4a97d; margin: 20px 0; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#faf8f5 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 12px;border:0;outline:none }
.email-brand { margin:0;font-size:20px;font-weight:700;color:#1e3a5f;letter-spacing:2px;font-variant:small-caps;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:32px 36px 20px;text-align:center;border-bottom:1px solid #c4a97d }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border:3px double #c4a97d;padding:0 }
.email-text { margin:0 0 16px;font-size:16px;line-height:1.7;color:#2c1810 }
/* Content */
blockquote { padding-left:1em;margin:1em 0;border-left:2px solid #c4a97d;color:#5c4a3a;font-style:italic }
pre { background:#faf8f5;padding:12px;overflow-x:auto;font-size:14px;line-height:1.5;border:1px solid #d4c4a8 }
hr { border:none;border-top:1px solid #c4a97d;margin:20px 0 }
.review-path { margin:8px 0;font-size:14px;color:#5c4a3a;font-style:italic }
.review-content { padding-left:1em;margin:1em 0 }
.review-body { margin-top:8px;font-size:15px;line-height:1.7 }
.commit-list { margin:16px 0;padding-left:20px }
.commit-item { margin-bottom:6px;font-size:15px }
.commit-link { color:#1e3a5f;text-decoration:none;font-weight:600;border-bottom:1px dotted #8b6914 }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:13px 38px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#1e3a5f;border:2px solid #8b6914;font-family:Georgia,'Times New Roman',serif;font-variant:small-caps;letter-spacing:1px }
/* Fallback link */
.email-link-box { background:#faf8f5;border:2px solid #d4c4a8;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#5c4a3a;line-height:1.5;font-style:italic }
.email-link-url { margin:0;font-size:13px;color:#1e3a5f;background:#ffffff;padding:10px 12px;border:1px solid #d4c4a8;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 36px 24px;background:#faf8f5;border-top:3px double #c4a97d;text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#5c4a3a }
.email-footer-link { color:#1e3a5f;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#faf8f5; font-family: 'Charter', 'Georgia', 'Times New Roman', serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border:3px double #c4a97d; padding:0;">
<body style="margin:0;padding:0;background-color:#faf8f5;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:32px 36px 20px; text-align:center; border-bottom:1px solid #c4a97d;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" style="display:inline-block; margin:0 auto 12px; border:0; outline:none;">
<p style="margin:0; font-size:20px; font-weight:700; color:#1e3a5f; letter-spacing:2px; font-variant:small-caps; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 36px 24px; color:#2c1810;">
{{if .IsMention}}<p style="margin:0 0 16px; font-size:16px; line-height:1.7; color:#2c1810;">{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>{{end}}
<!-- Card -->
<div style="padding:32px 36px 24px;color:#2c1810;">
{{if .IsMention}}
<p class="email-text">{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>
{{end}}
{{if eq .ActionName "push"}}
<p style="margin:0 0 16px; font-size:16px; line-height:1.7; color:#2c1810;">
<p class="email-text">
{{if .Comment.IsForcePush}}
{{$oldCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.OldCommit}}
{{$oldShortSha := ShortSha .Comment.OldCommit}}
{{$oldCommitLink := HTMLFormat "<a href='%[1]s' style='color:#1e3a5f; text-decoration:none; font-weight:600; border-bottom:1px dotted #8b6914;'>%[2]s</a>" $oldCommitUrl $oldShortSha}}
{{$oldCommitLink := HTMLFormat "<a href='%[1]s' style='color:#1e3a5f;text-decoration:none;font-weight:600;border-bottom:1px dotted #8b6914;'>%[2]s</a>" $oldCommitUrl $oldShortSha}}
{{$newCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.NewCommit}}
{{$newShortSha := ShortSha .Comment.NewCommit}}
{{$newCommitLink := HTMLFormat "<a href='%[1]s' style='color:#1e3a5f; text-decoration:none; font-weight:600; border-bottom:1px dotted #8b6914;'>%[2]s</a>" $newCommitUrl $newShortSha}}
{{$newCommitLink := HTMLFormat "<a href='%[1]s' style='color:#1e3a5f;text-decoration:none;font-weight:600;border-bottom:1px dotted #8b6914;'>%[2]s</a>" $newCommitUrl $newShortSha}}
{{.locale.Tr "mail.issue.action.force_push" .Doer.Name .Comment.Issue.PullRequest.HeadBranch $oldCommitLink $newCommitLink}}
{{else}}
@@ -40,7 +81,7 @@
{{end}}
</p>
{{end}}
<p style="margin:0 0 16px; font-size:16px; line-height:1.7; color:#2c1810;">
<p class="email-text">
{{if eq .ActionName "close"}}
{{.locale.Tr "mail.issue.action.close" .Doer.Name .Issue.Index}}
{{else if eq .ActionName "reopen"}}
@@ -70,18 +111,18 @@
{{- range .ReviewComments}}
<hr>
<p style="margin:8px 0; font-size:14px; color:#5c4a3a; font-style:italic;">{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p>
<div style="padding-left: 1em; margin: 1em 0;">
<p class="review-path">{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p>
<div class="review-content">
<pre>{{.Patch}}</pre>
<div style="margin-top:8px; font-size:15px; line-height:1.7;">{{.RenderedContent}}</div>
<div class="review-body">{{.RenderedContent}}</div>
</div>
{{end -}}
{{if eq .ActionName "push"}}
<ul style="margin:16px 0; padding-left:20px;">
<ul class="commit-list">
{{range .Comment.Commits}}
<li style="margin-bottom:6px; font-size:15px;">
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}" style="color:#1e3a5f; text-decoration:none; font-weight:600; border-bottom:1px dotted #8b6914;">
<li class="commit-item">
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}" class="commit-link">
{{ShortSha .ID.String}}
</a> &mdash; {{.MessageTitle}}
</li>
@@ -89,33 +130,33 @@
</ul>
{{end}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{.Link}}" style="display:inline-block; padding:13px 38px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#1e3a5f; border:2px solid #8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#faf8f5; border:2px solid #d4c4a8; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#5c4a3a; line-height:1.5; font-style:italic;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#1e3a5f; background:#ffffff; padding:10px 12px; border:1px solid #d4c4a8; word-break:break-all; font-family:monospace;">
{{.Link}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Link}}</p>
</div>
</div>
<div style="padding:20px 36px 24px; background:#faf8f5; border-top:3px double #c4a97d; text-align:center;">
<p style="margin:0; font-size:13px; color:#5c4a3a;">
&copy; <a href="{{AppUrl}}" style="color:#1e3a5f; text-decoration:none; font-weight:600;">{{AppName}}</a>{{if .CanReply}}&nbsp;{{.locale.Tr "mail.reply"}}{{end}}
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
{{if .CanReply}}&nbsp;{{.locale.Tr "mail.reply"}}{{end}}
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:12px; color:#8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">Established &middot; Trusted &middot; Open</p>
</div>
</div>
</center>
</body>
</html>
+72 -37
View File
@@ -2,87 +2,122 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #faf8f5; }
blockquote { padding-left: 1em; margin: 1em 0; border-left: 2px solid #c4a97d; color: #5c4a3a; font-style: italic; }
ul { margin: 12px 0 16px; padding-left: 20px; }
li { margin-bottom: 8px; font-size: 15px; line-height: 1.5; color: #2c1810; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#faf8f5 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 12px;border:0;outline:none }
.email-brand { margin:0;font-size:20px;font-weight:700;color:#1e3a5f;letter-spacing:2px;font-variant:small-caps;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:32px 36px 20px;text-align:center;border-bottom:1px solid #c4a97d }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border:3px double #c4a97d;padding:0 }
.email-heading { margin:20px 0 8px;font-size:19px;font-weight:700;color:#1e3a5f;font-family:Georgia,'Times New Roman',serif }
.email-subheading { margin:20px 0 8px;font-weight:600;color:#1e3a5f;font-variant:small-caps;letter-spacing:1px }
.email-text { margin:0 0 16px;font-size:16px;line-height:1.7;color:#2c1810 }
/* Content */
blockquote { padding-left:1em;margin:1em 0;border-left:2px solid #c4a97d;color:#5c4a3a;font-style:italic }
ul { margin:12px 0 16px;padding-left:20px }
li { margin-bottom:8px;font-size:15px;line-height:1.5;color:#2c1810 }
.email-content { margin:12px 0 16px;font-size:15px;line-height:1.7;color:#2c1810 }
/* Button */
.email-btn-row { margin:16px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:13px 38px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#1e3a5f;border:2px solid #8b6914;font-family:Georgia,'Times New Roman',serif;font-variant:small-caps;letter-spacing:1px }
/* Fallback link */
.email-link-box { background:#faf8f5;border:2px solid #d4c4a8;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#5c4a3a;line-height:1.5;font-style:italic }
.email-link-url { margin:0;font-size:13px;color:#1e3a5f;background:#ffffff;padding:10px 12px;border:1px solid #d4c4a8;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 36px 24px;background:#faf8f5;border-top:3px double #c4a97d;text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#5c4a3a }
.email-footer-link { color:#1e3a5f;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#faf8f5; font-family: 'Charter', 'Georgia', 'Times New Roman', serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border:3px double #c4a97d; padding:0;">
<body style="margin:0;padding:0;background-color:#faf8f5;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:32px 36px 20px; text-align:center; border-bottom:1px solid #c4a97d;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" style="display:inline-block; margin:0 auto 12px; border:0; outline:none;">
<p style="margin:0; font-size:20px; font-weight:700; color:#1e3a5f; letter-spacing:2px; font-variant:small-caps; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 36px 24px; color:#2c1810;">
{{$release_url := HTMLFormat "<a href='%s' style='color:#1e3a5f; text-decoration:none; font-weight:600; border-bottom:1px dotted #8b6914;'>%s</a>" .Release.HTMLURL .Release.TagName}}
{{$repo_url := HTMLFormat "<a href='%s' style='color:#1e3a5f; text-decoration:none; font-weight:600; border-bottom:1px dotted #8b6914;'>%s</a>" .Release.Repo.HTMLURL .Release.Repo.FullName}}
<p style="margin:0 0 16px; font-size:16px; line-height:1.7; color:#2c1810;">
<!-- Card -->
<div style="padding:32px 36px 24px;color:#2c1810;">
{{$release_url := HTMLFormat "<a href='%s' style='color:#1e3a5f;text-decoration:none;font-weight:600;border-bottom:1px dotted #8b6914;'>%s</a>" .Release.HTMLURL .Release.TagName}}
{{$repo_url := HTMLFormat "<a href='%s' style='color:#1e3a5f;text-decoration:none;font-weight:600;border-bottom:1px dotted #8b6914;'>%s</a>" .Release.Repo.HTMLURL .Release.Repo.FullName}}
<p class="email-text">
{{.locale.Tr "mail.release.new.text" .Release.Publisher.Name $release_url $repo_url}}
</p>
<h4 style="margin:20px 0 8px; font-size:19px; font-weight:700; color:#1e3a5f; font-family:Georgia,'Times New Roman',serif;">{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
<h4 class="email-heading">{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
<p style="margin:0 0 8px;font-weight:600;color:#1e3a5f;font-style:italic;">{{.locale.Tr "mail.release.note"}}</p>
{{if .Release.RenderedNote}}
<div style="margin:12px 0 16px; font-size:15px; line-height:1.7; color:#2c1810;">
<div class="email-content">
{{.Release.RenderedNote}}
</div>
{{end}}
<p style="margin:20px 0 8px; font-weight:600; color:#1e3a5f; font-variant:small-caps; letter-spacing:1px;">{{.locale.Tr "mail.release.downloads"}}</p>
<ul style="margin:0 0 20px; padding-left:20px;">
<p class="email-subheading">{{.locale.Tr "mail.release.downloads"}}</p>
<ul>
{{if not .DisableDownloadSourceArchives}}
<li>
<a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.zip" rel="nofollow" style="color:#1e3a5f; text-decoration:none; font-weight:600; border-bottom:1px dotted #8b6914;">{{.locale.Tr "mail.release.download.zip"}}</a>
<a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.zip" rel="nofollow" style="color:#1e3a5f;text-decoration:none;font-weight:600;border-bottom:1px dotted #8b6914;">{{.locale.Tr "mail.release.download.zip"}}</a>
</li>
<li>
<a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.tar.gz" rel="nofollow" style="color:#1e3a5f; text-decoration:none; font-weight:600; border-bottom:1px dotted #8b6914;">{{.locale.Tr "mail.release.download.targz"}}</a>
<a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.tar.gz" rel="nofollow" style="color:#1e3a5f;text-decoration:none;font-weight:600;border-bottom:1px dotted #8b6914;">{{.locale.Tr "mail.release.download.targz"}}</a>
</li>
{{end}}
{{if .Release.Attachments}}
{{range .Release.Attachments}}
<li>
<a href="{{.DownloadURL}}" target="_blank" style="color:#1e3a5f; text-decoration:none; font-weight:600; border-bottom:1px dotted #8b6914;">{{.Name}} ({{.Size | FileSize}})</a>
<a href="{{.DownloadURL}}" target="_blank" style="color:#1e3a5f;text-decoration:none;font-weight:600;border-bottom:1px dotted #8b6914;">{{.Name}} ({{.Size | FileSize}})</a>
</li>
{{end}}
{{end}}
</ul>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:16px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{.Link}}" style="display:inline-block; padding:13px 38px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#1e3a5f; border:2px solid #8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#faf8f5; border:2px solid #d4c4a8; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#5c4a3a; line-height:1.5; font-style:italic;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#1e3a5f; background:#ffffff; padding:10px 12px; border:1px solid #d4c4a8; word-break:break-all; font-family:monospace;">
{{.Link}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Link}}</p>
</div>
</div>
<div style="padding:20px 36px 24px; background:#faf8f5; border-top:3px double #c4a97d; text-align:center;">
<p style="margin:0; font-size:13px; color:#5c4a3a;">
&copy; <a href="{{AppUrl}}" style="color:#1e3a5f; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:12px; color:#8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">Established &middot; Trusted &middot; Open</p>
</div>
</div>
</center>
</body>
</html>
+56 -26
View File
@@ -2,55 +2,85 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #faf8f5; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#faf8f5 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 12px;border:0;outline:none }
.email-brand { margin:0;font-size:20px;font-weight:700;color:#1e3a5f;letter-spacing:2px;font-variant:small-caps;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:32px 36px 20px;text-align:center;border-bottom:1px solid #c4a97d }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border:3px double #c4a97d;padding:0 }
.email-text { margin:0 0 20px;font-size:16px;line-height:1.7;color:#2c1810 }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:13px 38px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#1e3a5f;border:2px solid #8b6914;font-family:Georgia,'Times New Roman',serif;font-variant:small-caps;letter-spacing:1px }
/* Fallback link */
.email-link-box { background:#faf8f5;border:2px solid #d4c4a8;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#5c4a3a;line-height:1.5;font-style:italic }
.email-link-url { margin:0;font-size:13px;color:#1e3a5f;background:#ffffff;padding:10px 12px;border:1px solid #d4c4a8;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 36px 24px;background:#faf8f5;border-top:3px double #c4a97d;text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#5c4a3a }
.email-footer-link { color:#1e3a5f;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#faf8f5; font-family: 'Charter', 'Georgia', 'Times New Roman', serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border:3px double #c4a97d; padding:0;">
<body style="margin:0;padding:0;background-color:#faf8f5;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:32px 36px 20px; text-align:center; border-bottom:1px solid #c4a97d;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" style="display:inline-block; margin:0 auto 12px; border:0; outline:none;">
<p style="margin:0; font-size:20px; font-weight:700; color:#1e3a5f; letter-spacing:2px; font-variant:small-caps; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 36px 24px; color:#2c1810;">
{{$url := HTMLFormat "<a href='%[1]s' style='color:#1e3a5f; text-decoration:none; font-weight:600; border-bottom:1px dotted #8b6914;'>%[2]s</a>" .Link .Repo}}
<p style="margin:0 0 20px; font-size:16px; line-height:1.7; color:#2c1810;">
<!-- Card -->
<div style="padding:32px 36px 24px;color:#2c1810;">
{{$url := HTMLFormat "<a href='%[1]s' style='color:#1e3a5f;text-decoration:none;font-weight:600;border-bottom:1px dotted #8b6914;'>%[2]s</a>" .Link .Repo}}
<p class="email-text">
{{.Subject}}. {{.locale.Tr "mail.repo.transfer.body" $url}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{.Link}}" style="display:inline-block; padding:13px 38px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#1e3a5f; border:2px solid #8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#faf8f5; border:2px solid #d4c4a8; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#5c4a3a; line-height:1.5; font-style:italic;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#1e3a5f; background:#ffffff; padding:10px 12px; border:1px solid #d4c4a8; word-break:break-all; font-family:monospace;">
{{.Link}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Link}}</p>
</div>
</div>
<div style="padding:20px 36px 24px; background:#faf8f5; border-top:3px double #c4a97d; text-align:center;">
<p style="margin:0; font-size:13px; color:#5c4a3a;">
&copy; <a href="{{AppUrl}}" style="color:#1e3a5f; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:12px; color:#8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">Established &middot; Trusted &middot; Open</p>
</div>
</div>
</center>
</body>
</html>
+62 -27
View File
@@ -2,61 +2,96 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #faf8f5; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#faf8f5 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 12px;border:0;outline:none }
.email-brand { margin:0;font-size:20px;font-weight:700;color:#1e3a5f;letter-spacing:2px;font-variant:small-caps;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:32px 36px 20px;text-align:center;border-bottom:1px solid #c4a97d }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border:3px double #c4a97d;padding:0 }
.email-heading { margin:0 0 14px;font-size:17px;line-height:1.5;color:#1e3a5f;font-weight:600;font-family:Georgia,'Times New Roman',serif }
.email-text { margin:0 0 8px;font-size:16px;line-height:1.7;color:#2c1810 }
.email-subtext { margin:0 0 20px;font-size:15px;line-height:1.7;color:#5c4a3a }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:13px 38px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#1e3a5f;border:2px solid #8b6914;font-family:Georgia,'Times New Roman',serif;font-variant:small-caps;letter-spacing:1px }
/* Fallback link */
.email-link-box { background:#faf8f5;border:2px solid #d4c4a8;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#5c4a3a;line-height:1.5;font-style:italic }
.email-link-url { margin:0;font-size:13px;color:#1e3a5f;background:#ffffff;padding:10px 12px;border:1px solid #d4c4a8;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 36px 24px;background:#faf8f5;border-top:3px double #c4a97d;text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#5c4a3a }
.email-footer-link { color:#1e3a5f;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#faf8f5; font-family: 'Charter', 'Georgia', 'Times New Roman', serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border:3px double #c4a97d; padding:0;">
<body style="margin:0;padding:0;background-color:#faf8f5;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:32px 36px 20px; text-align:center; border-bottom:1px solid #c4a97d;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" style="display:inline-block; margin:0 auto 12px; border:0; outline:none;">
<p style="margin:0; font-size:20px; font-weight:700; color:#1e3a5f; letter-spacing:2px; font-variant:small-caps; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 36px 24px; color:#2c1810;">
<p style="margin:0 0 14px; font-size:17px; line-height:1.5; color:#1e3a5f; font-weight:600; font-family:Georgia,'Times New Roman',serif;">
<!-- Card -->
<div style="padding:32px 36px 24px;color:#2c1810;">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 8px; font-size:16px; line-height:1.7; color:#2c1810;">
<p class="email-text">
{{.locale.Tr "mail.activate_account.text_1" (.DisplayName|DotEscape) AppName}}
</p>
<p style="margin:0 0 20px; font-size:15px; line-height:1.7; color:#5c4a3a;">
<p class="email-subtext">
{{.locale.Tr "mail.activate_account.text_2" .ActiveCodeLives}}
</p>
<!-- Button -->
{{$activate_url := printf "%suser/activate?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{$activate_url}}" style="display:inline-block; padding:13px 38px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#1e3a5f; border:2px solid #8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">Activate Account &#x2192;</a>
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_account"}}</a>
</td>
</tr>
</table>
<div style="background:#faf8f5; border:2px solid #d4c4a8; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#5c4a3a; line-height:1.5; font-style:italic;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#1e3a5f; background:#ffffff; padding:10px 12px; border:1px solid #d4c4a8; word-break:break-all; font-family:monospace;">
{{$activate_url}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$activate_url}}</p>
</div>
</div>
<div style="padding:20px 36px 24px; background:#faf8f5; border-top:3px double #c4a97d; text-align:center;">
<p style="margin:0; font-size:13px; color:#5c4a3a;">
&copy; <a href="{{AppUrl}}" style="color:#1e3a5f; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:12px; color:#8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">Established &middot; Trusted &middot; Open</p>
</div>
</div>
</center>
</body>
</html>
@@ -2,58 +2,91 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #faf8f5; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#faf8f5 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 12px;border:0;outline:none }
.email-brand { margin:0;font-size:20px;font-weight:700;color:#1e3a5f;letter-spacing:2px;font-variant:small-caps;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:32px 36px 20px;text-align:center;border-bottom:1px solid #c4a97d }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border:3px double #c4a97d;padding:0 }
.email-heading { margin:0 0 14px;font-size:17px;line-height:1.5;color:#1e3a5f;font-weight:600;font-family:Georgia,'Times New Roman',serif }
.email-text { margin:0 0 20px;font-size:16px;line-height:1.7;color:#2c1810 }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:13px 38px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#1e3a5f;border:2px solid #8b6914;font-family:Georgia,'Times New Roman',serif;font-variant:small-caps;letter-spacing:1px }
/* Fallback link */
.email-link-box { background:#faf8f5;border:2px solid #d4c4a8;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#5c4a3a;line-height:1.5;font-style:italic }
.email-link-url { margin:0;font-size:13px;color:#1e3a5f;background:#ffffff;padding:10px 12px;border:1px solid #d4c4a8;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 36px 24px;background:#faf8f5;border-top:3px double #c4a97d;text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#5c4a3a }
.email-footer-link { color:#1e3a5f;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#faf8f5; font-family: 'Charter', 'Georgia', 'Times New Roman', serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border:3px double #c4a97d; padding:0;">
<body style="margin:0;padding:0;background-color:#faf8f5;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:32px 36px 20px; text-align:center; border-bottom:1px solid #c4a97d;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" style="display:inline-block; margin:0 auto 12px; border:0; outline:none;">
<p style="margin:0; font-size:20px; font-weight:700; color:#1e3a5f; letter-spacing:2px; font-variant:small-caps; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 36px 24px; color:#2c1810;">
<p style="margin:0 0 14px; font-size:17px; line-height:1.5; color:#1e3a5f; font-weight:600; font-family:Georgia,'Times New Roman',serif;">
<!-- Card -->
<div style="padding:32px 36px 24px;color:#2c1810;">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 20px; font-size:16px; line-height:1.7; color:#2c1810;">
<p class="email-text">
{{.locale.Tr "mail.activate_email.text" .ActiveCodeLives}}
</p>
<!-- Button -->
{{$activate_url := printf "%suser/activate_email?code=%s&email=%s" AppUrl (QueryEscape .Code) (QueryEscape .Email)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{$activate_url}}" style="display:inline-block; padding:13px 38px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#1e3a5f; border:2px solid #8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">Verify Email Address &#x2192;</a>
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_email"}}</a>
</td>
</tr>
</table>
<div style="background:#faf8f5; border:2px solid #d4c4a8; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#5c4a3a; line-height:1.5; font-style:italic;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#1e3a5f; background:#ffffff; padding:10px 12px; border:1px solid #d4c4a8; word-break:break-all; font-family:monospace;">
{{$activate_url}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$activate_url}}</p>
</div>
</div>
<div style="padding:20px 36px 24px; background:#faf8f5; border-top:3px double #c4a97d; text-align:center;">
<p style="margin:0; font-size:13px; color:#5c4a3a;">
&copy; <a href="{{AppUrl}}" style="color:#1e3a5f; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:12px; color:#8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">Established &middot; Trusted &middot; Open</p>
</div>
</div>
</center>
</body>
</html>
@@ -2,65 +2,100 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #faf8f5; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#faf8f5 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 12px;border:0;outline:none }
.email-brand { margin:0;font-size:20px;font-weight:700;color:#1e3a5f;letter-spacing:2px;font-variant:small-caps;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:32px 36px 20px;text-align:center;border-bottom:1px solid #c4a97d }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border:3px double #c4a97d;padding:0 }
.email-heading { margin:0 0 14px;font-size:17px;line-height:1.5;color:#1e3a5f;font-weight:600;font-family:Georgia,'Times New Roman',serif }
.email-text { margin:0 0 8px;font-size:16px;line-height:1.7;color:#2c1810 }
.email-subtext { margin:0 0 20px;font-size:15px;line-height:1.7;color:#5c4a3a }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:13px 38px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#1e3a5f;border:2px solid #8b6914;font-family:Georgia,'Times New Roman',serif;font-variant:small-caps;letter-spacing:1px }
/* Fallback link */
.email-link-box { background:#faf8f5;border:2px solid #d4c4a8;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#5c4a3a;line-height:1.5;font-style:italic }
.email-link-url { margin:0;font-size:13px;color:#1e3a5f;background:#ffffff;padding:10px 12px;border:1px solid #d4c4a8;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 36px 24px;background:#faf8f5;border-top:3px double #c4a97d;text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#5c4a3a }
.email-footer-link { color:#1e3a5f;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#faf8f5; font-family: 'Charter', 'Georgia', 'Times New Roman', serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border:3px double #c4a97d; padding:0;">
<body style="margin:0;padding:0;background-color:#faf8f5;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:32px 36px 20px; text-align:center; border-bottom:1px solid #c4a97d;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" style="display:inline-block; margin:0 auto 12px; border:0; outline:none;">
<p style="margin:0; font-size:20px; font-weight:700; color:#1e3a5f; letter-spacing:2px; font-variant:small-caps; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 36px 24px; color:#2c1810;">
<p style="margin:0 0 14px; font-size:17px; line-height:1.5; color:#1e3a5f; font-weight:600; font-family:Georgia,'Times New Roman',serif;">
<!-- Card -->
<div style="padding:32px 36px 24px;color:#2c1810;">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 8px; font-size:16px; line-height:1.7; color:#2c1810;">
<p class="email-text">
{{.locale.Tr "mail.register_notify.text_1" AppName}}
</p>
<p style="margin:0 0 20px; font-size:15px; line-height:1.7; color:#5c4a3a;">
<p class="email-subtext">
{{.locale.Tr "mail.register_notify.text_2" .Username}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<!-- Button -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{AppUrl}}user/login" style="display:inline-block; padding:13px 38px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#1e3a5f; border:2px solid #8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">Proceed to Login &#x2192;</a>
<a href="{{AppUrl}}user/login" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
{{$set_pwd_url := printf "%suser/forgot_password" AppUrl}}
<p style="margin:0 0 16px; font-size:15px; line-height:1.7; color:#5c4a3a;">
<p style="margin:0 0 16px;font-size:15px;line-height:1.7;color:#5c4a3a;">
{{.locale.Tr "mail.register_notify.text_3" $set_pwd_url}}
</p>
<div style="background:#faf8f5; border:2px solid #d4c4a8; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#5c4a3a; line-height:1.5; font-style:italic;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#1e3a5f; background:#ffffff; padding:10px 12px; border:1px solid #d4c4a8; word-break:break-all; font-family:monospace;">
{{AppUrl}}user/login
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{AppUrl}}user/login</p>
</div>
</div>
<div style="padding:20px 36px 24px; background:#faf8f5; border-top:3px double #c4a97d; text-align:center;">
<p style="margin:0; font-size:13px; color:#5c4a3a;">
&copy; <a href="{{AppUrl}}" style="color:#1e3a5f; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:12px; color:#8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">Established &middot; Trusted &middot; Open</p>
</div>
</div>
</center>
</body>
</html>
@@ -2,58 +2,91 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #faf8f5; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#faf8f5 }
/* Header */
.email-logo { display:inline-block;margin:0 auto 12px;border:0;outline:none }
.email-brand { margin:0;font-size:20px;font-weight:700;color:#1e3a5f;letter-spacing:2px;font-variant:small-caps;font-family:Georgia,'Times New Roman',serif }
.email-header { padding:32px 36px 20px;text-align:center;border-bottom:1px solid #c4a97d }
/* Card */
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border:3px double #c4a97d;padding:0 }
.email-heading { margin:0 0 14px;font-size:17px;line-height:1.5;color:#1e3a5f;font-weight:600;font-family:Georgia,'Times New Roman',serif }
.email-text { margin:0 0 20px;font-size:16px;line-height:1.7;color:#2c1810 }
/* Button */
.email-btn-row { margin:28px 0 24px;border-collapse:separate }
.email-btn { display:inline-block;padding:13px 38px;font-size:15px;font-weight:600;color:#ffffff;text-decoration:none;background-color:#1e3a5f;border:2px solid #8b6914;font-family:Georgia,'Times New Roman',serif;font-variant:small-caps;letter-spacing:1px }
/* Fallback link */
.email-link-box { background:#faf8f5;border:2px solid #d4c4a8;padding:16px 18px;margin:24px 0 16px }
.email-link-label { margin:0 0 8px;font-size:14px;color:#5c4a3a;line-height:1.5;font-style:italic }
.email-link-url { margin:0;font-size:13px;color:#1e3a5f;background:#ffffff;padding:10px 12px;border:1px solid #d4c4a8;word-break:break-all;font-family:monospace }
/* Footer */
.email-footer { padding:20px 36px 24px;background:#faf8f5;border-top:3px double #c4a97d;text-align:center }
.email-footer-text { margin:0;font-size:13px;color:#5c4a3a }
.email-footer-link { color:#1e3a5f;text-decoration:none;font-weight:600 }
</style>
</head>
<body style="margin:0; padding:0; background-color:#faf8f5; font-family: 'Charter', 'Georgia', 'Times New Roman', serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:24px auto; background:#ffffff; border:3px double #c4a97d; padding:0;">
<body style="margin:0;padding:0;background-color:#faf8f5;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<center style="width:100%;table-layout:fixed;">
<div class="email-card">
<div style="padding:32px 36px 20px; text-align:center; border-bottom:1px solid #c4a97d;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" style="display:inline-block; margin:0 auto 12px; border:0; outline:none;">
<p style="margin:0; font-size:20px; font-weight:700; color:#1e3a5f; letter-spacing:2px; font-variant:small-caps; font-family:Georgia,'Times New Roman',serif;">{{AppName}}</p>
<!-- Floating Title -->
<div class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="40" height="40" class="email-logo" />
<p class="email-brand">{{AppName}}</p>
</div>
<div style="padding:32px 36px 24px; color:#2c1810;">
<p style="margin:0 0 14px; font-size:17px; line-height:1.5; color:#1e3a5f; font-weight:600; font-family:Georgia,'Times New Roman',serif;">
<!-- Card -->
<div style="padding:32px 36px 24px;color:#2c1810;">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 20px; font-size:16px; line-height:1.7; color:#2c1810;">
<p class="email-text">
{{.locale.Tr "mail.reset_password.text" .ResetPwdCodeLives}}
</p>
<!-- Button -->
{{$recover_url := printf "%suser/recover_account?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
<tr>
<td align="center">
<a href="{{$recover_url}}" style="display:inline-block; padding:13px 38px; font-size:15px; font-weight:600; color:#ffffff; text-decoration:none; background-color:#1e3a5f; border:2px solid #8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">Reset Password &#x2192;</a>
<a href="{{$recover_url}}" class="email-btn">{{.locale.Tr "mail.reset_password"}}</a>
</td>
</tr>
</table>
<div style="background:#faf8f5; border:2px solid #d4c4a8; padding:16px 18px; margin:24px 0 16px;">
<p style="margin:0 0 8px; font-size:14px; color:#5c4a3a; line-height:1.5; font-style:italic;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:13px; color:#1e3a5f; background:#ffffff; padding:10px 12px; border:1px solid #d4c4a8; word-break:break-all; font-family:monospace;">
{{$recover_url}}
</p>
<!-- Fallback link -->
<div class="email-link-box">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$recover_url}}</p>
</div>
</div>
<div style="padding:20px 36px 24px; background:#faf8f5; border-top:3px double #c4a97d; text-align:center;">
<p style="margin:0; font-size:13px; color:#5c4a3a;">
&copy; <a href="{{AppUrl}}" style="color:#1e3a5f; text-decoration:none; font-weight:600;">{{AppName}}</a>
<!-- Footer -->
<div class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:8px 0 0; font-size:12px; color:#8b6914; font-family:Georgia,'Times New Roman',serif; font-variant:small-caps; letter-spacing:1px;">Established &middot; Trusted &middot; Open</p>
</div>
</div>
</center>
</body>
</html>
+104 -39
View File
@@ -2,75 +2,140 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{AppName}} · Team Invitation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.team_invite.subject" (.Inviter.DisplayName|DotEscape) (.Organization.DisplayName|DotEscape)}}
</title>
<style type="text/css">
.ExternalClass, .ReadMsgBody { width: 100%; background-color: #f4f6f9; }
/* 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;text-decoration:none;background:#1e88e5;border-radius:48px;border:1px solid #1e88e5;letter-spacing:0.3px;text-align:center }
.email-btn-table { margin:28px 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 { color:#1e88e5!important;text-decoration:none!important;font-weight:500!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-color:#f4f6f9; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.05); overflow:hidden;">
<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 rgba(0,0,0,0.05);overflow:hidden;" class="email-wrap">
<div style="padding:28px 32px 16px; border-bottom:1px solid #eef2f6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; vertical-align:middle; margin-right:12px; border:0; outline:none;">
<span style="font-size:22px; font-weight:600; color:#1e293b; letter-spacing:-0.2px; vertical-align:middle;">{{AppName}}</span>
<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>
</table>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
<p style="margin:0 0 16px; font-size:16px; line-height:1.5; color:#1e293b;">
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" .Invite.Email}}
</p>
<p style="margin:0 0 16px; font-size:16px; line-height:1.5; color:#334155;">
<p class="email-text">
{{.locale.Tr "mail.team_invite.text_1" (DotEscape .Inviter.DisplayName) (DotEscape .Team.Name) (DotEscape .Organization.DisplayName)}}
</p>
<p style="margin:0 0 20px; font-size:16px; line-height:1.5; color:#334155;">
<p class="email-subtext">
{{.locale.Tr "mail.team_invite.text_2"}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
</td>
</tr>
<!-- Divider -->
<tr>
<td align="center" style="border-radius:48px; background-color:#1e88e5;" bgcolor="#1e88e5">
<a href="{{.InviteURL}}" style="display:inline-block; padding:14px 36px; font-size:16px; font-weight:500; color:#ffffff; text-decoration:none; background-color:#1e88e5; border-radius:48px; border:1px solid #1e88e5; letter-spacing:0.3px; text-align:center;">Accept Invitation</a>
<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="{{.InviteURL}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:16px 18px; margin:24px 0 16px; word-break:break-word;">
<p style="margin:0 0 8px; font-size:14px; color:#475569; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="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;">
{{.InviteURL}}
</p>
</div>
<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">{{.InviteURL}}</p>
</td>
</tr>
</table>
<p style="margin:16px 0 0; font-size:14px; color:#475569; line-height:1.5;">
<p class="email-subtext" style="margin-top:24px;font-size:12px;color:#475569;">
{{.locale.Tr "mail.team_invite.text_3" .Invite.Email}}
</p>
<div style="height:1px; background:linear-gradient(90deg, transparent, #e2e8f0, transparent); margin:16px 0 8px;"></div>
</div>
</td>
</tr>
<div style="padding:20px 32px 28px; background:#f9fbfd; border-top:1px solid #eef2f6; text-align:left;">
<p style="margin:0; font-size:14px; color:#64748b;">
© <a href="{{AppUrl}}" target="_blank" rel="noopener noreferrer" style="color:#1e88e5; text-decoration:none; font-weight:500; border-bottom:1px dotted #b9d5f0;">{{AppName}}</a>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
<p style="margin:6px 0 0; font-size:12px; color:#94a3b8;">Secure team invitation – if you weren’t expecting this, please ignore this email.</p>
</div>
</div>
</td>
</tr>
</table>
</center>
<div style="display:none; white-space:nowrap; font-size:0; line-height:0;"> </div>
</body>
</html>
@@ -2,72 +2,136 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
.ExternalClass, .ReadMsgBody { width: 100%; background-color: #f4f6f9; }
/* 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:20px;font-weight:600;color:#1e293b }
.email-text { margin:0 0 20px;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;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 h2 { color:#1e293b!important;font-size:20px!important;font-weight:600!important;margin:0 0 16px!important }
.card-body ul { list-style:none!important;padding:0!important;margin:0 0 30px!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-color:#f4f6f9; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.05); overflow:hidden;">
<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 rgba(0,0,0,0.05);overflow:hidden;" class="email-wrap">
<div style="padding:28px 32px 16px; border-bottom:1px solid #eef2f6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; vertical-align:middle; margin-right:12px; border:0; outline:none;">
<span style="font-size:22px; font-weight:600; color:#1e293b; letter-spacing:-0.2px; vertical-align:middle;">{{AppName}}</span>
<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>
</table>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
<h2 style="font-size:20px; font-weight:600; color:#1e293b; margin:0 0 16px;">
{{.Repo.FullName}} {{.Run.WorkflowID}}: {{.RunStatusText}}
</h2>
<!-- Card -->
<tr>
<td class="email-card card-body">
<ul style="list-style: none; padding: 0; margin: 0 0 30px 0;">
<h2>{{.Repo.FullName}} {{.Run.WorkflowID}}: {{.RunStatusText}}</h2>
<ul>
{{range $job := .Jobs}}
<li style="background-color: #ffffff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 12px 16px; margin-bottom: 10px; box-shadow: 0 1px 2px rgba(0,0,0,0.03); transition: box-shadow 0.2s ease;">
<a href="{{$job.HTMLURL}}" style="color:#1e88e5; text-decoration:none; font-weight:500; display:block;">
{{$job.Status}}: {{$job.Name}}{{if gt $job.Attempt 1}}, Attempt #{{$job.Attempt}}{{end}}, {{$job.Duration}}
</a>
<li style="background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px 16px;margin-bottom:10px;">
<a href="{{$job.HTMLURL}}">{{$job.Status}}: {{$job.Name}}{{if gt $job.Attempt 1}}, Attempt #{{$job.Attempt}}{{end}}, {{$job.Duration}}</a>
</li>
{{end}}
</ul>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:16px 0 24px; border-collapse:separate;">
</td>
</tr>
<!-- Divider -->
<tr>
<td align="center" style="border-radius:48px; background-color:#1e88e5;" bgcolor="#1e88e5">
<a href="{{.Run.HTMLURL}}" style="display:inline-block; padding:14px 36px; font-size:16px; font-weight:500; color:#ffffff; text-decoration:none; background-color:#1e88e5; border-radius:48px; border:1px solid #1e88e5; letter-spacing:0.3px; text-align:center;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<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="{{.Run.HTMLURL}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:16px 18px; margin:24px 0 16px; word-break:break-word;">
<p style="margin:0 0 8px; font-size:14px; color:#475569; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="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;">
{{.Run.HTMLURL}}
</p>
</div>
<div style="height:1px; background:linear-gradient(90deg, transparent, #e2e8f0, transparent); margin:16px 0 8px;"></div>
</div>
<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">{{.Run.HTMLURL}}</p>
</td>
</tr>
</table>
<div style="padding:20px 32px 28px; background:#f9fbfd; border-top:1px solid #eef2f6; text-align:left;">
<p style="margin:0; font-size:14px; color:#64748b;">
© <a href="{{AppUrl}}" target="_blank" rel="noopener noreferrer" style="color:#1e88e5; text-decoration:none; font-weight:500; border-bottom:1px dotted #b9d5f0;">{{AppName}}</a>
</p>
<p style="margin:6px 0 0; font-size:12px; color:#94a3b8;">Secure workflow run notification – if you didn’t expect this, please ignore this email.</p>
</div>
</td>
</tr>
</div>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
<div style="display:none; white-space:nowrap; font-size:0; line-height:0;"> </div>
</body>
</html>
+104 -38
View File
@@ -2,62 +2,128 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
.ExternalClass, .ReadMsgBody { width: 100%; background-color: #f4f6f9; }
/* 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 20px;font-size:16px;line-height:1.5;color:#334155 }
.email-text { margin:0 0 20px;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;text-decoration:none;background:#1e88e5;border-radius:48px;border:1px solid #1e88e5;letter-spacing:0.3px;text-align:center }
.email-btn-table { margin:28px 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 }
/* 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-color:#f4f6f9; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.05); overflow:hidden;">
<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 rgba(0,0,0,0.05);overflow:hidden;" class="email-wrap">
<div style="padding:28px 32px 16px; border-bottom:1px solid #eef2f6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; vertical-align:middle; margin-right:12px; border:0; outline:none;">
<span style="font-size:22px; font-weight:600; color:#1e293b; letter-spacing:-0.2px; vertical-align:middle;">{{AppName}}</span>
<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>
</table>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
<p style="margin:0 0 20px; font-size:16px; line-height:1.5; color:#334155;">
{{.locale.Tr "mail.repo.collaborator.added.text"}} <code style="background:#f1f5f9; padding:2px 6px; border-radius:4px; font-size:15px;">{{.RepoName}}</code>.
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.repo.collaborator.added.text"}} <code>{{.RepoName}}</code>.
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
</td>
</tr>
<!-- Divider -->
<tr>
<td align="center" style="border-radius:48px; background-color:#1e88e5;" bgcolor="#1e88e5">
<a href="{{.Link}}" style="display:inline-block; padding:14px 36px; font-size:16px; font-weight:500; color:#ffffff; text-decoration:none; background-color:#1e88e5; border-radius:48px; border:1px solid #1e88e5; letter-spacing:0.3px; text-align:center;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<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>
<div style="background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:16px 18px; margin:24px 0 16px; word-break:break-word;">
<p style="margin:0 0 8px; font-size:14px; color:#475569; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="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;">
{{.Link}}
</p>
</div>
<div style="height:1px; background:linear-gradient(90deg, transparent, #e2e8f0, transparent); margin:16px 0 8px;"></div>
</div>
<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>
<div style="padding:20px 32px 28px; background:#f9fbfd; border-top:1px solid #eef2f6; text-align:left;">
<p style="margin:0; font-size:14px; color:#64748b;">
© <a href="{{AppUrl}}" target="_blank" rel="noopener noreferrer" style="color:#1e88e5; text-decoration:none; font-weight:500; border-bottom:1px dotted #b9d5f0;">{{AppName}}</a>
</p>
<p style="margin:6px 0 0; font-size:12px; color:#94a3b8;">Secure repository collaboration notification – if you didn’t expect this, please ignore this email.</p>
</div>
</td>
</tr>
</div>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
<div style="display:none; white-space:nowrap; font-size:0; line-height:0;"> </div>
</body>
</html>
+105 -39
View File
@@ -2,32 +2,81 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
.ExternalClass, .ReadMsgBody { width: 100%; background-color: #f4f6f9; }
/* 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 20px;font-size:16px;line-height:1.5;color:#334155 }
.email-text { margin:0 0 20px;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;text-decoration:none;background:#1e88e5;border-radius:48px;border:1px solid #1e88e5;letter-spacing:0.3px;text-align:center }
.email-btn-table { margin:28px 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 }
/* 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-color:#f4f6f9; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.05); overflow:hidden;">
<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 rgba(0,0,0,0.05);overflow:hidden;" class="email-wrap">
<div style="padding:28px 32px 16px; border-bottom:1px solid #eef2f6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; vertical-align:middle; margin-right:12px; border:0; outline:none;">
<span style="font-size:22px; font-weight:600; color:#1e293b; letter-spacing:-0.2px; vertical-align:middle;">{{AppName}}</span>
<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>
</table>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
{{$repo_url := HTMLFormat "<a href='%s' style='color:#1e88e5; text-decoration:none; font-weight:500;'>%s</a>" .Issue.Repo.HTMLURL .Issue.Repo.FullName}}
{{$link := HTMLFormat "<a href='%s' style='color:#1e88e5; text-decoration:none; font-weight:500;'>#%d</a>" .Link .Issue.Index}}
<p style="margin:0 0 20px; font-size:16px; line-height:1.5; color:#334155;">
<!-- Card -->
<tr>
<td class="email-card card-body">
{{$repo_url := HTMLFormat "<a href=’%s’>%s</a>" .Issue.Repo.HTMLURL .Issue.Repo.FullName}}
{{$link := HTMLFormat "<a href=’%s’>#%d</a>" .Link .Issue.Index}}
<p class="email-heading">
{{if .IsPull}}
{{.locale.Tr "mail.issue_assigned.pull" .Doer.Name $link $repo_url}}
{{else}}
@@ -35,35 +84,52 @@
{{end}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
</td>
</tr>
<!-- Divider -->
<tr>
<td align="center" style="border-radius:48px; background-color:#1e88e5;" bgcolor="#1e88e5">
<a href="{{.Link}}" style="display:inline-block; padding:14px 36px; font-size:16px; font-weight:500; color:#ffffff; text-decoration:none; background-color:#1e88e5; border-radius:48px; border:1px solid #1e88e5; letter-spacing:0.3px; text-align:center;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<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>
<div style="background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:16px 18px; margin:24px 0 16px; word-break:break-word;">
<p style="margin:0 0 8px; font-size:14px; color:#475569; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="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;">
{{.Link}}
</p>
</div>
<div style="height:1px; background:linear-gradient(90deg, transparent, #e2e8f0, transparent); margin:16px 0 8px;"></div>
</div>
<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>
<div style="padding:20px 32px 28px; background:#f9fbfd; border-top:1px solid #eef2f6; text-align:left;">
<p style="margin:0; font-size:14px; color:#64748b;">
© <a href="{{AppUrl}}" target="_blank" rel="noopener noreferrer" style="color:#1e88e5; text-decoration:none; font-weight:500; border-bottom:1px dotted #b9d5f0;">{{AppName}}</a>
</p>
<p style="margin:6px 0 0; font-size:12px; color:#94a3b8;">Secure issue assignment notification – if you didn’t expect this, please ignore this email.</p>
</div>
</td>
</tr>
</div>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
<div style="display:none; white-space:nowrap; font-size:0; line-height:0;"> </div>
</body>
</html>
+140 -60
View File
@@ -2,51 +2,114 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
.ExternalClass, .ReadMsgBody { width: 100%; background-color: #f4f6f9; }
blockquote { padding-left: 1em; margin: 1em 0; border-left: 1px solid #cbd5e1; color: #475569; }
pre { background: #f1f5f9; padding: 12px; border-radius: 6px; overflow-x: auto; font-size: 14px; line-height: 1.5; }
hr { border: none; border-top: 1px solid #e2e8f0; margin: 20px 0; }
/* 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;text-decoration:none;background:#1e88e5;border-radius:48px;border:1px solid #1e88e5;letter-spacing:0.3px;text-align:center }
.email-btn-table { margin:28px 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 }
/* Content */
.horizon-content,.horizon-content * { color:#334155!important }
.horizon-content a,.horizon-content a:link,.horizon-content a:visited { color:#1e88e5!important;text-decoration:none!important;font-weight:500!important }
.horizon-content a:hover,.horizon-content a:active { color:#1565c0!important }
.horizon-content code,.horizon-content pre { background:#f1f5f9!important;border-color:#e2e8f0!important }
.horizon-content blockquote { border-left:1px solid #cbd5e1!important;color:#475569!important }
.horizon-content hr { border-color:#e2e8f0!important }
.horizon-content img { border:0;max-width:100%!important }
/* Typography utilities */
.card-body a { color:#1e88e5!important;text-decoration:none!important;font-weight:500!important }
.card-body blockquote { padding-left:1em;margin:1em 0;border-left:1px solid #cbd5e1;color:#475569 }
.card-body pre { background:#f1f5f9;padding:12px;border-radius:6px;overflow-x:auto;font-size:14px;line-height:1.5 }
.card-body hr { border:none;border-top:1px solid #e2e8f0;margin:20px 0 }
/* 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-color:#f4f6f9; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.05); overflow:hidden;">
<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 rgba(0,0,0,0.05);overflow:hidden;" class="email-wrap">
<div style="padding:28px 32px 16px; border-bottom:1px solid #eef2f6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; vertical-align:middle; margin-right:12px; border:0; outline:none;">
<span style="font-size:22px; font-weight:600; color:#1e293b; letter-spacing:-0.2px; vertical-align:middle;">{{AppName}}</span>
<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>
</table>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
{{if .IsMention}}<p style="margin:0 0 16px; font-size:16px; line-height:1.5; color:#334155;">{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>{{end}}
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading"></p>
<p class="email-text">
{{if .IsMention}}
<p>{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>
{{end}}
{{if eq .ActionName "push"}}
<p style="margin:0 0 16px; font-size:16px; line-height:1.5; color:#334155;">
<p>
{{if .Comment.IsForcePush}}
{{$oldCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.OldCommit}}
{{$oldShortSha := ShortSha .Comment.OldCommit}}
{{$oldCommitLink := HTMLFormat "<a href='%[1]s' style='color:#1e88e5; text-decoration:none; font-weight:500;'><b>%[2]s</b></a>" $oldCommitUrl $oldShortSha}}
{{$oldCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $oldCommitUrl $oldShortSha}}
{{$newCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.NewCommit}}
{{$newShortSha := ShortSha .Comment.NewCommit}}
{{$newCommitLink := HTMLFormat "<a href='%[1]s' style='color:#1e88e5; text-decoration:none; font-weight:500;'><b>%[2]s</b></a>" $newCommitUrl $newShortSha}}
{{$newCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $newCommitUrl $newShortSha}}
{{.locale.Tr "mail.issue.action.force_push" .Doer.Name .Comment.Issue.PullRequest.HeadBranch $oldCommitLink $newCommitLink}}
{{else}}
{{.locale.TrN (len .Comment.Commits) "mail.issue.action.push_1" "mail.issue.action.push_n" .Doer.Name .Comment.Issue.PullRequest.HeadBranch (len .Comment.Commits)}}
{{end}}
</p>
{{end}}
<p style="margin:0 0 16px; font-size:16px; line-height:1.5; color:#334155;">
<p>
{{if eq .ActionName "close"}}
{{.locale.Tr "mail.issue.action.close" .Doer.Name .Issue.Index}}
{{else if eq .ActionName "reopen"}}
@@ -64,67 +127,84 @@
{{else if eq .ActionName "ready_for_review"}}
{{.locale.Tr "mail.issue.action.ready_for_review" .Doer.Name}}
{{end}}
{{- if eq .Body ""}}
{{if eq .ActionName "new"}}
{{.locale.Tr "mail.issue.action.new" .Doer.Name .Issue.Index}}
{{end}}
{{else}}
{{.Body}}
{{end -}}{{if .CanReply}}&nbsp;{{.locale.Tr "mail.reply"}}{{end}}
<span class="horizon-content">{{.Body}}</span>
{{end -}}
{{if .CanReply}}
&nbsp;{{.locale.Tr "mail.reply"}}
{{end}}
</p>
{{- range .ReviewComments}}
<hr>
<p style="margin:8px 0; font-size:15px; color:#334155;">{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p>
<div style="padding-left: 1em; margin: 1em 0;">
<pre style="background:#f1f5f9; padding: 12px; border-radius:6px; overflow-x:auto; font-size:14px; color:#1e293b;">{{.Patch}}</pre>
<div style="margin-top:8px; font-size:15px; line-height:1.6;">{{.RenderedContent}}</div>
</div>
<p>{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p>
<pre>{{.Patch}}</pre>
<div class="horizon-content">{{.RenderedContent}}</div>
{{end -}}
{{if eq .ActionName "push"}}
<ul style="margin:16px 0; padding-left:20px;">
<ul>
{{range .Comment.Commits}}
<li style="margin-bottom:6px; font-size:15px;">
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}" style="color:#1e88e5; text-decoration:none; font-weight:500;">
{{ShortSha .ID.String}}
</a> - {{.MessageTitle}}
<li>
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}">{{ShortSha .ID.String}}</a> - {{.MessageTitle}}
</li>
{{end}}
</ul>
{{end}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
<p class="email-subtext"></p>
</td>
</tr>
<!-- Divider -->
<tr>
<td align="center" style="border-radius:48px; background-color:#1e88e5;" bgcolor="#1e88e5">
<a href="{{.Link}}" style="display:inline-block; padding:14px 36px; font-size:16px; font-weight:500; color:#ffffff; text-decoration:none; background-color:#1e88e5; border-radius:48px; border:1px solid #1e88e5; letter-spacing:0.3px; text-align:center;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<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>
<div style="background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:16px 18px; margin:24px 0 16px; word-break:break-word;">
<p style="margin:0 0 8px; font-size:14px; color:#475569; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="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;">
{{.Link}}
</p>
</div>
<div style="height:1px; background:linear-gradient(90deg, transparent, #e2e8f0, transparent); margin:16px 0 8px;"></div>
</div>
<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>
<div style="padding:20px 32px 28px; background:#f9fbfd; border-top:1px solid #eef2f6; text-align:left;">
<p style="margin:0; font-size:14px; color:#64748b;">
© <a href="{{AppUrl}}" target="_blank" rel="noopener noreferrer" style="color:#1e88e5; text-decoration:none; font-weight:500; border-bottom:1px dotted #b9d5f0;">{{AppName}}</a>
</p>
<p style="margin:6px 0 0; font-size:12px; color:#94a3b8;">Secure notification – if you didn't expect this, please ignore this email.</p>
</div>
</td>
</tr>
</div>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
<div style="display:none; white-space:nowrap; font-size:0; line-height:0;"> </div>
</body>
</html>
+125 -51
View File
@@ -2,95 +2,169 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
.ExternalClass, .ReadMsgBody { width: 100%; background-color: #f4f6f9; }
blockquote { padding-left: 1em; margin: 1em 0; border-left: 1px solid #cbd5e1; color: #475569; }
ul { margin: 12px 0 16px; padding-left: 20px; }
li { margin-bottom: 6px; font-size: 15px; line-height: 1.5; color: #334155; }
/* 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;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-color:#f4f6f9; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.05); overflow:hidden;">
<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 rgba(0,0,0,0.05);overflow:hidden;" class="email-wrap">
<div style="padding:28px 32px 16px; border-bottom:1px solid #eef2f6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; vertical-align:middle; margin-right:12px; border:0; outline:none;">
<span style="font-size:22px; font-weight:600; color:#1e293b; letter-spacing:-0.2px; vertical-align:middle;">{{AppName}}</span>
<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>
</table>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
{{$release_url := HTMLFormat "<a href='%s' style='color:#1e88e5; text-decoration:none; font-weight:500;'>%s</a>" .Release.HTMLURL .Release.TagName}}
{{$repo_url := HTMLFormat "<a href='%s' style='color:#1e88e5; text-decoration:none; font-weight:500;'>%s</a>" .Release.Repo.HTMLURL .Release.Repo.FullName}}
<p style="margin:0 0 16px; font-size:16px; line-height:1.5; color:#334155;">
<!-- 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 style="margin:24px 0 8px; font-size:18px; font-weight:600; color:#1e293b;">{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
<h4>{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
{{if .Release.RenderedNote}}
{{.locale.Tr "mail.release.note"}}<br>
<div style="margin:12px 0 16px; font-size:15px; line-height:1.6; color:#334155;">
{{.Release.RenderedNote}}
</div>
<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 style="margin:0 0 24px; padding-left:20px;">
<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" style="color:#1e88e5; text-decoration:none; font-weight:500;">{{.locale.Tr "mail.release.download.zip"}}</a>
<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" style="color:#1e88e5; text-decoration:none; font-weight:500;">{{.locale.Tr "mail.release.download.targz"}}</a>
<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" style="color:#1e88e5; text-decoration:none; font-weight:500;">{{.Name}} ({{.Size | FileSize}})</a>
<a href="{{.DownloadURL}}" target="_blank">{{.Name}} ({{.Size | FileSize}})</a>
</li>
{{end}}
{{end}}
</ul>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:16px 0 24px; border-collapse:separate;">
</td>
</tr>
<!-- Divider -->
<tr>
<td align="center" style="border-radius:48px; background-color:#1e88e5;" bgcolor="#1e88e5">
<a href="{{.Link}}" style="display:inline-block; padding:14px 36px; font-size:16px; font-weight:500; color:#ffffff; text-decoration:none; background-color:#1e88e5; border-radius:48px; border:1px solid #1e88e5; letter-spacing:0.3px; text-align:center;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<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>
<div style="background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:16px 18px; margin:24px 0 16px; word-break:break-word;">
<p style="margin:0 0 8px; font-size:14px; color:#475569; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="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;">
{{.Link}}
</p>
</div>
<div style="height:1px; background:linear-gradient(90deg, transparent, #e2e8f0, transparent); margin:16px 0 8px;"></div>
</div>
<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>
<div style="padding:20px 32px 28px; background:#f9fbfd; border-top:1px solid #eef2f6; text-align:left;">
<p style="margin:0; font-size:14px; color:#64748b;">
© <a href="{{AppUrl}}" target="_blank" rel="noopener noreferrer" style="color:#1e88e5; text-decoration:none; font-weight:500; border-bottom:1px dotted #b9d5f0;">{{AppName}}</a>
</p>
<p style="margin:6px 0 0; font-size:12px; color:#94a3b8;">Secure release notification – if you didn't expect this, please ignore this email.</p>
</div>
</td>
</tr>
</div>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
<div style="display:none; white-space:nowrap; font-size:0; line-height:0;"> </div>
</body>
</html>
+104 -38
View File
@@ -2,63 +2,129 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
.ExternalClass, .ReadMsgBody { width: 100%; background-color: #f4f6f9; }
/* 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 20px;font-size:16px;line-height:1.5;color:#334155 }
.email-text { margin:0 0 20px;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;text-decoration:none;background:#1e88e5;border-radius:48px;border:1px solid #1e88e5;letter-spacing:0.3px;text-align:center }
.email-btn-table { margin:28px 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 }
/* 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-color:#f4f6f9; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.05); overflow:hidden;">
<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 rgba(0,0,0,0.05);overflow:hidden;" class="email-wrap">
<div style="padding:28px 32px 16px; border-bottom:1px solid #eef2f6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; vertical-align:middle; margin-right:12px; border:0; outline:none;">
<span style="font-size:22px; font-weight:600; color:#1e293b; letter-spacing:-0.2px; vertical-align:middle;">{{AppName}}</span>
<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>
</table>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
{{$url := HTMLFormat "<a href='%[1]s' style='color:#1e88e5; text-decoration:none; font-weight:500;'>%[2]s</a>" .Link .Repo}}
<p style="margin:0 0 20px; font-size:16px; line-height:1.5; color:#334155;">
<!-- Card -->
<tr>
<td class="email-card card-body">
{{$url := HTMLFormat "<a href=’%[1]s’>%[2]s</a>" .Link .Repo}}
<p class="email-heading">
{{.Subject}}. {{.locale.Tr "mail.repo.transfer.body" $url}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
</td>
</tr>
<!-- Divider -->
<tr>
<td align="center" style="border-radius:48px; background-color:#1e88e5;" bgcolor="#1e88e5">
<a href="{{.Link}}" style="display:inline-block; padding:14px 36px; font-size:16px; font-weight:500; color:#ffffff; text-decoration:none; background-color:#1e88e5; border-radius:48px; border:1px solid #1e88e5; letter-spacing:0.3px; text-align:center;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<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>
<div style="background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:16px 18px; margin:24px 0 16px; word-break:break-word;">
<p style="margin:0 0 8px; font-size:14px; color:#475569; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="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;">
{{.Link}}
</p>
</div>
<div style="height:1px; background:linear-gradient(90deg, transparent, #e2e8f0, transparent); margin:16px 0 8px;"></div>
</div>
<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>
<div style="padding:20px 32px 28px; background:#f9fbfd; border-top:1px solid #eef2f6; text-align:left;">
<p style="margin:0; font-size:14px; color:#64748b;">
© <a href="{{AppUrl}}" target="_blank" rel="noopener noreferrer" style="color:#1e88e5; text-decoration:none; font-weight:500; border-bottom:1px dotted #b9d5f0;">{{AppName}}</a>
</p>
<p style="margin:6px 0 0; font-size:12px; color:#94a3b8;">Secure repository transfer notification – if you didn’t expect this, please ignore this email.</p>
</div>
</td>
</tr>
</div>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
<div style="display:none; white-space:nowrap; font-size:0; line-height:0;"> </div>
</body>
</html>
+109 -40
View File
@@ -2,69 +2,138 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
.ExternalClass, .ReadMsgBody { width: 100%; background-color: #f4f6f9; }
/* 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 8px;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;text-decoration:none;background:#1e88e5;border-radius:48px;border:1px solid #1e88e5;letter-spacing:0.3px;text-align:center }
.email-btn-table { margin:28px 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 { color:#1e88e5!important;text-decoration:none!important;font-weight:500!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-color:#f4f6f9; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.05); overflow:hidden;">
<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 rgba(0,0,0,0.05);overflow:hidden;" class="email-wrap">
<div style="padding:28px 32px 16px; border-bottom:1px solid #eef2f6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; vertical-align:middle; margin-right:12px; border:0; outline:none;">
<span style="font-size:22px; font-weight:600; color:#1e293b; letter-spacing:-0.2px; vertical-align:middle;">{{AppName}}</span>
<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>
</table>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
<p style="margin:0 0 16px; font-size:16px; line-height:1.5; color:#1e293b;">
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 8px; font-size:16px; line-height:1.5; color:#334155;">
<p class="email-text">
{{.locale.Tr "mail.activate_account.text_1" (.DisplayName|DotEscape) AppName}}
</p>
<p style="margin:0 0 20px; font-size:16px; line-height:1.5; color:#334155;">
<p class="email-subtext">
{{.locale.Tr "mail.activate_account.text_2" .ActiveCodeLives}}
</p>
{{$activate_url := printf "%suser/activate?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
</td>
</tr>
<!-- Divider -->
<tr>
<td align="center" style="border-radius:48px; background-color:#1e88e5;" bgcolor="#1e88e5">
<a href="{{$activate_url}}" style="display:inline-block; padding:14px 36px; font-size:16px; font-weight:500; color:#ffffff; text-decoration:none; background-color:#1e88e5; border-radius:48px; border:1px solid #1e88e5; letter-spacing:0.3px; text-align:center;">Activate Account</a>
<td class="email-divider"></td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
{{$activate_url := printf "%suser/activate?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-table">
<tr>
<td align="center">
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_account"}}</a>
</td>
</tr>
</table>
<div style="background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:16px 18px; margin:24px 0 16px; word-break:break-word;">
<p style="margin:0 0 8px; font-size:14px; color:#475569; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="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;">
{{$activate_url}}
</p>
</div>
<div style="height:1px; background:linear-gradient(90deg, transparent, #e2e8f0, transparent); margin:16px 0 8px;"></div>
</div>
<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">{{$activate_url}}</p>
</td>
</tr>
</table>
<div style="padding:20px 32px 28px; background:#f9fbfd; border-top:1px solid #eef2f6; text-align:left;">
<p style="margin:0; font-size:14px; color:#64748b;">
© <a href="{{AppUrl}}" target="_blank" rel="noopener noreferrer" style="color:#1e88e5; text-decoration:none; font-weight:500; border-bottom:1px dotted #b9d5f0;">{{AppName}}</a>
</p>
<p style="margin:6px 0 0; font-size:12px; color:#94a3b8;">Secure account activation – if you didn’t register, please ignore this email.</p>
</div>
</td>
</tr>
</div>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
<div style="display:none; white-space:nowrap; font-size:0; line-height:0;"> </div>
</body>
</html>
+107 -39
View File
@@ -2,66 +2,134 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
.ExternalClass, .ReadMsgBody { width: 100%; background-color: #f4f6f9; }
/* 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 20px;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;text-decoration:none;background:#1e88e5;border-radius:48px;border:1px solid #1e88e5;letter-spacing:0.3px;text-align:center }
.email-btn-table { margin:28px 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 { color:#1e88e5!important;text-decoration:none!important;font-weight:500!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-color:#f4f6f9; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.05); overflow:hidden;">
<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 rgba(0,0,0,0.05);overflow:hidden;" class="email-wrap">
<div style="padding:28px 32px 16px; border-bottom:1px solid #eef2f6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; vertical-align:middle; margin-right:12px; border:0; outline:none;">
<span style="font-size:22px; font-weight:600; color:#1e293b; letter-spacing:-0.2px; vertical-align:middle;">{{AppName}}</span>
<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>
</table>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
<p style="margin:0 0 16px; font-size:16px; line-height:1.5; color:#1e293b;">
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 20px; font-size:16px; line-height:1.5; color:#334155;">
<p class="email-text">
{{.locale.Tr "mail.activate_email.text" .ActiveCodeLives}}
</p>
{{$activate_url := printf "%suser/activate_email?code=%s&email=%s" AppUrl (QueryEscape .Code) (QueryEscape .Email)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
</td>
</tr>
<!-- Divider -->
<tr>
<td align="center" style="border-radius:48px; background-color:#1e88e5;" bgcolor="#1e88e5">
<a href="{{$activate_url}}" style="display:inline-block; padding:14px 36px; font-size:16px; font-weight:500; color:#ffffff; text-decoration:none; background-color:#1e88e5; border-radius:48px; border:1px solid #1e88e5; letter-spacing:0.3px; text-align:center;">Verify Email Address</a>
<td class="email-divider"></td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
{{$activate_url := printf "%suser/activate_email?code=%s&email=%s" AppUrl (QueryEscape .Code) (QueryEscape .Email)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-table">
<tr>
<td align="center">
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_email"}}</a>
</td>
</tr>
</table>
<div style="background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:16px 18px; margin:24px 0 16px; word-break:break-word;">
<p style="margin:0 0 8px; font-size:14px; color:#475569; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="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;">
{{$activate_url}}
</p>
</div>
<div style="height:1px; background:linear-gradient(90deg, transparent, #e2e8f0, transparent); margin:16px 0 8px;"></div>
</div>
<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">{{$activate_url}}</p>
</td>
</tr>
</table>
<div style="padding:20px 32px 28px; background:#f9fbfd; border-top:1px solid #eef2f6; text-align:left;">
<p style="margin:0; font-size:14px; color:#64748b;">
© <a href="{{AppUrl}}" target="_blank" rel="noopener noreferrer" style="color:#1e88e5; text-decoration:none; font-weight:500; border-bottom:1px dotted #b9d5f0;">{{AppName}}</a>
</p>
<p style="margin:6px 0 0; font-size:12px; color:#94a3b8;">Secure email verification – if you didn’t request this, please ignore this email.</p>
</div>
</td>
</tr>
</div>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
<div style="display:none; white-space:nowrap; font-size:0; line-height:0;"> </div>
</body>
</html>
@@ -2,72 +2,141 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}
</title>
<style type="text/css">
.ExternalClass, .ReadMsgBody { width: 100%; background-color: #f4f6f9; }
/* 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 8px;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;text-decoration:none;background:#1e88e5;border-radius:48px;border:1px solid #1e88e5;letter-spacing:0.3px;text-align:center }
.email-btn-table { margin:28px 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 { color:#1e88e5!important;text-decoration:none!important;font-weight:500!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-color:#f4f6f9; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.05); overflow:hidden;">
<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 rgba(0,0,0,0.05);overflow:hidden;" class="email-wrap">
<div style="padding:28px 32px 16px; border-bottom:1px solid #eef2f6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; vertical-align:middle; margin-right:12px; border:0; outline:none;">
<span style="font-size:22px; font-weight:600; color:#1e293b; letter-spacing:-0.2px; vertical-align:middle;">{{AppName}}</span>
<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>
</table>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
<p style="margin:0 0 16px; font-size:16px; line-height:1.5; color:#1e293b;">
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 8px; font-size:16px; line-height:1.5; color:#334155;">
<p class="email-text">
{{.locale.Tr "mail.register_notify.text_1" AppName}}
</p>
<p style="margin:0 0 20px; font-size:16px; line-height:1.5; color:#334155;">
<p class="email-subtext">
{{.locale.Tr "mail.register_notify.text_2" .Username}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
</td>
</tr>
<!-- Divider -->
<tr>
<td align="center" style="border-radius:48px; background-color:#1e88e5;" bgcolor="#1e88e5">
<a href="{{AppUrl}}user/login" style="display:inline-block; padding:14px 36px; font-size:16px; font-weight:500; color:#ffffff; text-decoration:none; background-color:#1e88e5; border-radius:48px; border:1px solid #1e88e5; letter-spacing:0.3px; text-align:center;">Log in to {{AppName}}</a>
<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="{{AppUrl}}user/login" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
{{$set_pwd_url := printf "%suser/forgot_password" AppUrl}}
<p style="margin:0 0 20px; font-size:16px; line-height:1.5; color:#334155;">
<p style="margin:0 0 20px;font-size:16px;line-height:1.5;color:#334155;">
{{.locale.Tr "mail.register_notify.text_3" $set_pwd_url}}
</p>
<div style="background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:16px 18px; margin:24px 0 16px; word-break:break-word;">
<p style="margin:0 0 8px; font-size:14px; color:#475569; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="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;">
{{AppUrl}}user/login
</p>
</div>
<div style="height:1px; background:linear-gradient(90deg, transparent, #e2e8f0, transparent); margin:16px 0 8px;"></div>
</div>
<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">{{AppUrl}}user/login</p>
</td>
</tr>
</table>
<div style="padding:20px 32px 28px; background:#f9fbfd; border-top:1px solid #eef2f6; text-align:left;">
<p style="margin:0; font-size:14px; color:#64748b;">
© <a href="{{AppUrl}}" target="_blank" rel="noopener noreferrer" style="color:#1e88e5; text-decoration:none; font-weight:500; border-bottom:1px dotted #b9d5f0;">{{AppName}}</a>
</p>
<p style="margin:6px 0 0; font-size:12px; color:#94a3b8;">Secure registration confirmation – if you didn’t register, please ignore this email.</p>
</div>
</td>
</tr>
</div>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
<div style="display:none; white-space:nowrap; font-size:0; line-height:0;"> </div>
</body>
</html>
+107 -38
View File
@@ -2,65 +2,134 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
.ExternalClass, .ReadMsgBody { width: 100%; background-color: #f4f6f9; }
/* 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 20px;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;text-decoration:none;background:#1e88e5;border-radius:48px;border:1px solid #1e88e5;letter-spacing:0.3px;text-align:center }
.email-btn-table { margin:28px 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 { color:#1e88e5!important;text-decoration:none!important;font-weight:500!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-color:#f4f6f9; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#ffffff; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.05); overflow:hidden;">
<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 rgba(0,0,0,0.05);overflow:hidden;" class="email-wrap">
<div style="padding:28px 32px 16px; border-bottom:1px solid #eef2f6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" style="display:inline-block; vertical-align:middle; margin-right:12px; border:0; outline:none;">
<span style="font-size:22px; font-weight:600; color:#1e293b; letter-spacing:-0.2px; vertical-align:middle;">{{AppName}}</span>
<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>
</table>
</div>
<div style="padding:32px 32px 24px; color:#334155;">
<p style="margin:0 0 16px; font-size:16px; line-height:1.5; color:#1e293b;">
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 20px; font-size:16px; line-height:1.5; color:#334155;">
<p class="email-text">
{{.locale.Tr "mail.reset_password.text" .ResetPwdCodeLives}}
</p>
{{$recover_url := printf "%suser/recover_account?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:28px 0 24px; border-collapse:separate;">
</td>
</tr>
<!-- Divider -->
<tr>
<td align="center" style="border-radius:48px; background-color:#1e88e5;" bgcolor="#1e88e5">
<a href="{{$recover_url}}" style="display:inline-block; padding:14px 36px; font-size:16px; font-weight:500; color:#ffffff; text-decoration:none; background-color:#1e88e5; border-radius:48px; border:1px solid #1e88e5; letter-spacing:0.3px; text-align:center;">Reset Password</a>
<td class="email-divider"></td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
{{$recover_url := printf "%suser/recover_account?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-table">
<tr>
<td align="center">
<a href="{{$recover_url}}" class="email-btn">{{.locale.Tr "mail.reset_password"}}</a>
</td>
</tr>
</table>
<div style="background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:16px 18px; margin:24px 0 16px; word-break:break-word;">
<p style="margin:0 0 8px; font-size:14px; color:#475569; line-height:1.5;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="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;">
{{$recover_url}}
</p>
</div>
<div style="height:1px; background:linear-gradient(90deg, transparent, #e2e8f0, transparent); margin:16px 0 8px;"></div>
</div>
<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">{{$recover_url}}</p>
</td>
</tr>
</table>
<div style="padding:20px 32px 28px; background:#f9fbfd; border-top:1px solid #eef2f6; text-align:left;">
<p style="margin:0; font-size:14px; color:#64748b;">
© <a href="{{AppUrl}}" target="_blank" rel="noopener noreferrer" style="color:#1e88e5; text-decoration:none; font-weight:500; border-bottom:1px dotted #b9d5f0;">{{AppName}}</a>
</p>
<p style="margin:6px 0 0; font-size:12px; color:#94a3b8;">Secure password reset link – if you didn’t request this, please ignore this email.</p>
</div>
</td>
</tr>
</div>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
<div style="display:none; white-space:nowrap; font-size:0; line-height:0;"> </div>
</body>
</html>
+126 -43
View File
@@ -4,56 +4,139 @@
<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>{{AppName}} - Team Invitation</title>
<title>
{{.locale.Tr "mail.team_invite.subject" (.Inviter.DisplayName|DotEscape) (.Organization.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#ede4d4}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-col{width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#ede4d4 }
.email-wrap { max-width:600px;margin:20px auto;font-family:Georgia,'Times New Roman',serif;background:#fefdfb;border:1px solid #c4a97d }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px }
.email-header { padding:24px 28px 16px;border-bottom:3px double #1a1a2e }
/* Card */
.email-card { padding:24px 24px 16px 28px;vertical-align:top;color:#333 }
.email-heading { margin:0 0 16px;font-size:15px;color:#333;line-height:1.7 }
.email-text { margin:0 0 12px;font-size:13px;line-height:1.8;color:#444 }
.email-subtext { margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#ddd;margin:0 }
/* Button */
.email-btn-row { padding:0;text-align:left }
.email-btn { display:inline-block;padding:10px 24px;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;background:#1a1a2e;border:1px solid #c4a97d;font-variant:small-caps;letter-spacing:1px }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid #c4a97d;background:#fefdfb }
.email-link-label { margin:0 0 4px;font-size:10px;color:#888;font-style:italic }
.email-link-url { margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all }
/* Footer */
.email-footer { padding:16px 28px;border-top:1px solid #ccc;text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#888;font-style:italic }
.email-footer-link { color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d }
/* Typography utilities */
.card-body a:not(.email-btn),.card-body a:not(.email-btn):link,.card-body a:not(.email-btn):visited { color:#1a1a2e!important;text-decoration:underline!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important }
.email-btn { display:block!important;width:auto!important;text-align:center!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#ede4d4;font-family:Georgia,'Times New Roman',serif;-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:#fefdfb;border:1px solid #c4a97d;">
<!-- masthead -->
<tr><td colspan="2" class="resp-pad" style="padding:24px 28px 16px;border-bottom:3px double #1a1a2e;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" style="display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none;" />
<span style="font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px;">{{AppName}}</span><br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td></tr>
<!-- two-column body -->
<tr>
<!-- left column -->
<td class="resp-col" width="64%" style="padding:24px 24px 16px 28px;vertical-align:top;">
<p style="margin:0 0 16px;font-size:15px;color:#333;line-height:1.7;">
<span style="float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif;">D</span>{{.locale.Tr "mail.hi_user_x" .Invite.Email}}
</p>
<p style="margin:0 0 12px;font-size:13px;line-height:1.8;color:#444;">{{.locale.Tr "mail.team_invite.text_1" (DotEscape .Inviter.DisplayName) (DotEscape .Team.Name) (DotEscape .Organization.DisplayName)}}</p>
<p style="margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic;">{{.locale.Tr "mail.team_invite.text_2"}}</p>
<p style="margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic;">{{.locale.Tr "mail.team_invite.text_3" .Invite.Email}}</p>
<table border="0" cellpadding="0" cellspacing="0" style="margin:0 0 24px;"><tr><td style="padding:10px 24px;background:#1a1a2e;border:1px solid #c4a97d;">
<a href="{{.InviteURL}}" class="resp-btn" style="display:inline-block;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;font-variant:small-caps;letter-spacing:1px;">{{.locale.Tr "mail.view_it_on" AppName}} &raquo;</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #c4a97d;background:#fefdfb;"><tr><td style="padding:12px 14px;">
<p style="margin:0 0 4px;font-size:10px;color:#888;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all;">{{.InviteURL}}</p>
</td></tr></table>
</td>
<!-- right column / sidebar -->
<td class="resp-col" width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr><td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td></tr>
</table>
<body style="margin:0;padding:0;background:#ede4d4;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td colspan="2" class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td>
</tr>
<!-- footer -->
<tr><td colspan="2" style="padding:16px 28px;border-top:1px solid #ccc;text-align:center;">
<p style="margin:0;font-size:11px;color:#888;font-style:italic;">&copy; <a href="{{AppUrl}}" style="color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<!-- Card -->
<tr>
<!-- left column -->
<td width="64%" class="email-card card-body">
<p class="email-heading">
<span style="float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif;">D</span>{{.locale.Tr "mail.hi_user_x" .Invite.Email}}
</p>
<p class="email-text">
{{.locale.Tr "mail.team_invite.text_1" (DotEscape .Inviter.DisplayName) (DotEscape .Team.Name) (DotEscape .Organization.DisplayName)}}
</p>
<p class="email-subtext">
{{.locale.Tr "mail.team_invite.text_2"}}
</p>
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<a href="{{.InviteURL}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}} &raquo;</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:12px 14px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.InviteURL}}</p>
</td>
</tr>
</table>
<p class="email-subtext" style="margin-top:16px;padding:0 28px;">
{{.locale.Tr "mail.team_invite.text_3" .Invite.Email}}
</p>
</td>
<!-- right column / sidebar -->
<td width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr>
<td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td colspan="2" class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+122 -42
View File
@@ -4,55 +4,135 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#ede4d4}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-col{width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#ede4d4 }
.email-wrap { max-width:600px;margin:20px auto;font-family:Georgia,'Times New Roman',serif;background:#fefdfb;border:1px solid #c4a97d }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px }
.email-header { padding:24px 28px 16px;border-bottom:3px double #1a1a2e }
/* Card */
.email-card { padding:24px 24px 16px 28px;vertical-align:top;color:#333 }
.email-heading { margin:0 0 16px;font-size:15px;color:#333;line-height:1.7 }
.email-text { margin:0 0 12px;font-size:13px;line-height:1.8;color:#444 }
.email-subtext { margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#ddd;margin:0 }
/* Button */
.email-btn-row { padding:0;text-align:left }
.email-btn { display:inline-block;padding:10px 24px;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;background:#1a1a2e;border:1px solid #c4a97d;font-variant:small-caps;letter-spacing:1px }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid #c4a97d;background:#fefdfb }
.email-link-label { margin:0 0 4px;font-size:10px;color:#888;font-style:italic }
.email-link-url { margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all }
/* Footer */
.email-footer { padding:16px 28px;border-top:1px solid #ccc;text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#888;font-style:italic }
.email-footer-link { color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d }
/* Typography utilities */
.card-body a:not(.email-btn),.card-body a:not(.email-btn):link,.card-body a:not(.email-btn):visited { color:#1a1a2e!important;text-decoration:underline!important }
.card-body h2 { color:#1a1a2e!important;font-size:18px!important;font-weight:700!important;margin:0 0 12px!important }
.card-body ul { list-style:none!important;padding:0!important;margin:0 0 24px!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important }
.email-btn { display:block!important;width:auto!important;text-align:center!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#ede4d4;font-family:Georgia,'Times New Roman',serif;-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:#fefdfb;border:1px solid #c4a97d;">
<!-- masthead -->
<tr><td colspan="2" class="resp-pad" style="padding:24px 28px 16px;border-bottom:3px double #1a1a2e;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" style="display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none;" />
<span style="font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px;">{{AppName}}</span><br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td></tr>
<!-- two-column body -->
<tr>
<!-- left column -->
<td class="resp-col" width="64%" style="padding:24px 24px 16px 28px;vertical-align:top;">
<p style="margin:0 0 16px;font-size:15px;color:#333;line-height:1.7;">
<span style="float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif;">D</span>
</p>
<p style="margin:0 0 12px;font-size:13px;line-height:1.8;color:#444;"><h2>{{.Repo.FullName}} - {{.Run.WorkflowID}}: {{.RunStatusText}}</h2><ul>{{range $job := .Jobs}}<li><a href="{{$job.HTMLURL}}">{{$job.Status}}: {{$job.Name}}{{if gt $job.Attempt 1}} (retry #{{$job.Attempt}}){{end}} - {{$job.Duration}}</a></li>{{end}}</ul></p>
<p style="margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic;"></p>
<table border="0" cellpadding="0" cellspacing="0" style="margin:0 0 24px;"><tr><td style="padding:10px 24px;background:#1a1a2e;border:1px solid #c4a97d;">
<a href="{{.Run.HTMLURL}}" class="resp-btn" style="display:inline-block;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;font-variant:small-caps;letter-spacing:1px;">{{.locale.Tr "mail.view_it_on" AppName}} &raquo;</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #c4a97d;background:#fefdfb;"><tr><td style="padding:12px 14px;">
<p style="margin:0 0 4px;font-size:10px;color:#888;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all;">{{.Run.HTMLURL}}</p>
</td></tr></table>
</td>
<!-- right column / sidebar -->
<td class="resp-col" width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr><td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td></tr>
</table>
<body style="margin:0;padding:0;background:#ede4d4;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td colspan="2" class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td>
</tr>
<!-- footer -->
<tr><td colspan="2" style="padding:16px 28px;border-top:1px solid #ccc;text-align:center;">
<p style="margin:0;font-size:11px;color:#888;font-style:italic;">&copy; <a href="{{AppUrl}}" style="color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<!-- Card -->
<tr>
<!-- left column -->
<td width="64%" class="email-card card-body">
<h2>{{.Repo.FullName}} - {{.Run.WorkflowID}}: {{.RunStatusText}}</h2>
<ul>
{{range $job := .Jobs}}
<li style="background:#fefdfb;border:1px solid #c4a97d;padding:12px 16px;margin-bottom:8px;">
<a href="{{$job.HTMLURL}}">{{$job.Status}}: {{$job.Name}}{{if gt $job.Attempt 1}} (retry #{{$job.Attempt}}){{end}} - {{$job.Duration}}</a>
</li>
{{end}}
</ul>
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<a href="{{.Run.HTMLURL}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}} &raquo;</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:12px 14px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Run.HTMLURL}}</p>
</td>
</tr>
</table>
</td>
<!-- right column / sidebar -->
<td width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr>
<td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td colspan="2" class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+114 -42
View File
@@ -4,55 +4,127 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#ede4d4}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-col{width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#ede4d4 }
.email-wrap { max-width:600px;margin:20px auto;font-family:Georgia,'Times New Roman',serif;background:#fefdfb;border:1px solid #c4a97d }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px }
.email-header { padding:24px 28px 16px;border-bottom:3px double #1a1a2e }
/* Card */
.email-card { padding:24px 24px 16px 28px;vertical-align:top;color:#333 }
.email-heading { margin:0 0 16px;font-size:15px;color:#333;line-height:1.7 }
.email-text { margin:0 0 12px;font-size:13px;line-height:1.8;color:#444 }
.email-subtext { margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#ddd;margin:0 }
/* Button */
.email-btn-row { padding:0;text-align:left }
.email-btn { display:inline-block;padding:10px 24px;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;background:#1a1a2e;border:1px solid #c4a97d;font-variant:small-caps;letter-spacing:1px }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid #c4a97d;background:#fefdfb }
.email-link-label { margin:0 0 4px;font-size:10px;color:#888;font-style:italic }
.email-link-url { margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all }
/* Footer */
.email-footer { padding:16px 28px;border-top:1px solid #ccc;text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#888;font-style:italic }
.email-footer-link { color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d }
/* Typography utilities */
.card-body a:not(.email-btn),.card-body a:not(.email-btn):link,.card-body a:not(.email-btn):visited { color:#1a1a2e!important;text-decoration:underline!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important }
.email-btn { display:block!important;width:auto!important;text-align:center!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#ede4d4;font-family:Georgia,'Times New Roman',serif;-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:#fefdfb;border:1px solid #c4a97d;">
<!-- masthead -->
<tr><td colspan="2" class="resp-pad" style="padding:24px 28px 16px;border-bottom:3px double #1a1a2e;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" style="display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none;" />
<span style="font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px;">{{AppName}}</span><br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td></tr>
<!-- two-column body -->
<tr>
<!-- left column -->
<td class="resp-col" width="64%" style="padding:24px 24px 16px 28px;vertical-align:top;">
<p style="margin:0 0 16px;font-size:15px;color:#333;line-height:1.7;">
<span style="float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif;">D</span>
</p>
<p style="margin:0 0 12px;font-size:13px;line-height:1.8;color:#444;">{{.locale.Tr "mail.repo.collaborator.added.text"}} <code>{{.RepoName}}</code>.</p>
<p style="margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic;"></p>
<table border="0" cellpadding="0" cellspacing="0" style="margin:0 0 24px;"><tr><td style="padding:10px 24px;background:#1a1a2e;border:1px solid #c4a97d;">
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;font-variant:small-caps;letter-spacing:1px;">{{.locale.Tr "mail.view_it_on" AppName}} &raquo;</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #c4a97d;background:#fefdfb;"><tr><td style="padding:12px 14px;">
<p style="margin:0 0 4px;font-size:10px;color:#888;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td>
<!-- right column / sidebar -->
<td class="resp-col" width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr><td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td></tr>
</table>
<body style="margin:0;padding:0;background:#ede4d4;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td colspan="2" class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td>
</tr>
<!-- footer -->
<tr><td colspan="2" style="padding:16px 28px;border-top:1px solid #ccc;text-align:center;">
<p style="margin:0;font-size:11px;color:#888;font-style:italic;">&copy; <a href="{{AppUrl}}" style="color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<!-- Card -->
<tr>
<!-- left column -->
<td width="64%" class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.repo.collaborator.added.text"}} <code>{{.RepoName}}</code>.
</p>
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}} &raquo;</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:12px 14px;">
<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>
<!-- right column / sidebar -->
<td width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr>
<td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td colspan="2" class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+120 -42
View File
@@ -4,55 +4,133 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#ede4d4}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-col{width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#ede4d4 }
.email-wrap { max-width:600px;margin:20px auto;font-family:Georgia,'Times New Roman',serif;background:#fefdfb;border:1px solid #c4a97d }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px }
.email-header { padding:24px 28px 16px;border-bottom:3px double #1a1a2e }
/* Card */
.email-card { padding:24px 24px 16px 28px;vertical-align:top;color:#333 }
.email-heading { margin:0 0 16px;font-size:15px;color:#333;line-height:1.7 }
.email-text { margin:0 0 12px;font-size:13px;line-height:1.8;color:#444 }
.email-subtext { margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#ddd;margin:0 }
/* Button */
.email-btn-row { padding:0;text-align:left }
.email-btn { display:inline-block;padding:10px 24px;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;background:#1a1a2e;border:1px solid #c4a97d;font-variant:small-caps;letter-spacing:1px }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid #c4a97d;background:#fefdfb }
.email-link-label { margin:0 0 4px;font-size:10px;color:#888;font-style:italic }
.email-link-url { margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all }
/* Footer */
.email-footer { padding:16px 28px;border-top:1px solid #ccc;text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#888;font-style:italic }
.email-footer-link { color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d }
/* Typography utilities */
.card-body a:not(.email-btn),.card-body a:not(.email-btn):link,.card-body a:not(.email-btn):visited { color:#1a1a2e!important;text-decoration:underline!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important }
.email-btn { display:block!important;width:auto!important;text-align:center!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#ede4d4;font-family:Georgia,'Times New Roman',serif;-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:#fefdfb;border:1px solid #c4a97d;">
<!-- masthead -->
<tr><td colspan="2" class="resp-pad" style="padding:24px 28px 16px;border-bottom:3px double #1a1a2e;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" style="display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none;" />
<span style="font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px;">{{AppName}}</span><br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td></tr>
<!-- two-column body -->
<tr>
<!-- left column -->
<td class="resp-col" width="64%" style="padding:24px 24px 16px 28px;vertical-align:top;">
<p style="margin:0 0 16px;font-size:15px;color:#333;line-height:1.7;">
<span style="float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif;">D</span>
</p>
<p style="margin:0 0 12px;font-size:13px;line-height:1.8;color:#444;">{{$repo_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Issue.Repo.HTMLURL .Issue.Repo.FullName}}{{$link := HTMLFormat "<a href=\047%s\047>#%d</a>" .Link .Issue.Index}}{{if .IsPull}}{{.locale.Tr "mail.issue_assigned.pull" .Doer.Name $link $repo_url}}{{else}}{{.locale.Tr "mail.issue_assigned.issue" .Doer.Name $link $repo_url}}{{end}}</p>
<p style="margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic;"></p>
<table border="0" cellpadding="0" cellspacing="0" style="margin:0 0 24px;"><tr><td style="padding:10px 24px;background:#1a1a2e;border:1px solid #c4a97d;">
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;font-variant:small-caps;letter-spacing:1px;">{{.locale.Tr "mail.view_it_on" AppName}} &raquo;</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #c4a97d;background:#fefdfb;"><tr><td style="padding:12px 14px;">
<p style="margin:0 0 4px;font-size:10px;color:#888;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td>
<!-- right column / sidebar -->
<td class="resp-col" width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr><td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td></tr>
</table>
<body style="margin:0;padding:0;background:#ede4d4;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td colspan="2" class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td>
</tr>
<!-- footer -->
<tr><td colspan="2" style="padding:16px 28px;border-top:1px solid #ccc;text-align:center;">
<p style="margin:0;font-size:11px;color:#888;font-style:italic;">&copy; <a href="{{AppUrl}}" style="color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<!-- Card -->
<tr>
<!-- left column -->
<td width="64%" class="email-card card-body">
{{$repo_url := HTMLFormat "<a href='%s'>%s</a>" .Issue.Repo.HTMLURL .Issue.Repo.FullName}}
{{$link := HTMLFormat "<a href='%s'>#%d</a>" .Link .Issue.Index}}
<p class="email-heading">
{{if .IsPull}}
{{.locale.Tr "mail.issue_assigned.pull" .Doer.Name $link $repo_url}}
{{else}}
{{.locale.Tr "mail.issue_assigned.issue" .Doer.Name $link $repo_url}}
{{end}}
</p>
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}} &raquo;</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:12px 14px;">
<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>
<!-- right column / sidebar -->
<td width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr>
<td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td colspan="2" class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+192 -43
View File
@@ -4,56 +4,205 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#ede4d4}
blockquote { padding-left: 1em; margin: 1em 0; border-left: 1px solid #c4a97d; color: #777 }
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-col{width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#ede4d4 }
.email-wrap { max-width:600px;margin:20px auto;font-family:Georgia,'Times New Roman',serif;background:#fefdfb;border:1px solid #c4a97d }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px }
.email-header { padding:24px 28px 16px;border-bottom:3px double #1a1a2e }
/* Card */
.email-card { padding:24px 24px 16px 28px;vertical-align:top;color:#333 }
.email-heading { margin:0 0 16px;font-size:15px;color:#333;line-height:1.7 }
.email-text { margin:0 0 12px;font-size:13px;line-height:1.8;color:#444 }
.email-subtext { margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#ddd;margin:0 }
/* Button */
.email-btn-row { padding:0;text-align:left }
.email-btn { display:inline-block;padding:10px 24px;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;background:#1a1a2e;border:1px solid #c4a97d;font-variant:small-caps;letter-spacing:1px }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid #c4a97d;background:#fefdfb }
.email-link-label { margin:0 0 4px;font-size:10px;color:#888;font-style:italic }
.email-link-url { margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all }
/* Footer */
.email-footer { padding:16px 28px;border-top:1px solid #ccc;text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#888;font-style:italic }
.email-footer-link { color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d }
/* Content */
.ink-content,.ink-content * { color:#444!important }
.ink-content a,.ink-content a:link,.ink-content a:visited { color:#1a1a2e!important;text-decoration:underline!important }
.ink-content blockquote { border-left:1px solid #c4a97d!important;color:#777!important }
.ink-content code,.ink-content pre { color:#1a1a2e!important;background:#f5f0e8!important;border-color:#ddd!important }
.ink-content hr { border-color:#ddd!important }
.ink-content img { border:0;max-width:100%!important }
/* Typography utilities */
.card-body a:not(.email-btn),.card-body a:not(.email-btn):link,.card-body a:not(.email-btn):visited { color:#1a1a2e!important;text-decoration:underline!important }
.card-body blockquote { padding-left:1em;margin:1em 0;border-left:1px solid #c4a97d;color:#777 }
.card-body hr { border:none;border-top:1px solid #ddd;margin:16px 0 }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important }
.email-btn { display:block!important;width:auto!important;text-align:center!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#ede4d4;font-family:Georgia,'Times New Roman',serif;-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:#fefdfb;border:1px solid #c4a97d;">
<!-- masthead -->
<tr><td colspan="2" class="resp-pad" style="padding:24px 28px 16px;border-bottom:3px double #1a1a2e;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" style="display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none;" />
<span style="font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px;">{{AppName}}</span><br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td></tr>
<!-- two-column body -->
<tr>
<!-- left column -->
<td class="resp-col" width="64%" style="padding:24px 24px 16px 28px;vertical-align:top;">
<p style="margin:0 0 16px;font-size:15px;color:#333;line-height:1.7;">
<span style="float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif;">D</span>
</p>
<p style="margin:0 0 12px;font-size:13px;line-height:1.8;color:#444;">{{if .IsMention}}<p>{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>{{end}}{{if eq .ActionName "push"}}<p>{{if .Comment.IsForcePush}}{{$oldCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.OldCommit}}{{$oldShortSha := ShortSha .Comment.OldCommit}}{{$oldCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $oldCommitUrl $oldShortSha}}{{$newCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.NewCommit}}{{$newShortSha := ShortSha .Comment.NewCommit}}{{$newCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $newCommitUrl $newShortSha}}{{.locale.Tr "mail.issue.action.force_push" .Doer.Name .Comment.Issue.PullRequest.HeadBranch $oldCommitLink $newCommitLink}}{{else}}{{.locale.TrN (len .Comment.Commits) "mail.issue.action.push_1" "mail.issue.action.push_n" .Doer.Name .Comment.Issue.PullRequest.HeadBranch (len .Comment.Commits)}}{{end}}</p>{{end}}<p>{{if eq .ActionName "close"}}{{.locale.Tr "mail.issue.action.close" .Doer.Name .Issue.Index}}{{else if eq .ActionName "reopen"}}{{.locale.Tr "mail.issue.action.reopen" .Doer.Name .Issue.Index}}{{else if eq .ActionName "merge"}}{{.locale.Tr "mail.issue.action.merge" .Doer.Name .Issue.Index .Issue.PullRequest.BaseBranch}}{{else if eq .ActionName "approve"}}{{.locale.Tr "mail.issue.action.approve" .Doer.Name}}{{else if eq .ActionName "reject"}}{{.locale.Tr "mail.issue.action.reject" .Doer.Name}}{{else if eq .ActionName "review"}}{{.locale.Tr "mail.issue.action.review" .Doer.Name}}{{else if eq .ActionName "review_dismissed"}}{{.locale.Tr "mail.issue.action.review_dismissed" .Doer.Name .Comment.Review.Reviewer.Name}}{{else if eq .ActionName "ready_for_review"}}{{.locale.Tr "mail.issue.action.ready_for_review" .Doer.Name}}{{end}}{{- if eq .Body ""}}{{if eq .ActionName "new"}}{{.locale.Tr "mail.issue.action.new" .Doer.Name .Issue.Index}}{{end}}{{else}}{{.Body}}{{end -}}</p>{{- range .ReviewComments}}<hr><p>{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p><pre>{{.Patch}}</pre><div>{{.RenderedContent}}</div>{{end -}}{{if eq .ActionName "push"}}<ul>{{range .Comment.Commits}}<li><a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}">{{ShortSha .ID.String}}</a> - {{.MessageTitle}}</li>{{end}}</ul>{{end}}</p>
<p style="margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic;"></p>
<table border="0" cellpadding="0" cellspacing="0" style="margin:0 0 24px;"><tr><td style="padding:10px 24px;background:#1a1a2e;border:1px solid #c4a97d;">
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;font-variant:small-caps;letter-spacing:1px;">{{.locale.Tr "mail.view_it_on" AppName}} &raquo;</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #c4a97d;background:#fefdfb;"><tr><td style="padding:12px 14px;">
<p style="margin:0 0 4px;font-size:10px;color:#888;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td>
<!-- right column / sidebar -->
<td class="resp-col" width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr><td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td></tr>
</table>
<body style="margin:0;padding:0;background:#ede4d4;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td colspan="2" class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td>
</tr>
<!-- footer -->
<tr><td colspan="2" style="padding:16px 28px;border-top:1px solid #ccc;text-align:center;">
<p style="margin:0;font-size:11px;color:#888;font-style:italic;">&copy; <a href="{{AppUrl}}" style="color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d;">{{AppName}}</a> &mdash; <a href="{{.Link}}" style="color:#1a1a2e;text-decoration:none;">{{.locale.Tr "mail.view_it_on" AppName}}</a>{{if .CanReply}}&nbsp;{{.locale.Tr "mail.reply"}}{{end}}.</p>
</td></tr>
<!-- Card -->
<tr>
<!-- left column -->
<td width="64%" class="email-card card-body">
<p class="email-heading">
<span style="float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif;">D</span>
</p>
<p class="email-text">
{{if .IsMention}}
<p>{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>
{{end}}
{{if eq .ActionName "push"}}
<p>
{{if .Comment.IsForcePush}}
{{$oldCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.OldCommit}}
{{$oldShortSha := ShortSha .Comment.OldCommit}}
{{$oldCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $oldCommitUrl $oldShortSha}}
{{$newCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.NewCommit}}
{{$newShortSha := ShortSha .Comment.NewCommit}}
{{$newCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $newCommitUrl $newShortSha}}
{{.locale.Tr "mail.issue.action.force_push" .Doer.Name .Comment.Issue.PullRequest.HeadBranch $oldCommitLink $newCommitLink}}
{{else}}
{{.locale.TrN (len .Comment.Commits) "mail.issue.action.push_1" "mail.issue.action.push_n" .Doer.Name .Comment.Issue.PullRequest.HeadBranch (len .Comment.Commits)}}
{{end}}
</p>
{{end}}
<p>
{{if eq .ActionName "close"}}
{{.locale.Tr "mail.issue.action.close" .Doer.Name .Issue.Index}}
{{else if eq .ActionName "reopen"}}
{{.locale.Tr "mail.issue.action.reopen" .Doer.Name .Issue.Index}}
{{else if eq .ActionName "merge"}}
{{.locale.Tr "mail.issue.action.merge" .Doer.Name .Issue.Index .Issue.PullRequest.BaseBranch}}
{{else if eq .ActionName "approve"}}
{{.locale.Tr "mail.issue.action.approve" .Doer.Name}}
{{else if eq .ActionName "reject"}}
{{.locale.Tr "mail.issue.action.reject" .Doer.Name}}
{{else if eq .ActionName "review"}}
{{.locale.Tr "mail.issue.action.review" .Doer.Name}}
{{else if eq .ActionName "review_dismissed"}}
{{.locale.Tr "mail.issue.action.review_dismissed" .Doer.Name .Comment.Review.Reviewer.Name}}
{{else if eq .ActionName "ready_for_review"}}
{{.locale.Tr "mail.issue.action.ready_for_review" .Doer.Name}}
{{end}}
{{- if eq .Body ""}}
{{if eq .ActionName "new"}}
{{.locale.Tr "mail.issue.action.new" .Doer.Name .Issue.Index}}
{{end}}
{{else}}
<span class="ink-content">{{.Body}}</span>
{{end -}}
</p>
{{- range .ReviewComments}}
<hr>
<p>{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p>
<pre>{{.Patch}}</pre>
<div class="ink-content">{{.RenderedContent}}</div>
{{end -}}
{{if eq .ActionName "push"}}
<ul>
{{range .Comment.Commits}}
<li>
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}">{{ShortSha .ID.String}}</a> - {{.MessageTitle}}
</li>
{{end}}
</ul>
{{end}}
</p>
<p class="email-subtext"></p>
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}} &raquo;{{if .CanReply}}&nbsp;{{.locale.Tr "mail.reply"}}{{end}}</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:12px 14px;">
<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>
<!-- right column / sidebar -->
<td width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr>
<td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td colspan="2" class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+141 -47
View File
@@ -4,60 +4,154 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#ede4d4}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-col{width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#ede4d4 }
.email-wrap { max-width:600px;margin:20px auto;font-family:Georgia,'Times New Roman',serif;background:#fefdfb;border:1px solid #c4a97d }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px }
.email-header { padding:24px 28px 16px;border-bottom:3px double #1a1a2e }
/* Card */
.email-card { padding:24px 24px 16px 28px;vertical-align:top;color:#333 }
.email-heading { margin:0 0 16px;font-size:15px;color:#333;line-height:1.7 }
.email-text { margin:0 0 12px;font-size:13px;line-height:1.8;color:#444 }
.email-subtext { margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#ddd;margin:0 }
/* Button */
.email-btn-row { padding:0;text-align:left }
.email-btn { display:inline-block;padding:10px 24px;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;background:#1a1a2e;border:1px solid #c4a97d;font-variant:small-caps;letter-spacing:1px }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid #c4a97d;background:#fefdfb }
.email-link-label { margin:0 0 4px;font-size:10px;color:#888;font-style:italic }
.email-link-url { margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all }
/* Footer */
.email-footer { padding:16px 28px;border-top:1px solid #ccc;text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#888;font-style:italic }
.email-footer-link { color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d }
/* Content */
.ink-content,.ink-content * { color:#444!important }
/* Typography utilities */
.card-body a:not(.email-btn),.card-body a:not(.email-btn):link,.card-body a:not(.email-btn):visited { color:#1a1a2e!important;text-decoration:underline!important }
.card-body h4 { color:#1a1a2e!important;margin:16px 0 8px!important;font-size:15px!important;font-weight:700!important }
.card-body ul { margin:0 0 16px!important;padding-left:20px!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important }
.email-btn { display:block!important;width:auto!important;text-align:center!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#ede4d4;font-family:Georgia,'Times New Roman',serif;-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:#fefdfb;border:1px solid #c4a97d;">
<!-- masthead -->
<tr><td colspan="2" class="resp-pad" style="padding:24px 28px 16px;border-bottom:3px double #1a1a2e;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" style="display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none;" />
<span style="font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px;">{{AppName}}</span><br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td></tr>
<!-- two-column body -->
<tr>
<!-- left column -->
<td class="resp-col" width="64%" style="padding:24px 24px 16px 28px;vertical-align:top;">
<p style="margin:0 0 16px;font-size:15px;color:#333;line-height:1.7;">
<span style="float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif;">D</span>
</p>
<p style="margin:0 0 12px;font-size:13px;line-height:1.8;color:#444;">{{$release_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Release.HTMLURL .Release.TagName}}{{$repo_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Release.Repo.HTMLURL .Release.Repo.FullName}}{{.locale.Tr "mail.release.new.text" .Release.Publisher.Name $release_url $repo_url}}
<h4>{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
<p>{{.locale.Tr "mail.release.note"}}<br>
{{if .Release.RenderedNote}}<div>{{.Release.RenderedNote}}</div>{{end}}</p>
<p>{{.locale.Tr "mail.release.downloads"}}</p>
<ul>{{if not .DisableDownloadSourceArchives}}<li><a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.zip">{{.locale.Tr "mail.release.download.zip"}}</a></li><li><a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.tar.gz">{{.locale.Tr "mail.release.download.targz"}}</a></li>{{end}}{{if .Release.Attachments}}{{range .Release.Attachments}}<li><a href="{{.DownloadURL}}">{{.Name}} ({{.Size | FileSize}})</a></li>{{end}}{{end}}</ul></p>
<p style="margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic;"></p>
<table border="0" cellpadding="0" cellspacing="0" style="margin:0 0 24px;"><tr><td style="padding:10px 24px;background:#1a1a2e;border:1px solid #c4a97d;">
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;font-variant:small-caps;letter-spacing:1px;">{{.locale.Tr "mail.view_it_on" AppName}} &raquo;</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #c4a97d;background:#fefdfb;"><tr><td style="padding:12px 14px;">
<p style="margin:0 0 4px;font-size:10px;color:#888;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td>
<!-- right column / sidebar -->
<td class="resp-col" width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr><td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td></tr>
</table>
<body style="margin:0;padding:0;background:#ede4d4;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td colspan="2" class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td>
</tr>
<!-- footer -->
<tr><td colspan="2" style="padding:16px 28px;border-top:1px solid #ccc;text-align:center;">
<p style="margin:0;font-size:11px;color:#888;font-style:italic;">&copy; <a href="{{AppUrl}}" style="color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<!-- Card -->
<tr>
<!-- left column -->
<td width="64%" 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="ink-content">{{.Release.RenderedNote}}</div>
{{end}}
<p style="margin:16px 0 8px;font-weight:700;color:#1a1a2e;">{{.locale.Tr "mail.release.downloads"}}</p>
<ul>
{{if not .DisableDownloadSourceArchives}}
<li><a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.zip">{{.locale.Tr "mail.release.download.zip"}}</a></li>
<li><a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.tar.gz">{{.locale.Tr "mail.release.download.targz"}}</a></li>
{{end}}
{{if .Release.Attachments}}
{{range .Release.Attachments}}
<li><a href="{{.DownloadURL}}">{{.Name}} ({{.Size | FileSize}})</a></li>
{{end}}
{{end}}
</ul>
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}} &raquo;</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:12px 14px;">
<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>
<!-- right column / sidebar -->
<td width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr>
<td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td colspan="2" class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+115 -42
View File
@@ -4,55 +4,128 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#ede4d4}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-col{width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#ede4d4 }
.email-wrap { max-width:600px;margin:20px auto;font-family:Georgia,'Times New Roman',serif;background:#fefdfb;border:1px solid #c4a97d }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px }
.email-header { padding:24px 28px 16px;border-bottom:3px double #1a1a2e }
/* Card */
.email-card { padding:24px 24px 16px 28px;vertical-align:top;color:#333 }
.email-heading { margin:0 0 16px;font-size:15px;color:#333;line-height:1.7 }
.email-text { margin:0 0 12px;font-size:13px;line-height:1.8;color:#444 }
.email-subtext { margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#ddd;margin:0 }
/* Button */
.email-btn-row { padding:0;text-align:left }
.email-btn { display:inline-block;padding:10px 24px;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;background:#1a1a2e;border:1px solid #c4a97d;font-variant:small-caps;letter-spacing:1px }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid #c4a97d;background:#fefdfb }
.email-link-label { margin:0 0 4px;font-size:10px;color:#888;font-style:italic }
.email-link-url { margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all }
/* Footer */
.email-footer { padding:16px 28px;border-top:1px solid #ccc;text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#888;font-style:italic }
.email-footer-link { color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d }
/* Typography utilities */
.card-body a:not(.email-btn),.card-body a:not(.email-btn):link,.card-body a:not(.email-btn):visited { color:#1a1a2e!important;text-decoration:underline!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important }
.email-btn { display:block!important;width:auto!important;text-align:center!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#ede4d4;font-family:Georgia,'Times New Roman',serif;-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:#fefdfb;border:1px solid #c4a97d;">
<!-- masthead -->
<tr><td colspan="2" class="resp-pad" style="padding:24px 28px 16px;border-bottom:3px double #1a1a2e;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" style="display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none;" />
<span style="font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px;">{{AppName}}</span><br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td></tr>
<!-- two-column body -->
<tr>
<!-- left column -->
<td class="resp-col" width="64%" style="padding:24px 24px 16px 28px;vertical-align:top;">
<p style="margin:0 0 16px;font-size:15px;color:#333;line-height:1.7;">
<span style="float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif;">D</span>
</p>
<p style="margin:0 0 12px;font-size:13px;line-height:1.8;color:#444;">{{$url := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" .Link .Repo}}{{.Subject}}. {{.locale.Tr "mail.repo.transfer.body" $url}}</p>
<p style="margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic;"></p>
<table border="0" cellpadding="0" cellspacing="0" style="margin:0 0 24px;"><tr><td style="padding:10px 24px;background:#1a1a2e;border:1px solid #c4a97d;">
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;font-variant:small-caps;letter-spacing:1px;">{{.locale.Tr "mail.view_it_on" AppName}} &raquo;</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #c4a97d;background:#fefdfb;"><tr><td style="padding:12px 14px;">
<p style="margin:0 0 4px;font-size:10px;color:#888;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td>
<!-- right column / sidebar -->
<td class="resp-col" width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr><td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td></tr>
</table>
<body style="margin:0;padding:0;background:#ede4d4;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td colspan="2" class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td>
</tr>
<!-- footer -->
<tr><td colspan="2" style="padding:16px 28px;border-top:1px solid #ccc;text-align:center;">
<p style="margin:0;font-size:11px;color:#888;font-style:italic;">&copy; <a href="{{AppUrl}}" style="color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<!-- Card -->
<tr>
<!-- left column -->
<td width="64%" class="email-card card-body">
{{$url := HTMLFormat "<a href='%[1]s'>%[2]s</a>" .Link .Repo}}
<p class="email-heading">
{{.Subject}}. {{.locale.Tr "mail.repo.transfer.body" $url}}
</p>
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}} &raquo;</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:12px 14px;">
<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>
<!-- right column / sidebar -->
<td width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr>
<td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td colspan="2" class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+126 -42
View File
@@ -4,56 +4,140 @@
<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>{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}</title>
<title>
{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#ede4d4}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-col{width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#ede4d4 }
.email-wrap { max-width:600px;margin:20px auto;font-family:Georgia,'Times New Roman',serif;background:#fefdfb;border:1px solid #c4a97d }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px }
.email-header { padding:24px 28px 16px;border-bottom:3px double #1a1a2e }
/* Card */
.email-card { padding:24px 24px 16px 28px;vertical-align:top;color:#333 }
.email-heading { margin:0 0 16px;font-size:15px;color:#333;line-height:1.7 }
.email-text { margin:0 0 12px;font-size:13px;line-height:1.8;color:#444 }
.email-subtext { margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#ddd;margin:0 }
/* Button */
.email-btn-row { padding:0;text-align:left }
.email-btn { display:inline-block;padding:10px 24px;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;background:#1a1a2e;border:1px solid #c4a97d;font-variant:small-caps;letter-spacing:1px }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid #c4a97d;background:#fefdfb }
.email-link-label { margin:0 0 4px;font-size:10px;color:#888;font-style:italic }
.email-link-url { margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all }
/* Footer */
.email-footer { padding:16px 28px;border-top:1px solid #ccc;text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#888;font-style:italic }
.email-footer-link { color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d }
/* Typography utilities */
.card-body a:not(.email-btn),.card-body a:not(.email-btn):link,.card-body a:not(.email-btn):visited { color:#1a1a2e!important;text-decoration:underline!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important }
.email-btn { display:block!important;width:auto!important;text-align:center!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#ede4d4;font-family:Georgia,'Times New Roman',serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#ede4d4;-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:#fefdfb;border:1px solid #c4a97d;">
<!-- masthead -->
<tr><td colspan="2" class="resp-pad" style="padding:24px 28px 16px;border-bottom:3px double #1a1a2e;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" style="display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none;" />
<span style="font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px;">{{AppName}}</span><br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td></tr>
<!-- two-column body -->
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<!-- left column -->
<td class="resp-col" width="64%" style="padding:24px 24px 16px 28px;vertical-align:top;">
<p style="margin:0 0 16px;font-size:15px;color:#333;line-height:1.7;">
<span style="float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif;">D</span>{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 12px;font-size:13px;line-height:1.8;color:#444;">{{.locale.Tr "mail.activate_account.text_1" (.DisplayName|DotEscape) AppName}}</p>
<p style="margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic;">{{.locale.Tr "mail.activate_account.text_2" .ActiveCodeLives}}</p>
{{$activate_url := printf "%suser/activate?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" style="margin:0 0 24px;"><tr><td style="padding:10px 24px;background:#1a1a2e;border:1px solid #c4a97d;">
<a href="{{$activate_url}}" class="resp-btn" style="display:inline-block;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;font-variant:small-caps;letter-spacing:1px;">Activate Account &raquo;</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #c4a97d;background:#fefdfb;"><tr><td style="padding:12px 14px;">
<p style="margin:0 0 4px;font-size:10px;color:#888;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all;">{{$activate_url}}</p>
</td></tr></table>
</td>
<!-- right column / sidebar -->
<td class="resp-col" width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr><td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td></tr>
<tr><td style="padding:8px 0;border-top:1px solid #ddd;font-size:11px;color:#555;font-family:system-ui,sans-serif;">Expires<br /><strong style="color:#1a1a2e;">{{.ActiveCodeLives}}</strong></td></tr>
</table>
<td colspan="2" class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td>
</tr>
<!-- footer -->
<tr><td colspan="2" style="padding:16px 28px;border-top:1px solid #ccc;text-align:center;">
<p style="margin:0;font-size:11px;color:#888;font-style:italic;">&copy; <a href="{{AppUrl}}" style="color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<!-- Card -->
<tr>
<!-- left column -->
<td width="64%" class="email-card card-body">
<p class="email-heading">
<span style="float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif;">D</span>{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p class="email-text">
{{.locale.Tr "mail.activate_account.text_1" (.DisplayName|DotEscape) AppName}}
</p>
<p class="email-subtext">
{{.locale.Tr "mail.activate_account.text_2" .ActiveCodeLives}}
</p>
{{$activate_url := printf "%suser/activate?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_account"}} &raquo;</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:12px 14px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$activate_url}}</p>
</td>
</tr>
</table>
</td>
<!-- right column / sidebar -->
<td width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr>
<td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td>
</tr>
<tr>
<td style="padding:8px 0;border-top:1px solid #ddd;font-size:11px;color:#555;font-family:system-ui,sans-serif;">Expires<br /><strong style="color:#1a1a2e;">{{.ActiveCodeLives}}</strong></td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td colspan="2" class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+122 -42
View File
@@ -4,56 +4,136 @@
<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>{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}</title>
<title>
{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#ede4d4}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-col{width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#ede4d4 }
.email-wrap { max-width:600px;margin:20px auto;font-family:Georgia,'Times New Roman',serif;background:#fefdfb;border:1px solid #c4a97d }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px }
.email-header { padding:24px 28px 16px;border-bottom:3px double #1a1a2e }
/* Card */
.email-card { padding:24px 24px 16px 28px;vertical-align:top;color:#333 }
.email-heading { margin:0 0 16px;font-size:15px;color:#333;line-height:1.7 }
.email-text { margin:0 0 12px;font-size:13px;line-height:1.8;color:#444 }
.email-subtext { margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#ddd;margin:0 }
/* Button */
.email-btn-row { padding:0;text-align:left }
.email-btn { display:inline-block;padding:10px 24px;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;background:#1a1a2e;border:1px solid #c4a97d;font-variant:small-caps;letter-spacing:1px }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid #c4a97d;background:#fefdfb }
.email-link-label { margin:0 0 4px;font-size:10px;color:#888;font-style:italic }
.email-link-url { margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all }
/* Footer */
.email-footer { padding:16px 28px;border-top:1px solid #ccc;text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#888;font-style:italic }
.email-footer-link { color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d }
/* Typography utilities */
.card-body a:not(.email-btn),.card-body a:not(.email-btn):link,.card-body a:not(.email-btn):visited { color:#1a1a2e!important;text-decoration:underline!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important }
.email-btn { display:block!important;width:auto!important;text-align:center!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#ede4d4;font-family:Georgia,'Times New Roman',serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#ede4d4;-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:#fefdfb;border:1px solid #c4a97d;">
<!-- masthead -->
<tr><td colspan="2" class="resp-pad" style="padding:24px 28px 16px;border-bottom:3px double #1a1a2e;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" style="display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none;" />
<span style="font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px;">{{AppName}}</span><br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td></tr>
<!-- two-column body -->
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<!-- left column -->
<td class="resp-col" width="64%" style="padding:24px 24px 16px 28px;vertical-align:top;">
<p style="margin:0 0 16px;font-size:15px;color:#333;line-height:1.7;">
<span style="float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif;">D</span>{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 12px;font-size:13px;line-height:1.8;color:#444;">{{.locale.Tr "mail.activate_email.text" .ActiveCodeLives}}</p>
<p style="margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic;"></p>
{{$activate_url := printf "%suser/activate_email?code=%s&email=%s" AppUrl (QueryEscape .Code) (QueryEscape .Email)}}
<table border="0" cellpadding="0" cellspacing="0" style="margin:0 0 24px;"><tr><td style="padding:10px 24px;background:#1a1a2e;border:1px solid #c4a97d;">
<a href="{{$activate_url}}" class="resp-btn" style="display:inline-block;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;font-variant:small-caps;letter-spacing:1px;">Activate Account &raquo;</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #c4a97d;background:#fefdfb;"><tr><td style="padding:12px 14px;">
<p style="margin:0 0 4px;font-size:10px;color:#888;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all;">{{$activate_url}}</p>
</td></tr></table>
</td>
<!-- right column / sidebar -->
<td class="resp-col" width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr><td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td></tr>
<tr><td style="padding:8px 0;border-top:1px solid #ddd;font-size:11px;color:#555;font-family:system-ui,sans-serif;">Expires<br /><strong style="color:#1a1a2e;">{{.ActiveCodeLives}}</strong></td></tr>
</table>
<td colspan="2" class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td>
</tr>
<!-- footer -->
<tr><td colspan="2" style="padding:16px 28px;border-top:1px solid #ccc;text-align:center;">
<p style="margin:0;font-size:11px;color:#888;font-style:italic;">&copy; <a href="{{AppUrl}}" style="color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<!-- Card -->
<tr>
<!-- left column -->
<td width="64%" class="email-card card-body">
<p class="email-heading">
<span style="float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif;">D</span>{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p class="email-text">
{{.locale.Tr "mail.activate_email.text" .ActiveCodeLives}}
</p>
{{$activate_url := printf "%suser/activate_email?code=%s&email=%s" AppUrl (QueryEscape .Code) (QueryEscape .Email)}}
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_email"}} &raquo;</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:12px 14px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$activate_url}}</p>
</td>
</tr>
</table>
</td>
<!-- right column / sidebar -->
<td width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr>
<td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td>
</tr>
<tr>
<td style="padding:8px 0;border-top:1px solid #ddd;font-size:11px;color:#555;font-family:system-ui,sans-serif;">Expires<br /><strong style="color:#1a1a2e;">{{.ActiveCodeLives}}</strong></td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td colspan="2" class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+124 -44
View File
@@ -4,57 +4,137 @@
<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>{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}</title>
<title>
{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#ede4d4}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-col{width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#ede4d4 }
.email-wrap { max-width:600px;margin:20px auto;font-family:Georgia,'Times New Roman',serif;background:#fefdfb;border:1px solid #c4a97d }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px }
.email-header { padding:24px 28px 16px;border-bottom:3px double #1a1a2e }
/* Card */
.email-card { padding:24px 24px 16px 28px;vertical-align:top;color:#333 }
.email-heading { margin:0 0 16px;font-size:15px;color:#333;line-height:1.7 }
.email-text { margin:0 0 12px;font-size:13px;line-height:1.8;color:#444 }
.email-subtext { margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#ddd;margin:0 }
/* Button */
.email-btn-row { padding:0;text-align:left }
.email-btn { display:inline-block;padding:10px 24px;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;background:#1a1a2e;border:1px solid #c4a97d;font-variant:small-caps;letter-spacing:1px }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid #c4a97d;background:#fefdfb }
.email-link-label { margin:0 0 4px;font-size:10px;color:#888;font-style:italic }
.email-link-url { margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all }
/* Footer */
.email-footer { padding:16px 28px;border-top:1px solid #ccc;text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#888;font-style:italic }
.email-footer-link { color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d }
/* Typography utilities */
.card-body a:not(.email-btn),.card-body a:not(.email-btn):link,.card-body a:not(.email-btn):visited { color:#1a1a2e!important;text-decoration:underline!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important }
.email-btn { display:block!important;width:auto!important;text-align:center!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#ede4d4;font-family:Georgia,'Times New Roman',serif;-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:#fefdfb;border:1px solid #c4a97d;">
<!-- masthead -->
<tr><td colspan="2" class="resp-pad" style="padding:24px 28px 16px;border-bottom:3px double #1a1a2e;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" style="display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none;" />
<span style="font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px;">{{AppName}}</span><br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td></tr>
<!-- two-column body -->
<tr>
<!-- left column -->
<td class="resp-col" width="64%" style="padding:24px 24px 16px 28px;vertical-align:top;">
<p style="margin:0 0 16px;font-size:15px;color:#333;line-height:1.7;">
<span style="float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif;">D</span>{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 12px;font-size:13px;line-height:1.8;color:#444;">{{.locale.Tr "mail.register_notify.text_1" AppName}}</p>
<p style="margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic;">{{.locale.Tr "mail.register_notify.text_2" .Username}}
{{$set_pwd_url := printf "%suser/forgot_password" AppUrl}}
{{.locale.Tr "mail.register_notify.text_3" $set_pwd_url}}</p>
<table border="0" cellpadding="0" cellspacing="0" style="margin:0 0 24px;"><tr><td style="padding:10px 24px;background:#1a1a2e;border:1px solid #c4a97d;">
<a href="{{AppUrl}}user/login" class="resp-btn" style="display:inline-block;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;font-variant:small-caps;letter-spacing:1px;">{{.locale.Tr "mail.view_it_on" AppName}} &raquo;</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #c4a97d;background:#fefdfb;"><tr><td style="padding:12px 14px;">
<p style="margin:0 0 4px;font-size:10px;color:#888;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all;">{{AppUrl}}user/login</p>
</td></tr></table>
</td>
<!-- right column / sidebar -->
<td class="resp-col" width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr><td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td></tr>
</table>
<body style="margin:0;padding:0;background:#ede4d4;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td colspan="2" class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td>
</tr>
<!-- footer -->
<tr><td colspan="2" style="padding:16px 28px;border-top:1px solid #ccc;text-align:center;">
<p style="margin:0;font-size:11px;color:#888;font-style:italic;">&copy; <a href="{{AppUrl}}" style="color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<!-- Card -->
<tr>
<!-- left column -->
<td width="64%" class="email-card card-body">
<p class="email-heading">
<span style="float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif;">D</span>{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p class="email-text">
{{.locale.Tr "mail.register_notify.text_1" AppName}}
</p>
<p class="email-subtext">
{{.locale.Tr "mail.register_notify.text_2" .Username}}
{{$set_pwd_url := printf "%suser/forgot_password" AppUrl}}
{{.locale.Tr "mail.register_notify.text_3" $set_pwd_url}}
</p>
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<a href="{{AppUrl}}user/login" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}} &raquo;</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:12px 14px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{AppUrl}}user/login</p>
</td>
</tr>
</table>
</td>
<!-- right column / sidebar -->
<td width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr>
<td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td colspan="2" class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+122 -42
View File
@@ -4,56 +4,136 @@
<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>{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}</title>
<title>
{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#ede4d4}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-col{width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#ede4d4 }
.email-wrap { max-width:600px;margin:20px auto;font-family:Georgia,'Times New Roman',serif;background:#fefdfb;border:1px solid #c4a97d }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px }
.email-header { padding:24px 28px 16px;border-bottom:3px double #1a1a2e }
/* Card */
.email-card { padding:24px 24px 16px 28px;vertical-align:top;color:#333 }
.email-heading { margin:0 0 16px;font-size:15px;color:#333;line-height:1.7 }
.email-text { margin:0 0 12px;font-size:13px;line-height:1.8;color:#444 }
.email-subtext { margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#ddd;margin:0 }
/* Button */
.email-btn-row { padding:0;text-align:left }
.email-btn { display:inline-block;padding:10px 24px;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;background:#1a1a2e;border:1px solid #c4a97d;font-variant:small-caps;letter-spacing:1px }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid #c4a97d;background:#fefdfb }
.email-link-label { margin:0 0 4px;font-size:10px;color:#888;font-style:italic }
.email-link-url { margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all }
/* Footer */
.email-footer { padding:16px 28px;border-top:1px solid #ccc;text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#888;font-style:italic }
.email-footer-link { color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d }
/* Typography utilities */
.card-body a:not(.email-btn),.card-body a:not(.email-btn):link,.card-body a:not(.email-btn):visited { color:#1a1a2e!important;text-decoration:underline!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important;border-left:none!important;padding-left:28px!important;padding-right:28px!important;padding-top:0!important }
.email-btn { display:block!important;width:auto!important;text-align:center!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#ede4d4;font-family:Georgia,'Times New Roman',serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#ede4d4;-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:#fefdfb;border:1px solid #c4a97d;">
<!-- masthead -->
<tr><td colspan="2" class="resp-pad" style="padding:24px 28px 16px;border-bottom:3px double #1a1a2e;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" style="display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none;" />
<span style="font-size:18px;font-weight:700;color:#1a1a2e;font-variant:small-caps;letter-spacing:2px;">{{AppName}}</span><br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td></tr>
<!-- two-column body -->
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<!-- left column -->
<td class="resp-col" width="64%" style="padding:24px 24px 16px 28px;vertical-align:top;">
<p style="margin:0 0 16px;font-size:15px;color:#333;line-height:1.7;">
<span style="float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif;">D</span>{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 12px;font-size:13px;line-height:1.8;color:#444;">{{.locale.Tr "mail.reset_password.text" .ResetPwdCodeLives}}</p>
<p style="margin:0 0 20px;font-size:12px;line-height:1.8;color:#666;font-style:italic;"></p>
{{$recover_url := printf "%suser/recover_account?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" style="margin:0 0 24px;"><tr><td style="padding:10px 24px;background:#1a1a2e;border:1px solid #c4a97d;">
<a href="{{$recover_url}}" class="resp-btn" style="display:inline-block;font-size:13px;font-weight:700;color:#fefdfb;text-decoration:none;font-variant:small-caps;letter-spacing:1px;">{{.locale.Tr "mail.view_it_on" AppName}} &raquo;</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #c4a97d;background:#fefdfb;"><tr><td style="padding:12px 14px;">
<p style="margin:0 0 4px;font-size:10px;color:#888;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:10px;font-family:monospace;color:#1a1a2e;background:#f5f0e8;padding:8px 10px;border:1px solid #ddd;word-break:break-all;">{{$recover_url}}</p>
</td></tr></table>
</td>
<!-- right column / sidebar -->
<td class="resp-col" width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr><td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td></tr>
<tr><td style="padding:8px 0;border-top:1px solid #ddd;font-size:11px;color:#555;font-family:system-ui,sans-serif;">Expires<br /><strong style="color:#1a1a2e;">{{.ResetPwdCodeLives}}</strong></td></tr>
</table>
<td colspan="2" class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="24" height="24" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<br />
<span style="font-size:11px;color:#888;font-style:italic;">Gitea Mail Templates</span>
</td>
</tr>
<!-- footer -->
<tr><td colspan="2" style="padding:16px 28px;border-top:1px solid #ccc;text-align:center;">
<p style="margin:0;font-size:11px;color:#888;font-style:italic;">&copy; <a href="{{AppUrl}}" style="color:#1a1a2e;text-decoration:none;font-weight:600;border-bottom:1px dotted #c4a97d;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<!-- Card -->
<tr>
<!-- left column -->
<td width="64%" class="email-card card-body">
<p class="email-heading">
<span style="float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif;">D</span>{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p class="email-text">
{{.locale.Tr "mail.reset_password.text" .ResetPwdCodeLives}}
</p>
{{$recover_url := printf "%suser/recover_account?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<a href="{{$recover_url}}" class="email-btn">{{.locale.Tr "mail.reset_password"}} &raquo;</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:12px 14px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$recover_url}}</p>
</td>
</tr>
</table>
</td>
<!-- right column / sidebar -->
<td width="36%" style="padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd;">
<p style="margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700;">Quick Info</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top:1px solid #ddd;border-bottom:1px solid #ddd;">
<tr>
<td style="padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;">From<br /><strong style="color:#1a1a2e;">{{AppName}}</strong></td>
</tr>
<tr>
<td style="padding:8px 0;border-top:1px solid #ddd;font-size:11px;color:#555;font-family:system-ui,sans-serif;">Expires<br /><strong style="color:#1a1a2e;">{{.ResetPwdCodeLives}}</strong></td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td colspan="2" class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+120 -36
View File
@@ -4,53 +4,137 @@
<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>{{AppName}} - Team Invitation</title>
<title>
{{.locale.Tr "mail.team_invite.subject" (.Inviter.DisplayName|DotEscape) (.Organization.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#fafafa}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-full{width:100%!important;display:block!important}
.resp-hide{display:none!important}
.resp-btn{display:block!important;width:auto!important}
.resp-heading{font-size:22px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fafafa }
.email-wrap { max-width:600px;margin:20px auto;font-family:system-ui,-apple-system,sans-serif;background:#fff;border:2px solid #000 }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase }
.email-brand-star { color:#e03131;margin-left:4px }
.email-header { padding:24px 32px 0 }
/* Card */
.email-card { padding:32px 0 0;vertical-align:top }
.email-heading { margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px }
.email-text { margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500 }
.email-subtext { margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px }
/* Button */
.email-btn-row { padding:0 32px 24px }
.email-btn { display:inline-block;padding:14px 32px;font-size:14px;font-weight:900;color:#000;text-decoration:none;border:2px solid #000;letter-spacing:-0.3px;text-transform:uppercase }
.email-btn-table { margin:0 }
/* Fallback link */
.email-link-box { margin-top:24px;border:1px solid #ccc;background:#f5f5f5 }
.email-link-label { margin:0 0 6px;font-size:11px;color:#888 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:2px solid #000 }
.email-footer-text { margin:0;font-size:11px;color:#888 }
.email-footer-link { color:#e03131;text-decoration:underline;font-weight:600 }
/* Typography utilities */
.card-body a,.card-body a:link,.card-body a:visited { color:#000!important;text-decoration:underline!important;font-weight:600!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important }
.resp-hide { display:none!important }
.email-btn { display:block!important;width:auto!important }
.email-heading { font-size:22px!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#fafafa;font-family:system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#fafafa;-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:#fff;border:2px solid #000;">
<!-- header -->
<tr><td class="resp-pad" style="padding:24px 32px 0;">
<span style="font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase;">{{AppName}}<span style="color:#e03131;margin-left:4px;">*</span></span>
</td></tr>
<!-- split: left 60% content, right 40% whitespace -->
<tr><td class="resp-pad" style="padding:0 32px 0;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}<span class="email-brand-star">*</span></span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="resp-pad" style="padding:0 32px;">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="resp-full" width="60%" style="padding:32px 0 0;">
<p class="resp-heading" style="margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px;">{{.locale.Tr "mail.hi_user_x" .Invite.Email}}</p>
<p style="margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500;">{{.locale.Tr "mail.team_invite.text_1" (DotEscape .Inviter.DisplayName) (DotEscape .Team.Name) (DotEscape .Organization.DisplayName)}}</p>
<p style="margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px;">{{.locale.Tr "mail.team_invite.text_2"}}</p>
<td width="60%" class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" .Invite.Email}}
</p>
<p class="email-text">
{{.locale.Tr "mail.team_invite.text_1" (DotEscape .Inviter.DisplayName) (DotEscape .Team.Name) (DotEscape .Organization.DisplayName)}}
</p>
<p class="email-subtext">
{{.locale.Tr "mail.team_invite.text_2"}}
</p>
</td>
<td class="resp-hide" width="40%" style="padding:32px 0 0 0;vertical-align:top;"></td>
<td width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
</tr>
</table>
</td></tr>
<!-- button -->
<tr><td class="resp-pad" style="padding:0 32px 24px;">
</td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<a href="{{.InviteURL}}" 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:12px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.InviteURL}}</p>
</td>
</tr>
</table>
<p class="email-subtext" style="margin-top:24px;padding-left:12px;">
{{.locale.Tr "mail.team_invite.text_3" .Invite.Email}}
</p>
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="border:2px solid #000;padding:14px 32px;">
<a href="{{.InviteURL}}" class="resp-btn" style="display:inline-block;font-size:14px;font-weight:900;color:#000;text-decoration:none;letter-spacing:-0.3px;">ACTIVATE</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin:24px 0 0;"><tr><td style="padding:12px 16px;background:#f5f5f5;border:1px solid #ccc;">
<p style="margin:0 0 6px;font-size:11px;color:#888;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all;">{{.InviteURL}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:2px solid #000;">
<p style="margin:0;font-size:11px;color:#888;"><a href="{{AppUrl}}" style="color:#e03131;text-decoration:underline;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
</table>
</center>
</body>
+116 -36
View File
@@ -4,53 +4,133 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#fafafa}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-full{width:100%!important;display:block!important}
.resp-hide{display:none!important}
.resp-btn{display:block!important;width:auto!important}
.resp-heading{font-size:22px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fafafa }
.email-wrap { max-width:600px;margin:20px auto;font-family:system-ui,-apple-system,sans-serif;background:#fff;border:2px solid #000 }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase }
.email-brand-star { color:#e03131;margin-left:4px }
.email-header { padding:24px 32px 0 }
/* Card */
.email-card { padding:32px 0 0;vertical-align:top }
.email-heading { margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px }
.email-text { margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500 }
.email-subtext { margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px }
/* Button */
.email-btn-row { padding:0 32px 24px }
.email-btn { display:inline-block;padding:14px 32px;font-size:14px;font-weight:900;color:#000;text-decoration:none;border:2px solid #000;letter-spacing:-0.3px;text-transform:uppercase }
.email-btn-table { margin:0 }
/* Fallback link */
.email-link-box { margin-top:24px;border:1px solid #ccc;background:#f5f5f5 }
.email-link-label { margin:0 0 6px;font-size:11px;color:#888 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:2px solid #000 }
.email-footer-text { margin:0;font-size:11px;color:#888 }
.email-footer-link { color:#e03131;text-decoration:underline;font-weight:600 }
/* Typography utilities */
.card-body a,.card-body a:link,.card-body a:visited { color:#000!important;text-decoration:underline!important;font-weight:600!important }
.card-body h2 { color:#000!important;font-size:20px!important;font-weight:900!important;margin:0 0 16px!important }
.card-body ul { list-style:none!important;padding:0!important;margin:0 0 24px!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important }
.resp-hide { display:none!important }
.email-btn { display:block!important;width:auto!important }
.email-heading { font-size:22px!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#fafafa;font-family:system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#fafafa;-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:#fff;border:2px solid #000;">
<!-- header -->
<tr><td class="resp-pad" style="padding:24px 32px 0;">
<span style="font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase;">{{AppName}}<span style="color:#e03131;margin-left:4px;">*</span></span>
</td></tr>
<!-- split: left 60% content, right 40% whitespace -->
<tr><td class="resp-pad" style="padding:0 32px 0;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}<span class="email-brand-star">*</span></span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="resp-pad" style="padding:0 32px;">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="resp-full" width="60%" style="padding:32px 0 0;">
<p class="resp-heading" style="margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px;"></p>
<p style="margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500;"><h2>{{.Repo.FullName}} - {{.Run.WorkflowID}}: {{.RunStatusText}}</h2><ul>{{range $job := .Jobs}}<li><a href="{{$job.HTMLURL}}">{{$job.Status}}: {{$job.Name}}{{if gt $job.Attempt 1}} (retry #{{$job.Attempt}}){{end}} - {{$job.Duration}}</a></li>{{end}}</ul></p>
<p style="margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px;"></p>
<td width="60%" class="email-card card-body">
<h2>{{.Repo.FullName}} - {{.Run.WorkflowID}}: {{.RunStatusText}}</h2>
<ul>
{{range $job := .Jobs}}
<li style="background:#fff;border:1px solid #ccc;padding:12px 16px;margin-bottom:8px;">
<a href="{{$job.HTMLURL}}">{{$job.Status}}: {{$job.Name}}{{if gt $job.Attempt 1}} (retry #{{$job.Attempt}}){{end}} - {{$job.Duration}}</a>
</li>
{{end}}
</ul>
</td>
<td class="resp-hide" width="40%" style="padding:32px 0 0 0;vertical-align:top;"></td>
<td width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
</tr>
</table>
</td></tr>
<!-- button -->
<tr><td class="resp-pad" style="padding:0 32px 24px;">
</td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<a href="{{.Run.HTMLURL}}" 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:12px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Run.HTMLURL}}</p>
</td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="border:2px solid #000;padding:14px 32px;">
<a href="{{.Run.HTMLURL}}" class="resp-btn" style="display:inline-block;font-size:14px;font-weight:900;color:#000;text-decoration:none;letter-spacing:-0.3px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin:24px 0 0;"><tr><td style="padding:12px 16px;background:#f5f5f5;border:1px solid #ccc;">
<p style="margin:0 0 6px;font-size:11px;color:#888;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all;">{{.Run.HTMLURL}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:2px solid #000;">
<p style="margin:0;font-size:11px;color:#888;"><a href="{{AppUrl}}" style="color:#e03131;text-decoration:underline;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
</table>
</center>
</body>
+108 -36
View File
@@ -4,53 +4,125 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#fafafa}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-full{width:100%!important;display:block!important}
.resp-hide{display:none!important}
.resp-btn{display:block!important;width:auto!important}
.resp-heading{font-size:22px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fafafa }
.email-wrap { max-width:600px;margin:20px auto;font-family:system-ui,-apple-system,sans-serif;background:#fff;border:2px solid #000 }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase }
.email-brand-star { color:#e03131;margin-left:4px }
.email-header { padding:24px 32px 0 }
/* Card */
.email-card { padding:32px 0 0;vertical-align:top }
.email-heading { margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px }
.email-text { margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500 }
.email-subtext { margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px }
/* Button */
.email-btn-row { padding:0 32px 24px }
.email-btn { display:inline-block;padding:14px 32px;font-size:14px;font-weight:900;color:#000;text-decoration:none;border:2px solid #000;letter-spacing:-0.3px;text-transform:uppercase }
.email-btn-table { margin:0 }
/* Fallback link */
.email-link-box { margin-top:24px;border:1px solid #ccc;background:#f5f5f5 }
.email-link-label { margin:0 0 6px;font-size:11px;color:#888 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:2px solid #000 }
.email-footer-text { margin:0;font-size:11px;color:#888 }
.email-footer-link { color:#e03131;text-decoration:underline;font-weight:600 }
/* Typography utilities */
.card-body a,.card-body a:link,.card-body a:visited { color:#000!important;text-decoration:underline!important;font-weight:600!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important }
.resp-hide { display:none!important }
.email-btn { display:block!important;width:auto!important }
.email-heading { font-size:22px!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#fafafa;font-family:system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#fafafa;-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:#fff;border:2px solid #000;">
<!-- header -->
<tr><td class="resp-pad" style="padding:24px 32px 0;">
<span style="font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase;">{{AppName}}<span style="color:#e03131;margin-left:4px;">*</span></span>
</td></tr>
<!-- split: left 60% content, right 40% whitespace -->
<tr><td class="resp-pad" style="padding:0 32px 0;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}<span class="email-brand-star">*</span></span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="resp-pad" style="padding:0 32px;">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="resp-full" width="60%" style="padding:32px 0 0;">
<p class="resp-heading" style="margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px;"></p>
<p style="margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500;">{{.locale.Tr "mail.repo.collaborator.added.text"}} <code>{{.RepoName}}</code>.</p>
<p style="margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px;"></p>
<td width="60%" class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.repo.collaborator.added.text"}} <code>{{.RepoName}}</code>.
</p>
</td>
<td class="resp-hide" width="40%" style="padding:32px 0 0 0;vertical-align:top;"></td>
<td width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
</tr>
</table>
</td></tr>
<!-- button -->
<tr><td class="resp-pad" style="padding:0 32px 24px;">
</td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<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:12px 16px;">
<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">
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="border:2px solid #000;padding:14px 32px;">
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;font-size:14px;font-weight:900;color:#000;text-decoration:none;letter-spacing:-0.3px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin:24px 0 0;"><tr><td style="padding:12px 16px;background:#f5f5f5;border:1px solid #ccc;">
<p style="margin:0 0 6px;font-size:11px;color:#888;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:2px solid #000;">
<p style="margin:0;font-size:11px;color:#888;"><a href="{{AppUrl}}" style="color:#e03131;text-decoration:underline;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
</table>
</center>
</body>
+114 -36
View File
@@ -4,53 +4,131 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#fafafa}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-full{width:100%!important;display:block!important}
.resp-hide{display:none!important}
.resp-btn{display:block!important;width:auto!important}
.resp-heading{font-size:22px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fafafa }
.email-wrap { max-width:600px;margin:20px auto;font-family:system-ui,-apple-system,sans-serif;background:#fff;border:2px solid #000 }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase }
.email-brand-star { color:#e03131;margin-left:4px }
.email-header { padding:24px 32px 0 }
/* Card */
.email-card { padding:32px 0 0;vertical-align:top }
.email-heading { margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px }
.email-text { margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500 }
.email-subtext { margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px }
/* Button */
.email-btn-row { padding:0 32px 24px }
.email-btn { display:inline-block;padding:14px 32px;font-size:14px;font-weight:900;color:#000;text-decoration:none;border:2px solid #000;letter-spacing:-0.3px;text-transform:uppercase }
.email-btn-table { margin:0 }
/* Fallback link */
.email-link-box { margin-top:24px;border:1px solid #ccc;background:#f5f5f5 }
.email-link-label { margin:0 0 6px;font-size:11px;color:#888 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:2px solid #000 }
.email-footer-text { margin:0;font-size:11px;color:#888 }
.email-footer-link { color:#e03131;text-decoration:underline;font-weight:600 }
/* Typography utilities */
.card-body a,.card-body a:link,.card-body a:visited { color:#000!important;text-decoration:underline!important;font-weight:600!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important }
.resp-hide { display:none!important }
.email-btn { display:block!important;width:auto!important }
.email-heading { font-size:22px!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#fafafa;font-family:system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#fafafa;-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:#fff;border:2px solid #000;">
<!-- header -->
<tr><td class="resp-pad" style="padding:24px 32px 0;">
<span style="font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase;">{{AppName}}<span style="color:#e03131;margin-left:4px;">*</span></span>
</td></tr>
<!-- split: left 60% content, right 40% whitespace -->
<tr><td class="resp-pad" style="padding:0 32px 0;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}<span class="email-brand-star">*</span></span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="resp-pad" style="padding:0 32px;">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="resp-full" width="60%" style="padding:32px 0 0;">
<p class="resp-heading" style="margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px;"></p>
<p style="margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500;">{{$repo_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Issue.Repo.HTMLURL .Issue.Repo.FullName}}{{$link := HTMLFormat "<a href=\047%s\047>#%d</a>" .Link .Issue.Index}}{{if .IsPull}}{{.locale.Tr "mail.issue_assigned.pull" .Doer.Name $link $repo_url}}{{else}}{{.locale.Tr "mail.issue_assigned.issue" .Doer.Name $link $repo_url}}{{end}}</p>
<p style="margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px;"></p>
<td width="60%" class="email-card card-body">
{{$repo_url := HTMLFormat "<a href='%s'>%s</a>" .Issue.Repo.HTMLURL .Issue.Repo.FullName}}
{{$link := HTMLFormat "<a href='%s'>#%d</a>" .Link .Issue.Index}}
<p class="email-heading">
{{if .IsPull}}
{{.locale.Tr "mail.issue_assigned.pull" .Doer.Name $link $repo_url}}
{{else}}
{{.locale.Tr "mail.issue_assigned.issue" .Doer.Name $link $repo_url}}
{{end}}
</p>
</td>
<td class="resp-hide" width="40%" style="padding:32px 0 0 0;vertical-align:top;"></td>
<td width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
</tr>
</table>
</td></tr>
<!-- button -->
<tr><td class="resp-pad" style="padding:0 32px 24px;">
</td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<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:12px 16px;">
<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">
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="border:2px solid #000;padding:14px 32px;">
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;font-size:14px;font-weight:900;color:#000;text-decoration:none;letter-spacing:-0.3px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin:24px 0 0;"><tr><td style="padding:12px 16px;background:#f5f5f5;border:1px solid #ccc;">
<p style="margin:0 0 6px;font-size:11px;color:#888;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:2px solid #000;">
<p style="margin:0;font-size:11px;color:#888;"><a href="{{AppUrl}}" style="color:#e03131;text-decoration:underline;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
</table>
</center>
</body>
+187 -37
View File
@@ -4,54 +4,204 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#fafafa}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-full{width:100%!important;display:block!important}
.resp-hide{display:none!important}
.resp-btn{display:block!important;width:auto!important}
.resp-heading{font-size:22px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fafafa }
.email-wrap { max-width:600px;margin:20px auto;font-family:system-ui,-apple-system,sans-serif;background:#fff;border:2px solid #000 }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase }
.email-brand-star { color:#e03131;margin-left:4px }
.email-header { padding:24px 32px 0 }
/* Card */
.email-card { padding:32px 0 0;vertical-align:top }
.email-heading { margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px }
.email-text { margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500 }
.email-subtext { margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px }
/* Button */
.email-btn-row { padding:0 32px 24px }
.email-btn { display:inline-block;padding:14px 32px;font-size:14px;font-weight:900;color:#000;text-decoration:none;border:2px solid #000;letter-spacing:-0.3px;text-transform:uppercase }
.email-btn-table { margin:0 }
/* Fallback link */
.email-link-box { margin-top:24px;border:1px solid #ccc;background:#f5f5f5 }
.email-link-label { margin:0 0 6px;font-size:11px;color:#888 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:2px solid #000 }
.email-footer-text { margin:0;font-size:11px;color:#888 }
.email-footer-link { color:#e03131;text-decoration:underline;font-weight:600 }
/* Content */
.mono-content,.mono-content * { color:#333!important }
.mono-content a,.mono-content a:link,.mono-content a:visited { color:#000!important;text-decoration:underline!important;font-weight:600!important }
.mono-content code,.mono-content pre { color:#000!important;background:#f5f5f5!important;border-color:#000!important }
.mono-content blockquote { border-left:2px solid #e03131!important;color:#666!important }
.mono-content hr { border-color:#000!important }
.mono-content img { border:0;max-width:100%!important }
/* Typography utilities */
.card-body a,.card-body a:link,.card-body a:visited { color:#000!important;text-decoration:underline!important;font-weight:600!important }
.card-body blockquote { padding-left:1em;margin:1em 0;border-left:2px solid #e03131;color:#666 }
.card-body hr { border:none;border-top:1px solid #000;margin:20px 0 }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important }
.resp-hide { display:none!important }
.email-btn { display:block!important;width:auto!important }
.email-heading { font-size:22px!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
blockquote { padding-left: 1em; margin: 1em 0; border-left: 2px solid #ff0000; color: #666 }
</style>
</head>
<body style="margin:0;padding:0;background:#fafafa;font-family:system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#fafafa;-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:#fff;border:2px solid #000;">
<!-- header -->
<tr><td class="resp-pad" style="padding:24px 32px 0;">
<span style="font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase;">{{AppName}}<span style="color:#e03131;margin-left:4px;">*</span></span>
</td></tr>
<!-- split: left 60% content, right 40% whitespace -->
<tr><td class="resp-pad" style="padding:0 32px 0;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}<span class="email-brand-star">*</span></span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="resp-pad" style="padding:0 32px;">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="resp-full" width="60%" style="padding:32px 0 0;">
<p class="resp-heading" style="margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px;"></p>
<p style="margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500;">{{if .IsMention}}<p>{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>{{end}}{{if eq .ActionName "push"}}<p>{{if .Comment.IsForcePush}}{{$oldCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.OldCommit}}{{$oldShortSha := ShortSha .Comment.OldCommit}}{{$oldCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $oldCommitUrl $oldShortSha}}{{$newCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.NewCommit}}{{$newShortSha := ShortSha .Comment.NewCommit}}{{$newCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $newCommitUrl $newShortSha}}{{.locale.Tr "mail.issue.action.force_push" .Doer.Name .Comment.Issue.PullRequest.HeadBranch $oldCommitLink $newCommitLink}}{{else}}{{.locale.TrN (len .Comment.Commits) "mail.issue.action.push_1" "mail.issue.action.push_n" .Doer.Name .Comment.Issue.PullRequest.HeadBranch (len .Comment.Commits)}}{{end}}</p>{{end}}<p>{{if eq .ActionName "close"}}{{.locale.Tr "mail.issue.action.close" .Doer.Name .Issue.Index}}{{else if eq .ActionName "reopen"}}{{.locale.Tr "mail.issue.action.reopen" .Doer.Name .Issue.Index}}{{else if eq .ActionName "merge"}}{{.locale.Tr "mail.issue.action.merge" .Doer.Name .Issue.Index .Issue.PullRequest.BaseBranch}}{{else if eq .ActionName "approve"}}{{.locale.Tr "mail.issue.action.approve" .Doer.Name}}{{else if eq .ActionName "reject"}}{{.locale.Tr "mail.issue.action.reject" .Doer.Name}}{{else if eq .ActionName "review"}}{{.locale.Tr "mail.issue.action.review" .Doer.Name}}{{else if eq .ActionName "review_dismissed"}}{{.locale.Tr "mail.issue.action.review_dismissed" .Doer.Name .Comment.Review.Reviewer.Name}}{{else if eq .ActionName "ready_for_review"}}{{.locale.Tr "mail.issue.action.ready_for_review" .Doer.Name}}{{end}}{{- if eq .Body ""}}{{if eq .ActionName "new"}}{{.locale.Tr "mail.issue.action.new" .Doer.Name .Issue.Index}}{{end}}{{else}}{{.Body}}{{end -}}</p>{{- range .ReviewComments}}<hr><p>{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p><pre>{{.Patch}}</pre><div>{{.RenderedContent}}</div>{{end -}}{{if eq .ActionName "push"}}<ul>{{range .Comment.Commits}}<li><a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}">{{ShortSha .ID.String}}</a> - {{.MessageTitle}}</li>{{end}}</ul>{{end}}</p>
<p style="margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px;"></p>
<td width="60%" class="email-card card-body">
<p class="email-heading"></p>
<p class="email-text">
{{if .IsMention}}
<p>{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>
{{end}}
{{if eq .ActionName "push"}}
<p>
{{if .Comment.IsForcePush}}
{{$oldCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.OldCommit}}
{{$oldShortSha := ShortSha .Comment.OldCommit}}
{{$oldCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $oldCommitUrl $oldShortSha}}
{{$newCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.NewCommit}}
{{$newShortSha := ShortSha .Comment.NewCommit}}
{{$newCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $newCommitUrl $newShortSha}}
{{.locale.Tr "mail.issue.action.force_push" .Doer.Name .Comment.Issue.PullRequest.HeadBranch $oldCommitLink $newCommitLink}}
{{else}}
{{.locale.TrN (len .Comment.Commits) "mail.issue.action.push_1" "mail.issue.action.push_n" .Doer.Name .Comment.Issue.PullRequest.HeadBranch (len .Comment.Commits)}}
{{end}}
</p>
{{end}}
<p>
{{if eq .ActionName "close"}}
{{.locale.Tr "mail.issue.action.close" .Doer.Name .Issue.Index}}
{{else if eq .ActionName "reopen"}}
{{.locale.Tr "mail.issue.action.reopen" .Doer.Name .Issue.Index}}
{{else if eq .ActionName "merge"}}
{{.locale.Tr "mail.issue.action.merge" .Doer.Name .Issue.Index .Issue.PullRequest.BaseBranch}}
{{else if eq .ActionName "approve"}}
{{.locale.Tr "mail.issue.action.approve" .Doer.Name}}
{{else if eq .ActionName "reject"}}
{{.locale.Tr "mail.issue.action.reject" .Doer.Name}}
{{else if eq .ActionName "review"}}
{{.locale.Tr "mail.issue.action.review" .Doer.Name}}
{{else if eq .ActionName "review_dismissed"}}
{{.locale.Tr "mail.issue.action.review_dismissed" .Doer.Name .Comment.Review.Reviewer.Name}}
{{else if eq .ActionName "ready_for_review"}}
{{.locale.Tr "mail.issue.action.ready_for_review" .Doer.Name}}
{{end}}
{{- if eq .Body ""}}
{{if eq .ActionName "new"}}
{{.locale.Tr "mail.issue.action.new" .Doer.Name .Issue.Index}}
{{end}}
{{else}}
<span class="mono-content">{{.Body}}</span>
{{end -}}
{{if .CanReply}}
&nbsp;{{.locale.Tr "mail.reply"}}
{{end}}
</p>
{{- range .ReviewComments}}
<hr>
<p>{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p>
<pre>{{.Patch}}</pre>
<div class="mono-content">{{.RenderedContent}}</div>
{{end -}}
{{if eq .ActionName "push"}}
<ul>
{{range .Comment.Commits}}
<li>
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}">{{ShortSha .ID.String}}</a> - {{.MessageTitle}}
</li>
{{end}}
</ul>
{{end}}
</p>
<p class="email-subtext"></p>
</td>
<td class="resp-hide" width="40%" style="padding:32px 0 0 0;vertical-align:top;"></td>
<td width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
</tr>
</table>
</td></tr>
<!-- button -->
<tr><td class="resp-pad" style="padding:0 32px 24px;">
</td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}{{if .CanReply}}&nbsp;{{.locale.Tr "mail.reply"}}{{end}}</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:12px 16px;">
<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">
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="border:2px solid #000;padding:14px 32px;">
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;font-size:14px;font-weight:900;color:#000;text-decoration:none;letter-spacing:-0.3px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>{{if .CanReply}}&nbsp;{{.locale.Tr "mail.reply"}}{{end}}
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin:24px 0 0;"><tr><td style="padding:12px 16px;background:#f5f5f5;border:1px solid #ccc;">
<p style="margin:0 0 6px;font-size:11px;color:#888;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:2px solid #000;">
<p style="margin:0;font-size:11px;color:#888;"><a href="{{AppUrl}}" style="color:#e03131;text-decoration:underline;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
</table>
</center>
</body>
+132 -40
View File
@@ -4,57 +4,149 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#fafafa}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-full{width:100%!important;display:block!important}
.resp-hide{display:none!important}
.resp-btn{display:block!important;width:auto!important}
.resp-heading{font-size:22px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fafafa }
.email-wrap { max-width:600px;margin:20px auto;font-family:system-ui,-apple-system,sans-serif;background:#fff;border:2px solid #000 }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase }
.email-brand-star { color:#e03131;margin-left:4px }
.email-header { padding:24px 32px 0 }
/* Card */
.email-card { padding:32px 0 0;vertical-align:top }
.email-heading { margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px }
.email-text { margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500 }
.email-subtext { margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px }
/* Button */
.email-btn-row { padding:0 32px 24px }
.email-btn { display:inline-block;padding:14px 32px;font-size:14px;font-weight:900;color:#000;text-decoration:none;border:2px solid #000;letter-spacing:-0.3px;text-transform:uppercase }
.email-btn-table { margin:0 }
/* Fallback link */
.email-link-box { margin-top:24px;border:1px solid #ccc;background:#f5f5f5 }
.email-link-label { margin:0 0 6px;font-size:11px;color:#888 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:2px solid #000 }
.email-footer-text { margin:0;font-size:11px;color:#888 }
.email-footer-link { color:#e03131;text-decoration:underline;font-weight:600 }
/* Typography utilities */
.card-body a,.card-body a:link,.card-body a:visited { color:#000!important;text-decoration:underline!important;font-weight:600!important }
.card-body h4 { color:#000!important;margin:16px 0 8px!important;font-size:16px!important;font-weight:900!important }
.card-body ul { margin:0 0 16px!important;padding-left:20px!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important }
.resp-hide { display:none!important }
.email-btn { display:block!important;width:auto!important }
.email-heading { font-size:22px!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#fafafa;font-family:system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#fafafa;-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:#fff;border:2px solid #000;">
<!-- header -->
<tr><td class="resp-pad" style="padding:24px 32px 0;">
<span style="font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase;">{{AppName}}<span style="color:#e03131;margin-left:4px;">*</span></span>
</td></tr>
<!-- split: left 60% content, right 40% whitespace -->
<tr><td class="resp-pad" style="padding:0 32px 0;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}<span class="email-brand-star">*</span></span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="resp-pad" style="padding:0 32px;">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="resp-full" width="60%" style="padding:32px 0 0;">
<p class="resp-heading" style="margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px;"></p>
<p style="margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500;">{{$release_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Release.HTMLURL .Release.TagName}}{{$repo_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Release.Repo.HTMLURL .Release.Repo.FullName}}{{.locale.Tr "mail.release.new.text" .Release.Publisher.Name $release_url $repo_url}}
<h4>{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
{{if .Release.RenderedNote}}{{.locale.Tr "mail.release.note"}}<br><div>{{.Release.RenderedNote}}</div>{{end}}
<p>{{.locale.Tr "mail.release.downloads"}}</p>
<ul>{{if not .DisableDownloadSourceArchives}}<li><a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.zip">{{.locale.Tr "mail.release.download.zip"}}</a></li><li><a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.tar.gz">{{.locale.Tr "mail.release.download.targz"}}</a></li>{{end}}{{if .Release.Attachments}}{{range .Release.Attachments}}<li><a href="{{.DownloadURL}}">{{.Name}} ({{.Size | FileSize}})</a></li>{{end}}{{end}}</ul></p>
<p style="margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px;"></p>
<td width="60%" 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="mono-content">{{.Release.RenderedNote}}</div>
{{end}}
<p style="margin:16px 0 8px;font-weight:900;color:#000;">{{.locale.Tr "mail.release.downloads"}}</p>
<ul>
{{if not .DisableDownloadSourceArchives}}
<li><a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.zip">{{.locale.Tr "mail.release.download.zip"}}</a></li>
<li><a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.tar.gz">{{.locale.Tr "mail.release.download.targz"}}</a></li>
{{end}}
{{if .Release.Attachments}}
{{range .Release.Attachments}}
<li><a href="{{.DownloadURL}}">{{.Name}} ({{.Size | FileSize}})</a></li>
{{end}}
{{end}}
</ul>
</td>
<td class="resp-hide" width="40%" style="padding:32px 0 0 0;vertical-align:top;"></td>
<td width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
</tr>
</table>
</td></tr>
<!-- button -->
<tr><td class="resp-pad" style="padding:0 32px 24px;">
</td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<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:12px 16px;">
<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">
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="border:2px solid #000;padding:14px 32px;">
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;font-size:14px;font-weight:900;color:#000;text-decoration:none;letter-spacing:-0.3px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin:24px 0 0;"><tr><td style="padding:12px 16px;background:#f5f5f5;border:1px solid #ccc;">
<p style="margin:0 0 6px;font-size:11px;color:#888;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:2px solid #000;">
<p style="margin:0;font-size:11px;color:#888;"><a href="{{AppUrl}}" style="color:#e03131;text-decoration:underline;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
</table>
</center>
</body>
+109 -36
View File
@@ -4,53 +4,126 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#fafafa}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-full{width:100%!important;display:block!important}
.resp-hide{display:none!important}
.resp-btn{display:block!important;width:auto!important}
.resp-heading{font-size:22px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fafafa }
.email-wrap { max-width:600px;margin:20px auto;font-family:system-ui,-apple-system,sans-serif;background:#fff;border:2px solid #000 }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase }
.email-brand-star { color:#e03131;margin-left:4px }
.email-header { padding:24px 32px 0 }
/* Card */
.email-card { padding:32px 0 0;vertical-align:top }
.email-heading { margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px }
.email-text { margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500 }
.email-subtext { margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px }
/* Button */
.email-btn-row { padding:0 32px 24px }
.email-btn { display:inline-block;padding:14px 32px;font-size:14px;font-weight:900;color:#000;text-decoration:none;border:2px solid #000;letter-spacing:-0.3px;text-transform:uppercase }
.email-btn-table { margin:0 }
/* Fallback link */
.email-link-box { margin-top:24px;border:1px solid #ccc;background:#f5f5f5 }
.email-link-label { margin:0 0 6px;font-size:11px;color:#888 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:2px solid #000 }
.email-footer-text { margin:0;font-size:11px;color:#888 }
.email-footer-link { color:#e03131;text-decoration:underline;font-weight:600 }
/* Typography utilities */
.card-body a,.card-body a:link,.card-body a:visited { color:#000!important;text-decoration:underline!important;font-weight:600!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important }
.resp-hide { display:none!important }
.email-btn { display:block!important;width:auto!important }
.email-heading { font-size:22px!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#fafafa;font-family:system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#fafafa;-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:#fff;border:2px solid #000;">
<!-- header -->
<tr><td class="resp-pad" style="padding:24px 32px 0;">
<span style="font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase;">{{AppName}}<span style="color:#e03131;margin-left:4px;">*</span></span>
</td></tr>
<!-- split: left 60% content, right 40% whitespace -->
<tr><td class="resp-pad" style="padding:0 32px 0;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}<span class="email-brand-star">*</span></span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="resp-pad" style="padding:0 32px;">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="resp-full" width="60%" style="padding:32px 0 0;">
<p class="resp-heading" style="margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px;"></p>
<p style="margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500;">{{$url := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" .Link .Repo}}{{.Subject}}. {{.locale.Tr "mail.repo.transfer.body" $url}}</p>
<p style="margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px;"></p>
<td width="60%" class="email-card card-body">
{{$url := HTMLFormat "<a href='%[1]s'>%[2]s</a>" .Link .Repo}}
<p class="email-heading">
{{.Subject}}. {{.locale.Tr "mail.repo.transfer.body" $url}}
</p>
</td>
<td class="resp-hide" width="40%" style="padding:32px 0 0 0;vertical-align:top;"></td>
<td width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
</tr>
</table>
</td></tr>
<!-- button -->
<tr><td class="resp-pad" style="padding:0 32px 24px;">
</td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<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:12px 16px;">
<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">
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="border:2px solid #000;padding:14px 32px;">
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;font-size:14px;font-weight:900;color:#000;text-decoration:none;letter-spacing:-0.3px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin:24px 0 0;"><tr><td style="padding:12px 16px;background:#f5f5f5;border:1px solid #ccc;">
<p style="margin:0 0 6px;font-size:11px;color:#888;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:2px solid #000;">
<p style="margin:0;font-size:11px;color:#888;"><a href="{{AppUrl}}" style="color:#e03131;text-decoration:underline;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
</table>
</center>
</body>
+118 -36
View File
@@ -4,53 +4,135 @@
<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>{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}</title>
<title>
{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#fafafa}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-full{width:100%!important;display:block!important}
.resp-hide{display:none!important}
.resp-btn{display:block!important;width:auto!important}
.resp-heading{font-size:22px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fafafa }
.email-wrap { max-width:600px;margin:20px auto;font-family:system-ui,-apple-system,sans-serif;background:#fff;border:2px solid #000 }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase }
.email-brand-star { color:#e03131;margin-left:4px }
.email-header { padding:24px 32px 0 }
/* Card */
.email-card { padding:32px 0 0;vertical-align:top }
.email-heading { margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px }
.email-text { margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500 }
.email-subtext { margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px }
/* Button */
.email-btn-row { padding:0 32px 24px }
.email-btn { display:inline-block;padding:14px 32px;font-size:14px;font-weight:900;color:#000;text-decoration:none;border:2px solid #000;letter-spacing:-0.3px;text-transform:uppercase }
.email-btn-table { margin:0 }
/* Fallback link */
.email-link-box { margin-top:24px;border:1px solid #ccc;background:#f5f5f5 }
.email-link-label { margin:0 0 6px;font-size:11px;color:#888 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:2px solid #000 }
.email-footer-text { margin:0;font-size:11px;color:#888 }
.email-footer-link { color:#e03131;text-decoration:underline;font-weight:600 }
/* Typography utilities */
.card-body a,.card-body a:link,.card-body a:visited { color:#000!important;text-decoration:underline!important;font-weight:600!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important }
.resp-hide { display:none!important }
.email-btn { display:block!important;width:auto!important }
.email-heading { font-size:22px!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#fafafa;font-family:system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#fafafa;-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:#fff;border:2px solid #000;">
<!-- header -->
<tr><td class="resp-pad" style="padding:24px 32px 0;">
<span style="font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase;">{{AppName}}<span style="color:#e03131;margin-left:4px;">*</span></span>
</td></tr>
<!-- split: left 60% content, right 40% whitespace -->
<tr><td class="resp-pad" style="padding:0 32px 0;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}<span class="email-brand-star">*</span></span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="resp-pad" style="padding:0 32px;">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="resp-full" width="60%" style="padding:32px 0 0;">
<p class="resp-heading" style="margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px;">{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}</p>
<p style="margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500;">{{.locale.Tr "mail.activate_account.text_1" (.DisplayName|DotEscape) AppName}}</p>
<p style="margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px;">{{.locale.Tr "mail.activate_account.text_2" .ActiveCodeLives}}</p>
<td width="60%" class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p class="email-text">
{{.locale.Tr "mail.activate_account.text_1" (.DisplayName|DotEscape) AppName}}
</p>
<p class="email-subtext">
{{.locale.Tr "mail.activate_account.text_2" .ActiveCodeLives}}
</p>
</td>
<td class="resp-hide" width="40%" style="padding:32px 0 0 0;vertical-align:top;"></td>
<td width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
</tr>
</table>
</td></tr>
<!-- button -->
<tr><td class="resp-pad" style="padding:0 32px 24px;">
</td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
{{$activate_url := printf "%suser/activate?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="border:2px solid #000;padding:14px 32px;">
<a href="{{$activate_url}}" class="resp-btn" style="display:inline-block;font-size:14px;font-weight:900;color:#000;text-decoration:none;letter-spacing:-0.3px;">ACTIVATE</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin:24px 0 0;"><tr><td style="padding:12px 16px;background:#f5f5f5;border:1px solid #ccc;">
<p style="margin:0 0 6px;font-size:11px;color:#888;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all;">{{$activate_url}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:2px solid #000;">
<p style="margin:0;font-size:11px;color:#888;"><a href="{{AppUrl}}" style="color:#e03131;text-decoration:underline;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_account"}}</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:12px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$activate_url}}</p>
</td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+114 -36
View File
@@ -4,53 +4,131 @@
<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>{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}</title>
<title>
{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#fafafa}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-full{width:100%!important;display:block!important}
.resp-hide{display:none!important}
.resp-btn{display:block!important;width:auto!important}
.resp-heading{font-size:22px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fafafa }
.email-wrap { max-width:600px;margin:20px auto;font-family:system-ui,-apple-system,sans-serif;background:#fff;border:2px solid #000 }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase }
.email-brand-star { color:#e03131;margin-left:4px }
.email-header { padding:24px 32px 0 }
/* Card */
.email-card { padding:32px 0 0;vertical-align:top }
.email-heading { margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px }
.email-text { margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500 }
.email-subtext { margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px }
/* Button */
.email-btn-row { padding:0 32px 24px }
.email-btn { display:inline-block;padding:14px 32px;font-size:14px;font-weight:900;color:#000;text-decoration:none;border:2px solid #000;letter-spacing:-0.3px;text-transform:uppercase }
.email-btn-table { margin:0 }
/* Fallback link */
.email-link-box { margin-top:24px;border:1px solid #ccc;background:#f5f5f5 }
.email-link-label { margin:0 0 6px;font-size:11px;color:#888 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:2px solid #000 }
.email-footer-text { margin:0;font-size:11px;color:#888 }
.email-footer-link { color:#e03131;text-decoration:underline;font-weight:600 }
/* Typography utilities */
.card-body a,.card-body a:link,.card-body a:visited { color:#000!important;text-decoration:underline!important;font-weight:600!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important }
.resp-hide { display:none!important }
.email-btn { display:block!important;width:auto!important }
.email-heading { font-size:22px!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#fafafa;font-family:system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#fafafa;-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:#fff;border:2px solid #000;">
<!-- header -->
<tr><td class="resp-pad" style="padding:24px 32px 0;">
<span style="font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase;">{{AppName}}<span style="color:#e03131;margin-left:4px;">*</span></span>
</td></tr>
<!-- split: left 60% content, right 40% whitespace -->
<tr><td class="resp-pad" style="padding:0 32px 0;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}<span class="email-brand-star">*</span></span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="resp-pad" style="padding:0 32px;">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="resp-full" width="60%" style="padding:32px 0 0;">
<p class="resp-heading" style="margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px;">{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}</p>
<p style="margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500;">{{.locale.Tr "mail.activate_email.text" .ActiveCodeLives}}</p>
<p style="margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px;"></p>
<td width="60%" class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p class="email-text">
{{.locale.Tr "mail.activate_email.text" .ActiveCodeLives}}
</p>
</td>
<td class="resp-hide" width="40%" style="padding:32px 0 0 0;vertical-align:top;"></td>
<td width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
</tr>
</table>
</td></tr>
<!-- button -->
<tr><td class="resp-pad" style="padding:0 32px 24px;">
</td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
{{$activate_url := printf "%suser/activate_email?code=%s&email=%s" AppUrl (QueryEscape .Code) (QueryEscape .Email)}}
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="border:2px solid #000;padding:14px 32px;">
<a href="{{$activate_url}}" class="resp-btn" style="display:inline-block;font-size:14px;font-weight:900;color:#000;text-decoration:none;letter-spacing:-0.3px;">ACTIVATE</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin:24px 0 0;"><tr><td style="padding:12px 16px;background:#f5f5f5;border:1px solid #ccc;">
<p style="margin:0 0 6px;font-size:11px;color:#888;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all;">{{$activate_url}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:2px solid #000;">
<p style="margin:0;font-size:11px;color:#888;"><a href="{{AppUrl}}" style="color:#e03131;text-decoration:underline;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_email"}}</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:12px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$activate_url}}</p>
</td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+118 -38
View File
@@ -4,55 +4,135 @@
<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>{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}</title>
<title>
{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#fafafa}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-full{width:100%!important;display:block!important}
.resp-hide{display:none!important}
.resp-btn{display:block!important;width:auto!important}
.resp-heading{font-size:22px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fafafa }
.email-wrap { max-width:600px;margin:20px auto;font-family:system-ui,-apple-system,sans-serif;background:#fff;border:2px solid #000 }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase }
.email-brand-star { color:#e03131;margin-left:4px }
.email-header { padding:24px 32px 0 }
/* Card */
.email-card { padding:32px 0 0;vertical-align:top }
.email-heading { margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px }
.email-text { margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500 }
.email-subtext { margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px }
/* Button */
.email-btn-row { padding:0 32px 24px }
.email-btn { display:inline-block;padding:14px 32px;font-size:14px;font-weight:900;color:#000;text-decoration:none;border:2px solid #000;letter-spacing:-0.3px;text-transform:uppercase }
.email-btn-table { margin:0 }
/* Fallback link */
.email-link-box { margin-top:24px;border:1px solid #ccc;background:#f5f5f5 }
.email-link-label { margin:0 0 6px;font-size:11px;color:#888 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:2px solid #000 }
.email-footer-text { margin:0;font-size:11px;color:#888 }
.email-footer-link { color:#e03131;text-decoration:underline;font-weight:600 }
/* Typography utilities */
.card-body a,.card-body a:link,.card-body a:visited { color:#000!important;text-decoration:underline!important;font-weight:600!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important }
.resp-hide { display:none!important }
.email-btn { display:block!important;width:auto!important }
.email-heading { font-size:22px!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#fafafa;font-family:system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#fafafa;-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:#fff;border:2px solid #000;">
<!-- header -->
<tr><td class="resp-pad" style="padding:24px 32px 0;">
<span style="font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase;">{{AppName}}<span style="color:#e03131;margin-left:4px;">*</span></span>
</td></tr>
<!-- split: left 60% content, right 40% whitespace -->
<tr><td class="resp-pad" style="padding:0 32px 0;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}<span class="email-brand-star">*</span></span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="resp-pad" style="padding:0 32px;">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="resp-full" width="60%" style="padding:32px 0 0;">
<p class="resp-heading" style="margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px;">{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}</p>
<p style="margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500;">{{.locale.Tr "mail.register_notify.text_1" AppName}}</p>
<p style="margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px;">{{.locale.Tr "mail.register_notify.text_2" .Username}}
{{$set_pwd_url := printf "%suser/forgot_password" AppUrl}}
{{.locale.Tr "mail.register_notify.text_3" $set_pwd_url}}</p>
<td width="60%" class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p class="email-text">
{{.locale.Tr "mail.register_notify.text_1" AppName}}
</p>
<p class="email-subtext">
{{.locale.Tr "mail.register_notify.text_2" .Username}}
{{$set_pwd_url := printf "%suser/forgot_password" AppUrl}}
{{.locale.Tr "mail.register_notify.text_3" $set_pwd_url}}
</p>
</td>
<td class="resp-hide" width="40%" style="padding:32px 0 0 0;vertical-align:top;"></td>
<td width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
</tr>
</table>
</td></tr>
<!-- button -->
<tr><td class="resp-pad" style="padding:0 32px 24px;">
</td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<a href="{{AppUrl}}user/login" 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:12px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{AppUrl}}user/login</p>
</td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="border:2px solid #000;padding:14px 32px;">
<a href="{{AppUrl}}user/login" class="resp-btn" style="display:inline-block;font-size:14px;font-weight:900;color:#000;text-decoration:none;letter-spacing:-0.3px;">ACTIVATE</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin:24px 0 0;"><tr><td style="padding:12px 16px;background:#f5f5f5;border:1px solid #ccc;">
<p style="margin:0 0 6px;font-size:11px;color:#888;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all;">{{AppUrl}}user/login</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:2px solid #000;">
<p style="margin:0;font-size:11px;color:#888;"><a href="{{AppUrl}}" style="color:#e03131;text-decoration:underline;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
</table>
</center>
</body>
+114 -36
View File
@@ -4,53 +4,131 @@
<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>{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}</title>
<title>
{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#fafafa}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-full{width:100%!important;display:block!important}
.resp-hide{display:none!important}
.resp-btn{display:block!important;width:auto!important}
.resp-heading{font-size:22px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#fafafa }
.email-wrap { max-width:600px;margin:20px auto;font-family:system-ui,-apple-system,sans-serif;background:#fff;border:2px solid #000 }
/* Header */
.email-logo { display:inline-block;vertical-align:middle;margin-right:8px;border:0;outline:none }
.email-brand { font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase }
.email-brand-star { color:#e03131;margin-left:4px }
.email-header { padding:24px 32px 0 }
/* Card */
.email-card { padding:32px 0 0;vertical-align:top }
.email-heading { margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px }
.email-text { margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500 }
.email-subtext { margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px }
/* Button */
.email-btn-row { padding:0 32px 24px }
.email-btn { display:inline-block;padding:14px 32px;font-size:14px;font-weight:900;color:#000;text-decoration:none;border:2px solid #000;letter-spacing:-0.3px;text-transform:uppercase }
.email-btn-table { margin:0 }
/* Fallback link */
.email-link-box { margin-top:24px;border:1px solid #ccc;background:#f5f5f5 }
.email-link-label { margin:0 0 6px;font-size:11px;color:#888 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:2px solid #000 }
.email-footer-text { margin:0;font-size:11px;color:#888 }
.email-footer-link { color:#e03131;text-decoration:underline;font-weight:600 }
/* Typography utilities */
.card-body a,.card-body a:link,.card-body a:visited { color:#000!important;text-decoration:underline!important;font-weight:600!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-header { padding-left:16px!important;padding-right:16px!important }
.email-card { width:100%!important;display:block!important }
.resp-hide { display:none!important }
.email-btn { display:block!important;width:auto!important }
.email-heading { font-size:22px!important }
.email-footer { padding-left:16px!important;padding-right:16px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#fafafa;font-family:system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#fafafa;-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:#fff;border:2px solid #000;">
<!-- header -->
<tr><td class="resp-pad" style="padding:24px 32px 0;">
<span style="font-size:14px;font-weight:900;color:#000;letter-spacing:-0.5px;text-transform:uppercase;">{{AppName}}<span style="color:#e03131;margin-left:4px;">*</span></span>
</td></tr>
<!-- split: left 60% content, right 40% whitespace -->
<tr><td class="resp-pad" style="padding:0 32px 0;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}<span class="email-brand-star">*</span></span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="resp-pad" style="padding:0 32px;">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="resp-full" width="60%" style="padding:32px 0 0;">
<p class="resp-heading" style="margin:0 0 32px;font-size:28px;font-weight:900;color:#000;line-height:1.1;letter-spacing:-1px;">{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}</p>
<p style="margin:0 0 8px;font-size:13px;line-height:1.8;color:#333;font-weight:500;">{{.locale.Tr "mail.reset_password.text" .ResetPwdCodeLives}}</p>
<p style="margin:0 0 32px;font-size:12px;line-height:1.8;color:#888;border-left:2px solid #e03131;padding-left:12px;"></p>
<td width="60%" class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p class="email-text">
{{.locale.Tr "mail.reset_password.text" .ResetPwdCodeLives}}
</p>
</td>
<td class="resp-hide" width="40%" style="padding:32px 0 0 0;vertical-align:top;"></td>
<td width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
</tr>
</table>
</td></tr>
<!-- button -->
<tr><td class="resp-pad" style="padding:0 32px 24px;">
</td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
{{$recover_url := printf "%suser/recover_account?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="border:2px solid #000;padding:14px 32px;">
<a href="{{$recover_url}}" class="resp-btn" style="display:inline-block;font-size:14px;font-weight:900;color:#000;text-decoration:none;letter-spacing:-0.3px;">ACTIVATE</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin:24px 0 0;"><tr><td style="padding:12px 16px;background:#f5f5f5;border:1px solid #ccc;">
<p style="margin:0 0 6px;font-size:11px;color:#888;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#000;background:#fff;padding:8px 10px;border:1px solid #000;word-break:break-all;">{{$recover_url}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:2px solid #000;">
<p style="margin:0;font-size:11px;color:#888;"><a href="{{AppUrl}}" style="color:#e03131;text-decoration:underline;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<table border="0" cellpadding="0" cellspacing="0" class="email-btn-table">
<tr>
<td>
<a href="{{$recover_url}}" class="email-btn">{{.locale.Tr "mail.reset_password"}}</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:12px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$recover_url}}</p>
</td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+127 -35
View File
@@ -4,46 +4,138 @@
<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>{{AppName}} - Team Invitation</title>
<title>
{{.locale.Tr "mail.team_invite.subject" (.Inviter.DisplayName|DotEscape) (.Organization.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#0a0a0f}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-font{font-size:14px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0a0a0f }
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif;background:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1) }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase }
.email-header { padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);height:72px;text-align:right;vertical-align:bottom }
/* Card */
.email-card { padding:8px 32px 24px;color:#cbd5e1 }
.email-heading { margin:0 0 20px;font-size:15px;font-weight:600;color:#00d4ff;line-height:1.3 }
.email-text { margin:0 0 24px;font-size:14px;line-height:1.7;color:#cbd5e1;font-weight:400 }
.email-subtext { margin:0;font-size:13px;line-height:1.6;color:#64748b;font-weight:400 }
/* Divider */
.email-divider { height:1px;background:linear-gradient(90deg,transparent,rgba(255,45,149,0.3),transparent) }
/* Button */
.email-btn-row { padding:40px 40px;text-align:center }
.email-btn { display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04) }
.email-link-label { margin:0 0 8px;font-size:12px;color:#64748b;font-weight:400 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#475569;font-weight:400 }
.email-footer-link { color:#ff2d95;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#00d4ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#ff2d95!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#ff6db5!important }
.card-body li { color:#cbd5e1!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:32px 20px!important }
.email-btn-row { padding:24px 20px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#0a0a0f;font-family:system-ui,-apple-system,sans-serif;-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:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1);">
<!-- header -->
<tr><td height="72" style="padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td class="resp-pad" style="padding:22px 32px 0;text-align:right;">
<span style="font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase;">{{AppName}}</span>
</td></tr></table>
</td></tr>
<!-- greeting -->
<tr><td class="resp-pad" style="padding:8px 32px 0;text-align:right;">
<p style="margin:0;font-size:15px;color:#00d4ff;font-weight:600;">{{.locale.Tr "mail.hi_user_x" .Invite.Email}}</p>
</td></tr>
<!-- body -->
<tr><td class="resp-pad" style="padding:8px 32px 24px;color:#e2e8f0;">
<p class="resp-font" style="margin:0 0 8px;font-size:14px;line-height:1.7;color:#cbd5e1;">{{.locale.Tr "mail.team_invite.text_1" (DotEscape .Inviter.DisplayName) (DotEscape .Team.Name) (DotEscape .Organization.DisplayName)}}</p>
<p class="resp-font" style="margin:0 0 24px;font-size:13px;color:#64748b;line-height:1.6;">{{.locale.Tr "mail.team_invite.text_2"}}</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 24px;"><tr><td>
<a href="{{.InviteURL}}" class="resp-btn" style="display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase;">Accept Invitation</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04);"><tr><td style="padding:14px 16px;">
<p style="margin:0 0 6px;font-size:12px;color:#00d4ff;"><span style="color:#64748b;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span></p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all;">{{.InviteURL}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);">
<p style="margin:0;font-size:11px;color:#475569;text-align:center;">&copy; <a href="{{AppUrl}}" style="color:#ff2d95;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<body style="margin:0;padding:0;background:#0a0a0f;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" .Invite.Email}}
</p>
<p class="email-text">
{{.locale.Tr "mail.team_invite.text_1" (DotEscape .Inviter.DisplayName) (DotEscape .Team.Name) (DotEscape .Organization.DisplayName)}}
</p>
<p class="email-subtext">
{{.locale.Tr "mail.team_invite.text_2"}}
</p>
</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="{{.InviteURL}}" 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:14px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.InviteURL}}</p>
</td>
</tr>
</table>
<p class="email-subtext" style="margin-top:24px;font-size:12px;color:#64748b;">
{{.locale.Tr "mail.team_invite.text_3" .Invite.Email}}
</p>
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+126 -35
View File
@@ -4,46 +4,137 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#0a0a0f}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-font{font-size:14px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0a0a0f }
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif;background:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1) }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase }
.email-header { padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);height:72px;text-align:right;vertical-align:bottom }
/* Card */
.email-card { padding:8px 32px 24px;color:#cbd5e1 }
.email-heading { margin:0 0 20px;font-size:15px;font-weight:600;color:#00d4ff;line-height:1.3 }
.email-text { margin:0 0 24px;font-size:14px;line-height:1.7;color:#cbd5e1;font-weight:400 }
.email-subtext { margin:0;font-size:13px;line-height:1.6;color:#64748b;font-weight:400 }
/* Divider */
.email-divider { height:1px;background:linear-gradient(90deg,transparent,rgba(255,45,149,0.3),transparent) }
/* Button */
.email-btn-row { padding:40px 40px;text-align:center }
.email-btn { display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04) }
.email-link-label { margin:0 0 8px;font-size:12px;color:#64748b;font-weight:400 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#475569;font-weight:400 }
.email-footer-link { color:#ff2d95;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#00d4ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#ff2d95!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#ff6db5!important }
.card-body li { color:#cbd5e1!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:32px 20px!important }
.email-btn-row { padding:24px 20px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#0a0a0f;font-family:system-ui,-apple-system,sans-serif;-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:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1);">
<!-- header -->
<tr><td height="72" style="padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td class="resp-pad" style="padding:22px 32px 0;text-align:right;">
<span style="font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase;">{{AppName}}</span>
</td></tr></table>
</td></tr>
<!-- greeting -->
<tr><td class="resp-pad" style="padding:8px 32px 0;text-align:right;">
<p style="margin:0;font-size:15px;color:#00d4ff;font-weight:600;"></p>
</td></tr>
<!-- body -->
<tr><td class="resp-pad" style="padding:8px 32px 24px;color:#e2e8f0;">
<p class="resp-font" style="margin:0 0 8px;font-size:14px;line-height:1.7;color:#cbd5e1;"><h2>{{.Repo.FullName}} - {{.Run.WorkflowID}}: {{.RunStatusText}}</h2><ul>{{range $job := .Jobs}}<li><a href="{{$job.HTMLURL}}">{{$job.Status}}: {{$job.Name}}{{if gt $job.Attempt 1}} (retry #{{$job.Attempt}}){{end}} - {{$job.Duration}}</a></li>{{end}}</ul></p>
<p class="resp-font" style="margin:0 0 24px;font-size:13px;color:#64748b;line-height:1.6;"></p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 24px;"><tr><td>
<a href="{{.Run.HTMLURL}}" class="resp-btn" style="display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04);"><tr><td style="padding:14px 16px;">
<p style="margin:0 0 6px;font-size:12px;color:#00d4ff;"><span style="color:#64748b;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span></p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all;">{{.Run.HTMLURL}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);">
<p style="margin:0;font-size:11px;color:#475569;text-align:center;">&copy; <a href="{{AppUrl}}" style="color:#ff2d95;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<body style="margin:0;padding:0;background:#0a0a0f;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading"></p>
<p class="email-text">
<h2>{{.Repo.FullName}} - {{.Run.WorkflowID}}: {{.RunStatusText}}</h2>
<ul>
{{range $job := .Jobs}}
<li>
<a href="{{$job.HTMLURL}}">{{$job.Status}}: {{$job.Name}}{{if gt $job.Attempt 1}} (retry #{{$job.Attempt}}){{end}} - {{$job.Duration}}</a>
</li>
{{end}}
</ul>
</p>
<p class="email-subtext"></p>
</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="{{.Run.HTMLURL}}" 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:14px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Run.HTMLURL}}</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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+119 -35
View File
@@ -4,46 +4,130 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#0a0a0f}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-font{font-size:14px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0a0a0f }
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif;background:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1) }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase }
.email-header { padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);height:72px;text-align:right;vertical-align:bottom }
/* Card */
.email-card { padding:8px 32px 24px;color:#cbd5e1 }
.email-heading { margin:0 0 20px;font-size:15px;font-weight:600;color:#00d4ff;line-height:1.3 }
.email-text { margin:0 0 24px;font-size:14px;line-height:1.7;color:#cbd5e1;font-weight:400 }
.email-subtext { margin:0;font-size:13px;line-height:1.6;color:#64748b;font-weight:400 }
/* Divider */
.email-divider { height:1px;background:linear-gradient(90deg,transparent,rgba(255,45,149,0.3),transparent) }
/* Button */
.email-btn-row { padding:40px 40px;text-align:center }
.email-btn { display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04) }
.email-link-label { margin:0 0 8px;font-size:12px;color:#64748b;font-weight:400 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#475569;font-weight:400 }
.email-footer-link { color:#ff2d95;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#00d4ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#ff2d95!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#ff6db5!important }
.card-body li { color:#cbd5e1!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:32px 20px!important }
.email-btn-row { padding:24px 20px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#0a0a0f;font-family:system-ui,-apple-system,sans-serif;-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:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1);">
<!-- header -->
<tr><td height="72" style="padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td class="resp-pad" style="padding:22px 32px 0;text-align:right;">
<span style="font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase;">{{AppName}}</span>
</td></tr></table>
</td></tr>
<!-- greeting -->
<tr><td class="resp-pad" style="padding:8px 32px 0;text-align:right;">
<p style="margin:0;font-size:15px;color:#00d4ff;font-weight:600;"></p>
</td></tr>
<!-- body -->
<tr><td class="resp-pad" style="padding:8px 32px 24px;color:#e2e8f0;">
<p class="resp-font" style="margin:0 0 8px;font-size:14px;line-height:1.7;color:#cbd5e1;">{{.locale.Tr "mail.repo.collaborator.added.text"}} <code>{{.RepoName}}</code>.</p>
<p class="resp-font" style="margin:0 0 24px;font-size:13px;color:#64748b;line-height:1.6;"></p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 24px;"><tr><td>
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04);"><tr><td style="padding:14px 16px;">
<p style="margin:0 0 6px;font-size:12px;color:#00d4ff;"><span style="color:#64748b;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span></p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);">
<p style="margin:0;font-size:11px;color:#475569;text-align:center;">&copy; <a href="{{AppUrl}}" style="color:#ff2d95;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<body style="margin:0;padding:0;background:#0a0a0f;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading"></p>
<p class="email-text">
{{.locale.Tr "mail.repo.collaborator.added.text"}} <code>{{.RepoName}}</code>.
</p>
<p class="email-subtext"></p>
</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:14px 16px;">
<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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+125 -35
View File
@@ -4,46 +4,136 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#0a0a0f}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-font{font-size:14px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0a0a0f }
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif;background:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1) }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase }
.email-header { padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);height:72px;text-align:right;vertical-align:bottom }
/* Card */
.email-card { padding:8px 32px 24px;color:#cbd5e1 }
.email-heading { margin:0 0 20px;font-size:15px;font-weight:600;color:#00d4ff;line-height:1.3 }
.email-text { margin:0 0 24px;font-size:14px;line-height:1.7;color:#cbd5e1;font-weight:400 }
.email-subtext { margin:0;font-size:13px;line-height:1.6;color:#64748b;font-weight:400 }
/* Divider */
.email-divider { height:1px;background:linear-gradient(90deg,transparent,rgba(255,45,149,0.3),transparent) }
/* Button */
.email-btn-row { padding:40px 40px;text-align:center }
.email-btn { display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04) }
.email-link-label { margin:0 0 8px;font-size:12px;color:#64748b;font-weight:400 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#475569;font-weight:400 }
.email-footer-link { color:#ff2d95;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#00d4ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#ff2d95!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#ff6db5!important }
.card-body li { color:#cbd5e1!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:32px 20px!important }
.email-btn-row { padding:24px 20px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#0a0a0f;font-family:system-ui,-apple-system,sans-serif;-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:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1);">
<!-- header -->
<tr><td height="72" style="padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td class="resp-pad" style="padding:22px 32px 0;text-align:right;">
<span style="font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase;">{{AppName}}</span>
</td></tr></table>
</td></tr>
<!-- greeting -->
<tr><td class="resp-pad" style="padding:8px 32px 0;text-align:right;">
<p style="margin:0;font-size:15px;color:#00d4ff;font-weight:600;"></p>
</td></tr>
<!-- body -->
<tr><td class="resp-pad" style="padding:8px 32px 24px;color:#e2e8f0;">
<p class="resp-font" style="margin:0 0 8px;font-size:14px;line-height:1.7;color:#cbd5e1;">{{$repo_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Issue.Repo.HTMLURL .Issue.Repo.FullName}}{{$link := HTMLFormat "<a href=\047%s\047>#%d</a>" .Link .Issue.Index}}{{if .IsPull}}{{.locale.Tr "mail.issue_assigned.pull" .Doer.Name $link $repo_url}}{{else}}{{.locale.Tr "mail.issue_assigned.issue" .Doer.Name $link $repo_url}}{{end}}</p>
<p class="resp-font" style="margin:0 0 24px;font-size:13px;color:#64748b;line-height:1.6;"></p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 24px;"><tr><td>
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04);"><tr><td style="padding:14px 16px;">
<p style="margin:0 0 6px;font-size:12px;color:#00d4ff;"><span style="color:#64748b;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span></p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);">
<p style="margin:0;font-size:11px;color:#475569;text-align:center;">&copy; <a href="{{AppUrl}}" style="color:#ff2d95;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<body style="margin:0;padding:0;background:#0a0a0f;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading"></p>
<p class="email-text">
{{$repo_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Issue.Repo.HTMLURL .Issue.Repo.FullName}}
{{$link := HTMLFormat "<a href=\047%s\047>#%d</a>" .Link .Issue.Index}}
{{if .IsPull}}
{{.locale.Tr "mail.issue_assigned.pull" .Doer.Name $link $repo_url}}
{{else}}
{{.locale.Tr "mail.issue_assigned.issue" .Doer.Name $link $repo_url}}
{{end}}
</p>
<p class="email-subtext"></p>
</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:14px 16px;">
<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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+187 -36
View File
@@ -4,47 +4,198 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#0a0a0f}
blockquote { padding-left: 1em; margin: 1em 0; border-left: 2px solid #ff00ff; color: #aaa }
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-font{font-size:14px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0a0a0f }
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif;background:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1) }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase }
.email-header { padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);height:72px;text-align:right;vertical-align:bottom }
/* Card */
.email-card { padding:8px 32px 24px;color:#cbd5e1 }
.email-heading { margin:0 0 20px;font-size:15px;font-weight:600;color:#00d4ff;line-height:1.3 }
.email-text { margin:0 0 24px;font-size:14px;line-height:1.7;color:#cbd5e1;font-weight:400 }
.email-subtext { margin:0;font-size:13px;line-height:1.6;color:#64748b;font-weight:400 }
/* Divider */
.email-divider { height:1px;background:linear-gradient(90deg,transparent,rgba(255,45,149,0.3),transparent) }
/* Button */
.email-btn-row { padding:40px 40px;text-align:center }
.email-btn { display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04) }
.email-link-label { margin:0 0 8px;font-size:12px;color:#64748b;font-weight:400 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#475569;font-weight:400 }
.email-footer-link { color:#ff2d95;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#00d4ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#ff2d95!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#ff6db5!important }
.card-body li { color:#cbd5e1!important }
.card-body blockquote { padding-left:1em;margin:1em 0;border-left:2px solid #ff00ff;color:#aaa }
.card-body code,.card-body pre { color:#00d4ff;background:rgba(0,0,0,0.3);border:1px solid rgba(0,212,255,0.15) }
.card-body hr { border-color:rgba(255,45,149,0.3) }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:32px 20px!important }
.email-btn-row { padding:24px 20px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#0a0a0f;font-family:system-ui,-apple-system,sans-serif;-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:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1);">
<!-- header -->
<tr><td height="72" style="padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td class="resp-pad" style="padding:22px 32px 0;text-align:right;">
<span style="font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase;">{{AppName}}</span>
</td></tr></table>
</td></tr>
<!-- greeting -->
<tr><td class="resp-pad" style="padding:8px 32px 0;text-align:right;">
<p style="margin:0;font-size:15px;color:#00d4ff;font-weight:600;"></p>
</td></tr>
<!-- body -->
<tr><td class="resp-pad" style="padding:8px 32px 24px;color:#e2e8f0;">
<p class="resp-font" style="margin:0 0 8px;font-size:14px;line-height:1.7;color:#cbd5e1;">{{if .IsMention}}<p>{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>{{end}}{{if eq .ActionName "push"}}<p>{{if .Comment.IsForcePush}}{{$oldCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.OldCommit}}{{$oldShortSha := ShortSha .Comment.OldCommit}}{{$oldCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $oldCommitUrl $oldShortSha}}{{$newCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.NewCommit}}{{$newShortSha := ShortSha .Comment.NewCommit}}{{$newCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $newCommitUrl $newShortSha}}{{.locale.Tr "mail.issue.action.force_push" .Doer.Name .Comment.Issue.PullRequest.HeadBranch $oldCommitLink $newCommitLink}}{{else}}{{.locale.TrN (len .Comment.Commits) "mail.issue.action.push_1" "mail.issue.action.push_n" .Doer.Name .Comment.Issue.PullRequest.HeadBranch (len .Comment.Commits)}}{{end}}</p>{{end}}<p>{{if eq .ActionName "close"}}{{.locale.Tr "mail.issue.action.close" .Doer.Name .Issue.Index}}{{else if eq .ActionName "reopen"}}{{.locale.Tr "mail.issue.action.reopen" .Doer.Name .Issue.Index}}{{else if eq .ActionName "merge"}}{{.locale.Tr "mail.issue.action.merge" .Doer.Name .Issue.Index .Issue.PullRequest.BaseBranch}}{{else if eq .ActionName "approve"}}{{.locale.Tr "mail.issue.action.approve" .Doer.Name}}{{else if eq .ActionName "reject"}}{{.locale.Tr "mail.issue.action.reject" .Doer.Name}}{{else if eq .ActionName "review"}}{{.locale.Tr "mail.issue.action.review" .Doer.Name}}{{else if eq .ActionName "review_dismissed"}}{{.locale.Tr "mail.issue.action.review_dismissed" .Doer.Name .Comment.Review.Reviewer.Name}}{{else if eq .ActionName "ready_for_review"}}{{.locale.Tr "mail.issue.action.ready_for_review" .Doer.Name}}{{end}}{{- if eq .Body ""}}{{if eq .ActionName "new"}}{{.locale.Tr "mail.issue.action.new" .Doer.Name .Issue.Index}}{{end}}{{else}}{{.Body}}{{end -}}{{if .CanReply}}&nbsp;{{.locale.Tr "mail.reply"}}{{end}}</p>{{- range .ReviewComments}}<hr><p>{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p><pre>{{.Patch}}</pre><div>{{.RenderedContent}}</div>{{end -}}{{if eq .ActionName "push"}}<ul>{{range .Comment.Commits}}<li><a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}">{{ShortSha .ID.String}}</a> - {{.MessageTitle}}</li>{{end}}</ul>{{end}}</p>
<p class="resp-font" style="margin:0 0 24px;font-size:13px;color:#64748b;line-height:1.6;"></p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 24px;"><tr><td>
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04);"><tr><td style="padding:14px 16px;">
<p style="margin:0 0 6px;font-size:12px;color:#00d4ff;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);">
<p style="margin:0;font-size:11px;color:#475569;text-align:center;">&copy; <a href="{{AppUrl}}" style="color:#ff2d95;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<body style="margin:0;padding:0;background:#0a0a0f;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading"></p>
<p class="email-text">
{{if .IsMention}}
<p>{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>
{{end}}
{{if eq .ActionName "push"}}
<p>
{{if .Comment.IsForcePush}}
{{$oldCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.OldCommit}}
{{$oldShortSha := ShortSha .Comment.OldCommit}}
{{$oldCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $oldCommitUrl $oldShortSha}}
{{$newCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.NewCommit}}
{{$newShortSha := ShortSha .Comment.NewCommit}}
{{$newCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $newCommitUrl $newShortSha}}
{{.locale.Tr "mail.issue.action.force_push" .Doer.Name .Comment.Issue.PullRequest.HeadBranch $oldCommitLink $newCommitLink}}
{{else}}
{{.locale.TrN (len .Comment.Commits) "mail.issue.action.push_1" "mail.issue.action.push_n" .Doer.Name .Comment.Issue.PullRequest.HeadBranch (len .Comment.Commits)}}
{{end}}
</p>
{{end}}
<p>
{{if eq .ActionName "close"}}
{{.locale.Tr "mail.issue.action.close" .Doer.Name .Issue.Index}}
{{else if eq .ActionName "reopen"}}
{{.locale.Tr "mail.issue.action.reopen" .Doer.Name .Issue.Index}}
{{else if eq .ActionName "merge"}}
{{.locale.Tr "mail.issue.action.merge" .Doer.Name .Issue.Index .Issue.PullRequest.BaseBranch}}
{{else if eq .ActionName "approve"}}
{{.locale.Tr "mail.issue.action.approve" .Doer.Name}}
{{else if eq .ActionName "reject"}}
{{.locale.Tr "mail.issue.action.reject" .Doer.Name}}
{{else if eq .ActionName "review"}}
{{.locale.Tr "mail.issue.action.review" .Doer.Name}}
{{else if eq .ActionName "review_dismissed"}}
{{.locale.Tr "mail.issue.action.review_dismissed" .Doer.Name .Comment.Review.Reviewer.Name}}
{{else if eq .ActionName "ready_for_review"}}
{{.locale.Tr "mail.issue.action.ready_for_review" .Doer.Name}}
{{end}}
{{- if eq .Body ""}}
{{if eq .ActionName "new"}}
{{.locale.Tr "mail.issue.action.new" .Doer.Name .Issue.Index}}
{{end}}
{{else}}
<span>{{.Body}}</span>
{{end -}}
{{if .CanReply}}
&nbsp;{{.locale.Tr "mail.reply"}}
{{end}}
</p>
{{- range .ReviewComments}}
<hr>
<p>{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p>
<pre>{{.Patch}}</pre>
<div>{{.RenderedContent}}</div>
{{end -}}
{{if eq .ActionName "push"}}
<ul>
{{range .Comment.Commits}}
<li>
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}">{{ShortSha .ID.String}}</a> - {{.MessageTitle}}
</li>
{{end}}
</ul>
{{end}}
</p>
<p class="email-subtext"></p>
</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:14px 16px;">
<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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+145 -39
View File
@@ -4,50 +4,156 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#0a0a0f}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-font{font-size:14px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0a0a0f }
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif;background:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1) }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase }
.email-header { padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);height:72px;text-align:right;vertical-align:bottom }
/* Card */
.email-card { padding:8px 32px 24px;color:#cbd5e1 }
.email-heading { margin:0 0 20px;font-size:15px;font-weight:600;color:#00d4ff;line-height:1.3 }
.email-text { margin:0 0 24px;font-size:14px;line-height:1.7;color:#cbd5e1;font-weight:400 }
.email-subtext { margin:0;font-size:13px;line-height:1.6;color:#64748b;font-weight:400 }
/* Divider */
.email-divider { height:1px;background:linear-gradient(90deg,transparent,rgba(255,45,149,0.3),transparent) }
/* Button */
.email-btn-row { padding:40px 40px;text-align:center }
.email-btn { display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04) }
.email-link-label { margin:0 0 8px;font-size:12px;color:#64748b;font-weight:400 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#475569;font-weight:400 }
.email-footer-link { color:#ff2d95;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#00d4ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#ff2d95!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#ff6db5!important }
.card-body li { color:#cbd5e1!important }
.card-body code,.card-body pre { color:#00d4ff;background:rgba(0,0,0,0.3);border:1px solid rgba(0,212,255,0.15) }
.card-body blockquote { color:rgba(255,255,255,0.6);border-left:2px solid rgba(0,212,255,0.2);padding-left:1em;margin:1em 0 }
.card-body hr { border-color:rgba(255,45,149,0.3) }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:32px 20px!important }
.email-btn-row { padding:24px 20px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#0a0a0f;font-family:system-ui,-apple-system,sans-serif;-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:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1);">
<!-- header -->
<tr><td height="72" style="padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td class="resp-pad" style="padding:22px 32px 0;text-align:right;">
<span style="font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase;">{{AppName}}</span>
</td></tr></table>
</td></tr>
<!-- greeting -->
<tr><td class="resp-pad" style="padding:8px 32px 0;text-align:right;">
<p style="margin:0;font-size:15px;color:#00d4ff;font-weight:600;"></p>
</td></tr>
<!-- body -->
<tr><td class="resp-pad" style="padding:8px 32px 24px;color:#e2e8f0;">
<p class="resp-font" style="margin:0 0 8px;font-size:14px;line-height:1.7;color:#cbd5e1;">{{$release_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Release.HTMLURL .Release.TagName}}{{$repo_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Release.Repo.HTMLURL .Release.Repo.FullName}}{{.locale.Tr "mail.release.new.text" .Release.Publisher.Name $release_url $repo_url}}
<h4 style="color:#00d4ff;">{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
{{if .Release.RenderedNote}}{{.locale.Tr "mail.release.note"}}<br><div>{{.Release.RenderedNote}}</div>{{end}}
<p style="color:#cbd5e1;">{{.locale.Tr "mail.release.downloads"}}</p>
<ul>{{if not .DisableDownloadSourceArchives}}<li><a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.zip">{{.locale.Tr "mail.release.download.zip"}}</a></li><li><a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.tar.gz">{{.locale.Tr "mail.release.download.targz"}}</a></li>{{end}}{{if .Release.Attachments}}{{range .Release.Attachments}}<li><a href="{{.DownloadURL}}">{{.Name}} ({{.Size | FileSize}})</a></li>{{end}}{{end}}</ul></p>
<p class="resp-font" style="margin:0 0 24px;font-size:13px;color:#64748b;line-height:1.6;"></p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 24px;"><tr><td>
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04);"><tr><td style="padding:14px 16px;">
<p style="margin:0 0 6px;font-size:12px;color:#00d4ff;"><span style="color:#64748b;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span></p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);">
<p style="margin:0;font-size:11px;color:#475569;text-align:center;">&copy; <a href="{{AppUrl}}" style="color:#ff2d95;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<body style="margin:0;padding:0;background:#0a0a0f;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading"></p>
<p class="email-text">
{{$release_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Release.HTMLURL .Release.TagName}}
{{$repo_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Release.Repo.HTMLURL .Release.Repo.FullName}}
{{.locale.Tr "mail.release.new.text" .Release.Publisher.Name $release_url $repo_url}}
<h4 style="color:#00d4ff;">{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
{{if .Release.RenderedNote}}
{{.locale.Tr "mail.release.note"}}
<br>
<div>{{.Release.RenderedNote}}</div>
{{end}}
<p style="color:#cbd5e1;">{{.locale.Tr "mail.release.downloads"}}</p>
<ul>
{{if not .DisableDownloadSourceArchives}}
<li><a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.zip">{{.locale.Tr "mail.release.download.zip"}}</a></li>
<li><a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.tar.gz">{{.locale.Tr "mail.release.download.targz"}}</a></li>
{{end}}
{{if .Release.Attachments}}
{{range .Release.Attachments}}
<li><a href="{{.DownloadURL}}">{{.Name}} ({{.Size | FileSize}})</a></li>
{{end}}
{{end}}
</ul>
</p>
<p class="email-subtext"></p>
</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:14px 16px;">
<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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+120 -35
View File
@@ -4,46 +4,131 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#0a0a0f}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-font{font-size:14px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0a0a0f }
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif;background:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1) }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase }
.email-header { padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);height:72px;text-align:right;vertical-align:bottom }
/* Card */
.email-card { padding:8px 32px 24px;color:#cbd5e1 }
.email-heading { margin:0 0 20px;font-size:15px;font-weight:600;color:#00d4ff;line-height:1.3 }
.email-text { margin:0 0 24px;font-size:14px;line-height:1.7;color:#cbd5e1;font-weight:400 }
.email-subtext { margin:0;font-size:13px;line-height:1.6;color:#64748b;font-weight:400 }
/* Divider */
.email-divider { height:1px;background:linear-gradient(90deg,transparent,rgba(255,45,149,0.3),transparent) }
/* Button */
.email-btn-row { padding:40px 40px;text-align:center }
.email-btn { display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04) }
.email-link-label { margin:0 0 8px;font-size:12px;color:#64748b;font-weight:400 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#475569;font-weight:400 }
.email-footer-link { color:#ff2d95;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#00d4ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#ff2d95!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#ff6db5!important }
.card-body li { color:#cbd5e1!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:32px 20px!important }
.email-btn-row { padding:24px 20px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#0a0a0f;font-family:system-ui,-apple-system,sans-serif;-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:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1);">
<!-- header -->
<tr><td height="72" style="padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td class="resp-pad" style="padding:22px 32px 0;text-align:right;">
<span style="font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase;">{{AppName}}</span>
</td></tr></table>
</td></tr>
<!-- greeting -->
<tr><td class="resp-pad" style="padding:8px 32px 0;text-align:right;">
<p style="margin:0;font-size:15px;color:#00d4ff;font-weight:600;"></p>
</td></tr>
<!-- body -->
<tr><td class="resp-pad" style="padding:8px 32px 24px;color:#e2e8f0;">
<p class="resp-font" style="margin:0 0 8px;font-size:14px;line-height:1.7;color:#cbd5e1;">{{$url := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" .Link .Repo}}{{.Subject}}. {{.locale.Tr "mail.repo.transfer.body" $url}}</p>
<p class="resp-font" style="margin:0 0 24px;font-size:13px;color:#64748b;line-height:1.6;"></p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 24px;"><tr><td>
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04);"><tr><td style="padding:14px 16px;">
<p style="margin:0 0 6px;font-size:12px;color:#00d4ff;"><span style="color:#64748b;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span></p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);">
<p style="margin:0;font-size:11px;color:#475569;text-align:center;">&copy; <a href="{{AppUrl}}" style="color:#ff2d95;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<body style="margin:0;padding:0;background:#0a0a0f;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading"></p>
<p class="email-text">
{{$url := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" .Link .Repo}}
{{.Subject}}. {{.locale.Tr "mail.repo.transfer.body" $url}}
</p>
<p class="email-subtext"></p>
</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:14px 16px;">
<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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+124 -34
View File
@@ -4,46 +4,136 @@
<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>{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}</title>
<title>
{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#0a0a0f}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-font{font-size:14px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0a0a0f }
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif;background:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1) }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase }
.email-header { padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);height:72px;text-align:right;vertical-align:bottom }
/* Card */
.email-card { padding:8px 32px 24px;color:#cbd5e1 }
.email-heading { margin:0 0 20px;font-size:15px;font-weight:600;color:#00d4ff;line-height:1.3 }
.email-text { margin:0 0 24px;font-size:14px;line-height:1.7;color:#cbd5e1;font-weight:400 }
.email-subtext { margin:0;font-size:13px;line-height:1.6;color:#64748b;font-weight:400 }
/* Divider */
.email-divider { height:1px;background:linear-gradient(90deg,transparent,rgba(255,45,149,0.3),transparent) }
/* Button */
.email-btn-row { padding:40px 40px;text-align:center }
.email-btn { display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04) }
.email-link-label { margin:0 0 8px;font-size:12px;color:#64748b;font-weight:400 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#475569;font-weight:400 }
.email-footer-link { color:#ff2d95;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#00d4ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#ff2d95!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#ff6db5!important }
.card-body li { color:#cbd5e1!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:32px 20px!important }
.email-btn-row { padding:24px 20px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#0a0a0f;font-family:system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#0a0a0f;-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:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1);">
<!-- header -->
<tr><td height="72" style="padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td class="resp-pad" style="padding:22px 32px 0;text-align:right;">
<span style="font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase;">{{AppName}}</span>
</td></tr></table>
</td></tr>
<!-- greeting -->
<tr><td class="resp-pad" style="padding:8px 32px 0;text-align:right;">
<p style="margin:0;font-size:15px;color:#00d4ff;font-weight:600;">{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}</p>
</td></tr>
<!-- body -->
<tr><td class="resp-pad" style="padding:8px 32px 24px;color:#e2e8f0;">
<p class="resp-font" style="margin:0 0 8px;font-size:14px;line-height:1.7;color:#cbd5e1;">{{.locale.Tr "mail.activate_account.text_1" (.DisplayName|DotEscape) AppName}}</p>
<p class="resp-font" style="margin:0 0 24px;font-size:13px;color:#64748b;line-height:1.6;">{{.locale.Tr "mail.activate_account.text_2" .ActiveCodeLives}}</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p class="email-text">
{{.locale.Tr "mail.activate_account.text_1" (.DisplayName|DotEscape) AppName}}
</p>
<p class="email-subtext">
{{.locale.Tr "mail.activate_account.text_2" .ActiveCodeLives}}
</p>
</td>
</tr>
<!-- Divider -->
<tr>
<td class="email-divider"></td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
{{$activate_url := printf "%suser/activate?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 24px;"><tr><td>
<a href="{{$activate_url}}" class="resp-btn" style="display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase;">Activate Account</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04);"><tr><td style="padding:14px 16px;">
<p style="margin:0 0 6px;font-size:12px;color:#00d4ff;"><span style="color:#64748b;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span></p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all;">{{$activate_url}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);">
<p style="margin:0;font-size:11px;color:#475569;text-align:center;">&copy; <a href="{{AppUrl}}" style="color:#ff2d95;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-table">
<tr>
<td align="center">
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_account"}}</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:14px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$activate_url}}</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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+122 -34
View File
@@ -4,46 +4,134 @@
<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>{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}</title>
<title>
{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#0a0a0f}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-font{font-size:14px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0a0a0f }
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif;background:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1) }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase }
.email-header { padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);height:72px;text-align:right;vertical-align:bottom }
/* Card */
.email-card { padding:8px 32px 24px;color:#cbd5e1 }
.email-heading { margin:0 0 20px;font-size:15px;font-weight:600;color:#00d4ff;line-height:1.3 }
.email-text { margin:0 0 24px;font-size:14px;line-height:1.7;color:#cbd5e1;font-weight:400 }
.email-subtext { margin:0;font-size:13px;line-height:1.6;color:#64748b;font-weight:400 }
/* Divider */
.email-divider { height:1px;background:linear-gradient(90deg,transparent,rgba(255,45,149,0.3),transparent) }
/* Button */
.email-btn-row { padding:40px 40px;text-align:center }
.email-btn { display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04) }
.email-link-label { margin:0 0 8px;font-size:12px;color:#64748b;font-weight:400 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#475569;font-weight:400 }
.email-footer-link { color:#ff2d95;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#00d4ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#ff2d95!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#ff6db5!important }
.card-body li { color:#cbd5e1!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:32px 20px!important }
.email-btn-row { padding:24px 20px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#0a0a0f;font-family:system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#0a0a0f;-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:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1);">
<!-- header -->
<tr><td height="72" style="padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td class="resp-pad" style="padding:22px 32px 0;text-align:right;">
<span style="font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase;">{{AppName}}</span>
</td></tr></table>
</td></tr>
<!-- greeting -->
<tr><td class="resp-pad" style="padding:8px 32px 0;text-align:right;">
<p style="margin:0;font-size:15px;color:#00d4ff;font-weight:600;">{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}</p>
</td></tr>
<!-- body -->
<tr><td class="resp-pad" style="padding:8px 32px 24px;color:#e2e8f0;">
<p class="resp-font" style="margin:0 0 8px;font-size:14px;line-height:1.7;color:#cbd5e1;">{{.locale.Tr "mail.activate_email.text" .ActiveCodeLives}}</p>
<p class="resp-font" style="margin:0 0 24px;font-size:13px;color:#64748b;line-height:1.6;"></p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p class="email-text">
{{.locale.Tr "mail.activate_email.text" .ActiveCodeLives}}
</p>
<p class="email-subtext"></p>
</td>
</tr>
<!-- Divider -->
<tr>
<td class="email-divider"></td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
{{$activate_url := printf "%suser/activate_email?code=%s&email=%s" AppUrl (QueryEscape .Code) (QueryEscape .Email)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 24px;"><tr><td>
<a href="{{$activate_url}}" class="resp-btn" style="display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase;">Verify Email Address</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04);"><tr><td style="padding:14px 16px;">
<p style="margin:0 0 6px;font-size:12px;color:#00d4ff;"><span style="color:#64748b;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span></p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all;">{{$activate_url}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);">
<p style="margin:0;font-size:11px;color:#475569;text-align:center;">&copy; <a href="{{AppUrl}}" style="color:#ff2d95;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-table">
<tr>
<td align="center">
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_email"}}</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:14px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$activate_url}}</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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+128 -37
View File
@@ -4,48 +4,139 @@
<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>{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}</title>
<title>
{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#0a0a0f}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-font{font-size:14px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0a0a0f }
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif;background:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1) }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase }
.email-header { padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);height:72px;text-align:right;vertical-align:bottom }
/* Card */
.email-card { padding:8px 32px 24px;color:#cbd5e1 }
.email-heading { margin:0 0 20px;font-size:15px;font-weight:600;color:#00d4ff;line-height:1.3 }
.email-text { margin:0 0 24px;font-size:14px;line-height:1.7;color:#cbd5e1;font-weight:400 }
.email-subtext { margin:0;font-size:13px;line-height:1.6;color:#64748b;font-weight:400 }
/* Divider */
.email-divider { height:1px;background:linear-gradient(90deg,transparent,rgba(255,45,149,0.3),transparent) }
/* Button */
.email-btn-row { padding:40px 40px;text-align:center }
.email-btn { display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04) }
.email-link-label { margin:0 0 8px;font-size:12px;color:#64748b;font-weight:400 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#475569;font-weight:400 }
.email-footer-link { color:#ff2d95;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#00d4ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#ff2d95!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#ff6db5!important }
.card-body li { color:#cbd5e1!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:32px 20px!important }
.email-btn-row { padding:24px 20px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#0a0a0f;font-family:system-ui,-apple-system,sans-serif;-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:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1);">
<!-- header -->
<tr><td height="72" style="padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td class="resp-pad" style="padding:22px 32px 0;text-align:right;">
<span style="font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase;">{{AppName}}</span>
</td></tr></table>
</td></tr>
<!-- greeting -->
<tr><td class="resp-pad" style="padding:8px 32px 0;text-align:right;">
<p style="margin:0;font-size:15px;color:#00d4ff;font-weight:600;">{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}</p>
</td></tr>
<!-- body -->
<tr><td class="resp-pad" style="padding:8px 32px 24px;color:#e2e8f0;">
<p class="resp-font" style="margin:0 0 8px;font-size:14px;line-height:1.7;color:#cbd5e1;">{{.locale.Tr "mail.register_notify.text_1" AppName}}</p>
<p class="resp-font" style="margin:0 0 24px;font-size:13px;color:#64748b;line-height:1.6;">{{.locale.Tr "mail.register_notify.text_2" .Username}}
{{$set_pwd_url := printf "%suser/forgot_password" AppUrl}}
{{.locale.Tr "mail.register_notify.text_3" $set_pwd_url}}</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 24px;"><tr><td>
<a href="{{AppUrl}}user/login" class="resp-btn" style="display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase;">Go to {{AppName}}</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04);"><tr><td style="padding:14px 16px;">
<p style="margin:0 0 6px;font-size:12px;color:#00d4ff;"><span style="color:#64748b;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span></p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all;">{{AppUrl}}user/login</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);">
<p style="margin:0;font-size:11px;color:#475569;text-align:center;">&copy; <a href="{{AppUrl}}" style="color:#ff2d95;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<body style="margin:0;padding:0;background:#0a0a0f;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p class="email-text">
{{.locale.Tr "mail.register_notify.text_1" AppName}}
</p>
<p class="email-text">
{{.locale.Tr "mail.register_notify.text_2" .Username}}
</p>
<p class="email-subtext">
{{$set_pwd_url := printf "%suser/forgot_password" AppUrl}}
{{.locale.Tr "mail.register_notify.text_3" $set_pwd_url}}
</p>
</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="{{AppUrl}}user/login" 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:14px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{AppUrl}}user/login</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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+122 -34
View File
@@ -4,46 +4,134 @@
<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>{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}</title>
<title>
{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#0a0a0f}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-font{font-size:14px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0a0a0f }
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif;background:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1) }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase }
.email-header { padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);height:72px;text-align:right;vertical-align:bottom }
/* Card */
.email-card { padding:8px 32px 24px;color:#cbd5e1 }
.email-heading { margin:0 0 20px;font-size:15px;font-weight:600;color:#00d4ff;line-height:1.3 }
.email-text { margin:0 0 24px;font-size:14px;line-height:1.7;color:#cbd5e1;font-weight:400 }
.email-subtext { margin:0;font-size:13px;line-height:1.6;color:#64748b;font-weight:400 }
/* Divider */
.email-divider { height:1px;background:linear-gradient(90deg,transparent,rgba(255,45,149,0.3),transparent) }
/* Button */
.email-btn-row { padding:40px 40px;text-align:center }
.email-btn { display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase }
.email-btn-table { margin:0 0 24px }
/* Fallback link */
.email-link-box { border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04) }
.email-link-label { margin:0 0 8px;font-size:12px;color:#64748b;font-weight:400 }
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all }
/* Footer */
.email-footer { padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);text-align:center }
.email-footer-text { margin:0;font-size:11px;color:#475569;font-weight:400 }
.email-footer-link { color:#ff2d95;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#00d4ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#ff2d95!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#ff6db5!important }
.card-body li { color:#cbd5e1!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:32px 20px!important }
.email-btn-row { padding:24px 20px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#0a0a0f;font-family:system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#0a0a0f;-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:#0d0d18;border:1px solid #ff2d95;box-shadow:0 0 20px rgba(255,45,149,0.3),0 0 60px rgba(0,212,255,0.1);">
<!-- header -->
<tr><td height="72" style="padding:0;background:linear-gradient(160deg,#ff2d95 28%,#0d0d18 28.5%);">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td class="resp-pad" style="padding:22px 32px 0;text-align:right;">
<span style="font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase;">{{AppName}}</span>
</td></tr></table>
</td></tr>
<!-- greeting -->
<tr><td class="resp-pad" style="padding:8px 32px 0;text-align:right;">
<p style="margin:0;font-size:15px;color:#00d4ff;font-weight:600;">{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}</p>
</td></tr>
<!-- body -->
<tr><td class="resp-pad" style="padding:8px 32px 24px;color:#e2e8f0;">
<p class="resp-font" style="margin:0 0 8px;font-size:14px;line-height:1.7;color:#cbd5e1;">{{.locale.Tr "mail.reset_password.text" .ResetPwdCodeLives}}</p>
<p class="resp-font" style="margin:0 0 24px;font-size:13px;color:#64748b;line-height:1.6;"></p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<span class="email-brand">{{AppName}}</span>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p class="email-text">
{{.locale.Tr "mail.reset_password.text" .ResetPwdCodeLives}}
</p>
<p class="email-subtext"></p>
</td>
</tr>
<!-- Divider -->
<tr>
<td class="email-divider"></td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
{{$recover_url := printf "%suser/recover_account?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 24px;"><tr><td>
<a href="{{$recover_url}}" class="resp-btn" style="display:inline-block;padding:13px 36px;font-size:14px;font-weight:700;color:#0a0a0f;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px rgba(255,45,149,0.4);letter-spacing:1px;text-transform:uppercase;">Reset Password</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid rgba(0,212,255,0.2);background:rgba(0,212,255,0.04);"><tr><td style="padding:14px 16px;">
<p style="margin:0 0 6px;font-size:12px;color:#00d4ff;"><span style="color:#64748b;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span></p>
<p style="margin:0;font-size:11px;font-family:monospace;color:#00d4ff;background:rgba(0,0,0,0.3);padding:8px 10px;border:1px solid rgba(0,212,255,0.15);word-break:break-all;">{{$recover_url}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:16px 32px;border-top:1px solid rgba(255,45,149,0.15);background:rgba(255,45,149,0.03);">
<p style="margin:0;font-size:11px;color:#475569;text-align:center;">&copy; <a href="{{AppUrl}}" style="color:#ff2d95;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-table">
<tr>
<td align="center">
<a href="{{$recover_url}}" class="email-btn">{{.locale.Tr "mail.reset_password"}}</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:14px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$recover_url}}</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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+106 -32
View File
@@ -2,74 +2,148 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{AppName}} &gt; team_invite</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.team_invite.subject" (.Inviter.DisplayName|DotEscape) (.Organization.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #0d1117; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0d1117 }
.email-wrap { max-width:600px;margin:40px auto;font-family:'JetBrains Mono','Fira Code','Consolas','Courier New',monospace }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:16px;font-weight:700;color:#00ff41;letter-spacing:0.5px }
.email-header { padding:24px 28px 16px;text-align:left;border-bottom:2px solid #30363d;background:#161b22 }
/* Card */
.email-card { padding:28px 28px 20px;background:#161b22;color:#c9d1d9 }
.email-heading { margin:0 0 12px;font-size:15px;font-weight:400;color:#58a6ff;line-height:1.6 }
.email-text { margin:0 0 8px;font-size:14px;line-height:1.6;color:#c9d1d9;font-weight:400 }
.email-subtext { margin:0 0 20px;font-size:14px;line-height:1.6;color:#8b949e;font-weight:400 }
/* Divider */
.email-divider { height:2px;background:#30363d;margin:0 }
/* Button */
.email-btn-row { padding:28px 28px 20px;text-align:left;background:#161b22 }
.email-btn { display:inline-block;padding:11px 24px;font-size:14px;font-weight:700;color:#0d1117;text-decoration:none;background-color:#00ff41;border:2px solid #00ff41;font-family:'JetBrains Mono','Fira Code','Consolas',monospace;letter-spacing:0.5px }
.email-btn-table { margin:24px 0 20px;border-collapse:separate }
/* Fallback link */
.email-link-box { background:#0d1117;border:1px solid #30363d;margin:20px 0 12px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8b949e;font-weight:400 }
.email-link-url { margin:0;font-size:12px;color:#58a6ff;word-break:break-all;line-height:1.6 }
/* Footer */
.email-footer { padding:16px 28px 20px;text-align:left;border-top:1px solid #30363d;background:#0d1117 }
.email-footer-text { margin:0;font-size:12px;color:#484f58;font-weight:400 }
.email-footer-link { color:#58a6ff;text-decoration:none;font-weight:400 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#58a6ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#58a6ff!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#79c0ff!important }
.card-body li { color:#c9d1d9!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:20px 16px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0; padding:0; background-color:#0d1117; font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', 'Courier New', monospace; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#161b22; border:2px solid #30363d;">
<body style="margin:0;padding:0;background:#0d1117;-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" class="email-wrap">
<div style="padding:24px 28px 16px; border-bottom:2px solid #30363d;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<span style="font-size:16px; font-weight:700; color:#00ff41; letter-spacing:0.5px;">&gt; {{AppName}}</span>
<td class="email-header">
<span class="email-brand">&gt; {{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:28px 28px 20px; color:#c9d1d9;">
<p style="margin:0 0 12px; font-size:15px; line-height:1.6; color:#58a6ff;">
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" .Invite.Email}}
</p>
<p style="margin:0 0 8px; font-size:14px; line-height:1.6; color:#c9d1d9;">
<p class="email-text">
{{.locale.Tr "mail.team_invite.text_1" (DotEscape .Inviter.DisplayName) (DotEscape .Team.Name) (DotEscape .Organization.DisplayName)}}
</p>
<p style="margin:0 0 20px; font-size:14px; line-height:1.6; color:#8b949e;">
<p class="email-subtext">
{{.locale.Tr "mail.team_invite.text_2"}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:24px 0 20px; border-collapse:separate;">
</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="left">
<a href="{{.InviteURL}}" style="display:inline-block; padding:11px 24px; font-size:14px; font-weight:700; color:#0d1117; text-decoration:none; background-color:#00ff41; border:2px solid #00ff41; font-family:'JetBrains Mono','Fira Code','Consolas',monospace; letter-spacing:0.5px;">$ join_team --accept</a>
<a href="{{.InviteURL}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#0d1117; border:1px solid #30363d; padding:14px 16px; margin:20px 0 12px;">
<p style="margin:0 0 6px; font-size:12px; color:#8b949e;"><span style="color:#8b949e;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span>
</p>
<p style="margin:0; font-size:12px; color:#58a6ff; word-break:break-all; line-height:1.6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:14px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">
┌─<br>
│ {{.InviteURL}}<br>
└─
</p>
</div>
</td>
</tr>
</table>
<p style="margin:16px 0 0; font-size:13px; color:#8b949e; line-height:1.6;">
<p class="email-subtext" style="margin-top:16px;">
{{.locale.Tr "mail.team_invite.text_3" .Invite.Email}}
</p>
</div>
<div style="padding:16px 28px 20px; border-top:1px solid #30363d; background:#0d1117;">
<p style="margin:0; font-size:12px; color:#484f58;">
<span style="color:#8b949e;">#</span> &copy; <a href="{{AppUrl}}" style="color:#58a6ff; text-decoration:none;">{{AppName}}</a>
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
<span style="color:#8b949e;">#</span> &copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
</p>
<p style="margin:4px 0 0; font-size:11px; color:#484f58;">
<p class="email-footer-text" style="margin:4px 0 0;font-size:11px;">
<span style="color:#8b949e;">#</span> if (!$expecting) { ignore(); }
</p>
</div>
</div>
</td>
</tr>
</table>
</center>
</body>
</html>
@@ -2,72 +2,149 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #0d1117; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0d1117 }
.email-wrap { max-width:600px;margin:40px auto;font-family:'JetBrains Mono','Fira Code','Consolas','Courier New',monospace }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:16px;font-weight:700;color:#00ff41;letter-spacing:0.5px }
.email-header { padding:24px 28px 16px;text-align:left;border-bottom:2px solid #30363d;background:#161b22 }
/* Card */
.email-card { padding:28px 28px 20px;background:#161b22;color:#c9d1d9 }
.email-heading { margin:0 0 12px;font-size:15px;font-weight:400;color:#58a6ff;line-height:1.6 }
.email-text { margin:0 0 8px;font-size:14px;line-height:1.6;color:#c9d1d9;font-weight:400 }
.email-subtext { margin:0 0 20px;font-size:14px;line-height:1.6;color:#8b949e;font-weight:400 }
/* Divider */
.email-divider { height:2px;background:#30363d;margin:0 }
/* Button */
.email-btn-row { padding:28px 28px 20px;text-align:left;background:#161b22 }
.email-btn { display:inline-block;padding:11px 24px;font-size:14px;font-weight:700;color:#0d1117;text-decoration:none;background-color:#00ff41;border:2px solid #00ff41;font-family:'JetBrains Mono','Fira Code','Consolas',monospace;letter-spacing:0.5px }
.email-btn-table { margin:24px 0 20px;border-collapse:separate }
/* Fallback link */
.email-link-box { background:#0d1117;border:1px solid #30363d;margin:20px 0 12px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8b949e;font-weight:400 }
.email-link-url { margin:0;font-size:12px;color:#58a6ff;word-break:break-all;line-height:1.6 }
/* Footer */
.email-footer { padding:16px 28px 20px;text-align:left;border-top:1px solid #30363d;background:#0d1117 }
.email-footer-text { margin:0;font-size:12px;color:#484f58;font-weight:400 }
.email-footer-link { color:#58a6ff;text-decoration:none;font-weight:400 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#58a6ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#58a6ff!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#79c0ff!important }
.card-body li { color:#c9d1d9!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:20px 16px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0; padding:0; background-color:#0d1117; font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', 'Courier New', monospace; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#161b22; border:2px solid #30363d;">
<body style="margin:0;padding:0;background:#0d1117;-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" class="email-wrap">
<div style="padding:24px 28px 16px; border-bottom:2px solid #30363d;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<span style="font-size:16px; font-weight:700; color:#00ff41; letter-spacing:0.5px;">&gt; {{AppName}}</span>
<td class="email-header">
<span class="email-brand">&gt; {{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:28px 28px 20px; color:#c9d1d9;">
<h2 style="font-size:16px; font-weight:700; color:#58a6ff; margin:0 0 16px;">
{{.Repo.FullName}} :: {{.Run.WorkflowID}} — {{.RunStatusText}}
</h2>
<!-- Card -->
<tr>
<td class="email-card card-body">
<ul style="list-style: none; padding: 0; margin: 0 0 24px 0;">
<p class="email-heading"></p>
<p class="email-text">
<h2>{{.Repo.FullName}} :: {{.Run.WorkflowID}} &mdash; {{.RunStatusText}}</h2>
<ul style="list-style:none;padding:0;margin:0 0 24px 0;">
{{range $job := .Jobs}}
<li style="background-color: #0d1117; border: 1px solid #30363d; padding: 12px 16px; margin-bottom: 8px;">
<a href="{{$job.HTMLURL}}" style="color:#58a6ff; text-decoration:none; font-weight:700; font-size:14px; display:block;">
[{{$job.Status}}] {{$job.Name}}{{if gt $job.Attempt 1}} (retry #{{$job.Attempt}}){{end}} — {{$job.Duration}}
<li style="background-color:#0d1117;border:1px solid #30363d;padding:12px 16px;margin-bottom:8px;">
<a href="{{$job.HTMLURL}}" style="color:#58a6ff;text-decoration:none;font-weight:700;font-size:14px;display:block;">
[{{$job.Status}}] {{$job.Name}}{{if gt $job.Attempt 1}} (retry #{{$job.Attempt}}){{end}} &mdash; {{$job.Duration}}
</a>
</li>
{{end}}
</ul>
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:16px 0 20px; border-collapse:separate;">
<p class="email-subtext"></p>
</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="left">
<a href="{{.Run.HTMLURL}}" style="display:inline-block; padding:11px 24px; font-size:14px; font-weight:700; color:#0d1117; text-decoration:none; background-color:#00ff41; border:2px solid #00ff41; font-family:'JetBrains Mono','Fira Code','Consolas',monospace; letter-spacing:0.5px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<a href="{{.Run.HTMLURL}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#0d1117; border:1px solid #30363d; padding:14px 16px; margin:20px 0 12px;">
<p style="margin:0 0 6px; font-size:12px; color:#8b949e;"><span style="color:#8b949e;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span>
</p>
<p style="margin:0; font-size:12px; color:#58a6ff; word-break:break-all; line-height:1.6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:14px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">
┌─<br>
│ {{.Run.HTMLURL}}<br>
└─
</p>
</div>
</div>
</td>
</tr>
</table>
<div style="padding:16px 28px 20px; border-top:1px solid #30363d; background:#0d1117;">
<p style="margin:0; font-size:12px; color:#484f58;">
<span style="color:#8b949e;">#</span> &copy; <a href="{{AppUrl}}" style="color:#58a6ff; text-decoration:none;">{{AppName}}</a>
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
<span style="color:#8b949e;">#</span> &copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
</p>
<p style="margin:4px 0 0; font-size:11px; color:#484f58;">
<p class="email-footer-text" style="margin:4px 0 0;font-size:11px;">
<span style="color:#8b949e;">#</span> if (!$expecting) { ignore(); }
</p>
</div>
</div>
</td>
</tr>
</table>
</center>
</body>
</html>
+107 -30
View File
@@ -2,63 +2,140 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #0d1117; }
code { background: #0d1117; padding: 2px 6px; border: 1px solid #30363d; font-family: 'JetBrains Mono','Fira Code','Consolas',monospace; font-size: 14px; color: #00ff41; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0d1117 }
.email-wrap { max-width:600px;margin:40px auto;font-family:'JetBrains Mono','Fira Code','Consolas','Courier New',monospace }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:16px;font-weight:700;color:#00ff41;letter-spacing:0.5px }
.email-header { padding:24px 28px 16px;text-align:left;border-bottom:2px solid #30363d;background:#161b22 }
/* Card */
.email-card { padding:28px 28px 20px;background:#161b22;color:#c9d1d9 }
.email-heading { margin:0 0 12px;font-size:15px;font-weight:400;color:#58a6ff;line-height:1.6 }
.email-text { margin:0 0 20px;font-size:14px;line-height:1.6;color:#c9d1d9;font-weight:400 }
.email-subtext { margin:0 0 20px;font-size:14px;line-height:1.6;color:#8b949e;font-weight:400 }
/* Divider */
.email-divider { height:2px;background:#30363d;margin:0 }
/* Button */
.email-btn-row { padding:28px 28px 20px;text-align:left;background:#161b22 }
.email-btn { display:inline-block;padding:11px 24px;font-size:14px;font-weight:700;color:#0d1117;text-decoration:none;background-color:#00ff41;border:2px solid #00ff41;font-family:'JetBrains Mono','Fira Code','Consolas',monospace;letter-spacing:0.5px }
.email-btn-table { margin:24px 0 20px;border-collapse:separate }
/* Fallback link */
.email-link-box { background:#0d1117;border:1px solid #30363d;margin:20px 0 12px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8b949e;font-weight:400 }
.email-link-url { margin:0;font-size:12px;color:#58a6ff;word-break:break-all;line-height:1.6 }
/* Footer */
.email-footer { padding:16px 28px 20px;text-align:left;border-top:1px solid #30363d;background:#0d1117 }
.email-footer-text { margin:0;font-size:12px;color:#484f58;font-weight:400 }
.email-footer-link { color:#58a6ff;text-decoration:none;font-weight:400 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#58a6ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#58a6ff!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#79c0ff!important }
.card-body li { color:#c9d1d9!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:20px 16px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0; padding:0; background-color:#0d1117; font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', 'Courier New', monospace; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#161b22; border:2px solid #30363d;">
<body style="margin:0;padding:0;background:#0d1117;-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" class="email-wrap">
<div style="padding:24px 28px 16px; border-bottom:2px solid #30363d;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<span style="font-size:16px; font-weight:700; color:#00ff41; letter-spacing:0.5px;">&gt; {{AppName}}</span>
<td class="email-header">
<span class="email-brand">&gt; {{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:28px 28px 20px; color:#c9d1d9;">
<p style="margin:0 0 20px; font-size:14px; line-height:1.6; color:#c9d1d9;">
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading"></p>
<p class="email-text">
{{.locale.Tr "mail.repo.collaborator.added.text"}} <code>{{.RepoName}}</code>.
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:24px 0 20px; border-collapse:separate;">
<p class="email-subtext"></p>
</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="left">
<a href="{{.Link}}" style="display:inline-block; padding:11px 24px; font-size:14px; font-weight:700; color:#0d1117; text-decoration:none; background-color:#00ff41; border:2px solid #00ff41; font-family:'JetBrains Mono','Fira Code','Consolas',monospace; letter-spacing:0.5px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#0d1117; border:1px solid #30363d; padding:14px 16px; margin:20px 0 12px;">
<p style="margin:0 0 6px; font-size:12px; color:#8b949e;"><span style="color:#8b949e;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span>
</p>
<p style="margin:0; font-size:12px; color:#58a6ff; word-break:break-all; line-height:1.6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:14px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">
┌─<br>
│ {{.Link}}<br>
└─
</p>
</div>
</div>
</td>
</tr>
</table>
<div style="padding:16px 28px 20px; border-top:1px solid #30363d; background:#0d1117;">
<p style="margin:0; font-size:12px; color:#484f58;">
<span style="color:#8b949e;">#</span> &copy; <a href="{{AppUrl}}" style="color:#58a6ff; text-decoration:none;">{{AppName}}</a>
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
<span style="color:#8b949e;">#</span> &copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
</p>
<p style="margin:4px 0 0; font-size:11px; color:#484f58;">
<p class="email-footer-text" style="margin:4px 0 0;font-size:11px;">
<span style="color:#8b949e;">#</span> if (!$expecting) { ignore(); }
</p>
</div>
</div>
</td>
</tr>
</table>
</center>
</body>
</html>
+109 -31
View File
@@ -2,31 +2,84 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #0d1117; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0d1117 }
.email-wrap { max-width:600px;margin:40px auto;font-family:'JetBrains Mono','Fira Code','Consolas','Courier New',monospace }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:16px;font-weight:700;color:#00ff41;letter-spacing:0.5px }
.email-header { padding:24px 28px 16px;text-align:left;border-bottom:2px solid #30363d;background:#161b22 }
/* Card */
.email-card { padding:28px 28px 20px;background:#161b22;color:#c9d1d9 }
.email-heading { margin:0 0 12px;font-size:15px;font-weight:400;color:#58a6ff;line-height:1.6 }
.email-text { margin:0 0 20px;font-size:14px;line-height:1.6;color:#c9d1d9;font-weight:400 }
.email-subtext { margin:0 0 20px;font-size:14px;line-height:1.6;color:#8b949e;font-weight:400 }
/* Divider */
.email-divider { height:2px;background:#30363d;margin:0 }
/* Button */
.email-btn-row { padding:28px 28px 20px;text-align:left;background:#161b22 }
.email-btn { display:inline-block;padding:11px 24px;font-size:14px;font-weight:700;color:#0d1117;text-decoration:none;background-color:#00ff41;border:2px solid #00ff41;font-family:'JetBrains Mono','Fira Code','Consolas',monospace;letter-spacing:0.5px }
.email-btn-table { margin:24px 0 20px;border-collapse:separate }
/* Fallback link */
.email-link-box { background:#0d1117;border:1px solid #30363d;margin:20px 0 12px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8b949e;font-weight:400 }
.email-link-url { margin:0;font-size:12px;color:#58a6ff;word-break:break-all;line-height:1.6 }
/* Footer */
.email-footer { padding:16px 28px 20px;text-align:left;border-top:1px solid #30363d;background:#0d1117 }
.email-footer-text { margin:0;font-size:12px;color:#484f58;font-weight:400 }
.email-footer-link { color:#58a6ff;text-decoration:none;font-weight:400 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#58a6ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#58a6ff!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#79c0ff!important }
.card-body li { color:#c9d1d9!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:20px 16px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0; padding:0; background-color:#0d1117; font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', 'Courier New', monospace; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#161b22; border:2px solid #30363d;">
<body style="margin:0;padding:0;background:#0d1117;-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" class="email-wrap">
<div style="padding:24px 28px 16px; border-bottom:2px solid #30363d;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<span style="font-size:16px; font-weight:700; color:#00ff41; letter-spacing:0.5px;">&gt; {{AppName}}</span>
<td class="email-header">
<span class="email-brand">&gt; {{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:28px 28px 20px; color:#c9d1d9;">
{{$repo_url := HTMLFormat "<a href='%s' style='color:#58a6ff; text-decoration:none; font-weight:700;'>%s</a>" .Issue.Repo.HTMLURL .Issue.Repo.FullName}}
{{$link := HTMLFormat "<a href='%s' style='color:#58a6ff; text-decoration:none; font-weight:700;'>#%d</a>" .Link .Issue.Index}}
<p style="margin:0 0 20px; font-size:14px; line-height:1.6; color:#c9d1d9;">
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading"></p>
<p class="email-text">
{{$repo_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Issue.Repo.HTMLURL .Issue.Repo.FullName}}
{{$link := HTMLFormat "<a href=\047%s\047>#%d</a>" .Link .Issue.Index}}
{{if .IsPull}}
{{.locale.Tr "mail.issue_assigned.pull" .Doer.Name $link $repo_url}}
{{else}}
@@ -34,36 +87,61 @@
{{end}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:24px 0 20px; border-collapse:separate;">
<p class="email-subtext"></p>
</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="left">
<a href="{{.Link}}" style="display:inline-block; padding:11px 24px; font-size:14px; font-weight:700; color:#0d1117; text-decoration:none; background-color:#00ff41; border:2px solid #00ff41; font-family:'JetBrains Mono','Fira Code','Consolas',monospace; letter-spacing:0.5px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#0d1117; border:1px solid #30363d; padding:14px 16px; margin:20px 0 12px;">
<p style="margin:0 0 6px; font-size:12px; color:#8b949e;"><span style="color:#8b949e;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span>
</p>
<p style="margin:0; font-size:12px; color:#58a6ff; word-break:break-all; line-height:1.6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:14px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">
┌─<br>
│ {{.Link}}<br>
└─
</p>
</div>
</div>
</td>
</tr>
</table>
<div style="padding:16px 28px 20px; border-top:1px solid #30363d; background:#0d1117;">
<p style="margin:0; font-size:12px; color:#484f58;">
<span style="color:#8b949e;">#</span> &copy; <a href="{{AppUrl}}" style="color:#58a6ff; text-decoration:none;">{{AppName}}</a>
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
<span style="color:#8b949e;">#</span> &copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
</p>
<p style="margin:4px 0 0; font-size:11px; color:#484f58;">
<p class="email-footer-text" style="margin:4px 0 0;font-size:11px;">
<span style="color:#8b949e;">#</span> if (!$expecting) { ignore(); }
</p>
</div>
</div>
</td>
</tr>
</table>
</center>
</body>
</html>
+128 -50
View File
@@ -2,50 +2,107 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #0d1117; }
blockquote { padding-left: 1em; margin: 1em 0; border-left: 2px solid #30363d; color: #8b949e; }
pre { background: #0d1117; padding: 12px; overflow-x: auto; font-size: 13px; line-height: 1.5; color: #c9d1d9; border: 1px solid #30363d; }
hr { border: none; border-top: 1px solid #30363d; margin: 20px 0; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0d1117 }
.email-wrap { max-width:600px;margin:40px auto;font-family:'JetBrains Mono','Fira Code','Consolas','Courier New',monospace }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:16px;font-weight:700;color:#00ff41;letter-spacing:0.5px }
.email-header { padding:24px 28px 16px;text-align:left;border-bottom:2px solid #30363d;background:#161b22 }
/* Card */
.email-card { padding:28px 28px 20px;background:#161b22;color:#c9d1d9 }
.email-heading { margin:0 0 12px;font-size:15px;font-weight:400;color:#58a6ff;line-height:1.6 }
.email-text { margin:0 0 8px;font-size:14px;line-height:1.6;color:#c9d1d9;font-weight:400 }
.email-subtext { margin:0 0 20px;font-size:14px;line-height:1.6;color:#8b949e;font-weight:400 }
/* Divider */
.email-divider { height:2px;background:#30363d;margin:0 }
/* Button */
.email-btn-row { padding:28px 28px 20px;text-align:left;background:#161b22 }
.email-btn { display:inline-block;padding:11px 24px;font-size:14px;font-weight:700;color:#0d1117;text-decoration:none;background-color:#00ff41;border:2px solid #00ff41;font-family:'JetBrains Mono','Fira Code','Consolas',monospace;letter-spacing:0.5px }
.email-btn-table { margin:24px 0 20px;border-collapse:separate }
/* Fallback link */
.email-link-box { background:#0d1117;border:1px solid #30363d;margin:20px 0 12px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8b949e;font-weight:400 }
.email-link-url { margin:0;font-size:12px;color:#58a6ff;word-break:break-all;line-height:1.6 }
/* Footer */
.email-footer { padding:16px 28px 20px;text-align:left;border-top:1px solid #30363d;background:#0d1117 }
.email-footer-text { margin:0;font-size:12px;color:#484f58;font-weight:400 }
.email-footer-link { color:#58a6ff;text-decoration:none;font-weight:400 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#58a6ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#58a6ff!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#79c0ff!important }
.card-body li { color:#c9d1d9!important }
.card-body blockquote { padding-left:1em;margin:1em 0;border-left:2px solid #30363d;color:#8b949e }
.card-body pre { background:#0d1117;padding:12px;overflow-x:auto;font-size:13px;line-height:1.5;color:#c9d1d9;border:1px solid #30363d }
.card-body hr { border:none;border-top:1px solid #30363d;margin:20px 0 }
.card-body img { border:0;max-width:100% }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:20px 16px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0; padding:0; background-color:#0d1117; font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', 'Courier New', monospace; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#161b22; border:2px solid #30363d;">
<body style="margin:0;padding:0;background:#0d1117;-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" class="email-wrap">
<div style="padding:24px 28px 16px; border-bottom:2px solid #30363d;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<span style="font-size:16px; font-weight:700; color:#00ff41; letter-spacing:0.5px;">&gt; {{AppName}}</span>
<td class="email-header">
<span class="email-brand">&gt; {{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:28px 28px 20px; color:#c9d1d9;">
{{if .IsMention}}<p style="margin:0 0 16px; font-size:14px; line-height:1.6; color:#c9d1d9;">{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>{{end}}
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading"></p>
<p class="email-text">
{{if .IsMention}}
<p>{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>
{{end}}
{{if eq .ActionName "push"}}
<p style="margin:0 0 16px; font-size:14px; line-height:1.6; color:#c9d1d9;">
<p>
{{if .Comment.IsForcePush}}
{{$oldCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.OldCommit}}
{{$oldShortSha := ShortSha .Comment.OldCommit}}
{{$oldCommitLink := HTMLFormat "<a href='%[1]s' style='color:#58a6ff; text-decoration:none; font-weight:700;'>%[2]s</a>" $oldCommitUrl $oldShortSha}}
{{$oldCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $oldCommitUrl $oldShortSha}}
{{$newCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.NewCommit}}
{{$newShortSha := ShortSha .Comment.NewCommit}}
{{$newCommitLink := HTMLFormat "<a href='%[1]s' style='color:#58a6ff; text-decoration:none; font-weight:700;'>%[2]s</a>" $newCommitUrl $newShortSha}}
{{$newCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $newCommitUrl $newShortSha}}
{{.locale.Tr "mail.issue.action.force_push" .Doer.Name .Comment.Issue.PullRequest.HeadBranch $oldCommitLink $newCommitLink}}
{{else}}
{{.locale.TrN (len .Comment.Commits) "mail.issue.action.push_1" "mail.issue.action.push_n" .Doer.Name .Comment.Issue.PullRequest.HeadBranch (len .Comment.Commits)}}
{{end}}
</p>
{{end}}
<p style="margin:0 0 16px; font-size:14px; line-height:1.6; color:#c9d1d9;">
<p>
{{if eq .ActionName "close"}}
{{.locale.Tr "mail.issue.action.close" .Doer.Name .Issue.Index}}
{{else if eq .ActionName "reopen"}}
@@ -63,68 +120,89 @@
{{else if eq .ActionName "ready_for_review"}}
{{.locale.Tr "mail.issue.action.ready_for_review" .Doer.Name}}
{{end}}
{{- if eq .Body ""}}
{{if eq .ActionName "new"}}
{{.locale.Tr "mail.issue.action.new" .Doer.Name .Issue.Index}}
{{end}}
{{else}}
{{.Body}}
<span>{{.Body}}</span>
{{end -}}
</p>
{{- range .ReviewComments}}
<hr>
<p style="margin:8px 0; font-size:13px; color:#8b949e;">{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p>
<div style="padding-left: 1em; margin: 1em 0;">
<p>{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p>
<pre>{{.Patch}}</pre>
<div style="margin-top:8px; font-size:14px; line-height:1.6;">{{.RenderedContent}}</div>
</div>
<div>{{.RenderedContent}}</div>
{{end -}}
{{if eq .ActionName "push"}}
<ul style="margin:16px 0; padding-left:18px;">
<ul>
{{range .Comment.Commits}}
<li style="margin-bottom:6px; font-size:14px;">
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}" style="color:#58a6ff; text-decoration:none; font-weight:700;">
{{ShortSha .ID.String}}
</a> — {{.MessageTitle}}
<li>
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}">{{ShortSha .ID.String}}</a> - {{.MessageTitle}}
</li>
{{end}}
</ul>
{{end}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:24px 0 20px; border-collapse:separate;">
<p class="email-subtext"></p>
</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="left">
<a href="{{.Link}}" style="display:inline-block; padding:11px 24px; font-size:14px; font-weight:700; color:#0d1117; text-decoration:none; background-color:#00ff41; border:2px solid #00ff41; font-family:'JetBrains Mono','Fira Code','Consolas',monospace; letter-spacing:0.5px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#0d1117; border:1px solid #30363d; padding:14px 16px; margin:20px 0 12px;">
<p style="margin:0 0 6px; font-size:12px; color:#8b949e;">
{{.locale.Tr "mail.link_not_working_do_paste"}}
</p>
<p style="margin:0; font-size:12px; color:#58a6ff; word-break:break-all; line-height:1.6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:14px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">
┌─<br>
│ {{.Link}}<br>
└─
</p>
</div>
</div>
</td>
</tr>
</table>
<div style="padding:16px 28px 20px; border-top:1px solid #30363d; background:#0d1117;">
<p style="margin:0; font-size:12px; color:#484f58;">
<span style="color:#8b949e;">#</span> &copy; <a href="{{AppUrl}}" style="color:#58a6ff; text-decoration:none;">{{AppName}}</a>{{if .CanReply}}&nbsp;{{.locale.Tr "mail.reply"}}{{end}}
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
<span style="color:#8b949e;">#</span> &copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
{{if .CanReply}}&nbsp;{{.locale.Tr "mail.reply"}}{{end}}
</p>
<p style="margin:4px 0 0; font-size:11px; color:#484f58;">
<p class="email-footer-text" style="margin:4px 0 0;font-size:11px;">
<span style="color:#8b949e;">#</span> if (!$expecting) { ignore(); }
</p>
</div>
</div>
</td>
</tr>
</table>
</center>
</body>
</html>
+118 -49
View File
@@ -2,95 +2,164 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #0d1117; }
blockquote { padding-left: 1em; margin: 1em 0; border-left: 2px solid #30363d; color: #8b949e; }
ul { margin: 12px 0 16px; padding-left: 18px; }
li { margin-bottom: 6px; font-size: 14px; line-height: 1.5; color: #c9d1d9; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0d1117 }
.email-wrap { max-width:600px;margin:40px auto;font-family:'JetBrains Mono','Fira Code','Consolas','Courier New',monospace }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:16px;font-weight:700;color:#00ff41;letter-spacing:0.5px }
.email-header { padding:24px 28px 16px;text-align:left;border-bottom:2px solid #30363d;background:#161b22 }
/* Card */
.email-card { padding:28px 28px 20px;background:#161b22;color:#c9d1d9 }
.email-heading { margin:0 0 12px;font-size:15px;font-weight:400;color:#58a6ff;line-height:1.6 }
.email-text { margin:0 0 8px;font-size:14px;line-height:1.6;color:#c9d1d9;font-weight:400 }
.email-subtext { margin:0 0 20px;font-size:14px;line-height:1.6;color:#8b949e;font-weight:400 }
/* Divider */
.email-divider { height:2px;background:#30363d;margin:0 }
/* Button */
.email-btn-row { padding:28px 28px 20px;text-align:left;background:#161b22 }
.email-btn { display:inline-block;padding:11px 24px;font-size:14px;font-weight:700;color:#0d1117;text-decoration:none;background-color:#00ff41;border:2px solid #00ff41;font-family:'JetBrains Mono','Fira Code','Consolas',monospace;letter-spacing:0.5px }
.email-btn-table { margin:24px 0 20px;border-collapse:separate }
/* Fallback link */
.email-link-box { background:#0d1117;border:1px solid #30363d;margin:20px 0 12px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8b949e;font-weight:400 }
.email-link-url { margin:0;font-size:12px;color:#58a6ff;word-break:break-all;line-height:1.6 }
/* Footer */
.email-footer { padding:16px 28px 20px;text-align:left;border-top:1px solid #30363d;background:#0d1117 }
.email-footer-text { margin:0;font-size:12px;color:#484f58;font-weight:400 }
.email-footer-link { color:#58a6ff;text-decoration:none;font-weight:400 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#58a6ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#58a6ff!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#79c0ff!important }
.card-body li { color:#c9d1d9!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:20px 16px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0; padding:0; background-color:#0d1117; font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', 'Courier New', monospace; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#161b22; border:2px solid #30363d;">
<body style="margin:0;padding:0;background:#0d1117;-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" class="email-wrap">
<div style="padding:24px 28px 16px; border-bottom:2px solid #30363d;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<span style="font-size:16px; font-weight:700; color:#00ff41; letter-spacing:0.5px;">&gt; {{AppName}}</span>
<td class="email-header">
<span class="email-brand">&gt; {{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:28px 28px 20px; color:#c9d1d9;">
{{$release_url := HTMLFormat "<a href='%s' style='color:#58a6ff; text-decoration:none; font-weight:700;'>%s</a>" .Release.HTMLURL .Release.TagName}}
{{$repo_url := HTMLFormat "<a href='%s' style='color:#58a6ff; text-decoration:none; font-weight:700;'>%s</a>" .Release.Repo.HTMLURL .Release.Repo.FullName}}
<p style="margin:0 0 16px; font-size:14px; line-height:1.6; color:#c9d1d9;">
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading"></p>
<p class="email-text">
{{$release_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Release.HTMLURL .Release.TagName}}
{{$repo_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Release.Repo.HTMLURL .Release.Repo.FullName}}
{{.locale.Tr "mail.release.new.text" .Release.Publisher.Name $release_url $repo_url}}
</p>
<h4 style="margin:20px 0 8px; font-size:16px; font-weight:700; color:#00ff41;">{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
<h4>{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
<p style="margin:0 0 8px;font-weight:700;color:#00ff41;">$ {{.locale.Tr "mail.release.note"}}</p>
<p>$ {{.locale.Tr "mail.release.note"}}</p>
{{if .Release.RenderedNote}}
<div style="margin:12px 0 16px; font-size:14px; line-height:1.6; color:#c9d1d9;">
<div style="margin:12px 0 16px;font-size:14px;line-height:1.6;color:#c9d1d9;">
{{.Release.RenderedNote}}
</div>
{{end}}
<p style="margin:20px 0 8px; font-weight:700; color:#58a6ff;">{{.locale.Tr "mail.release.downloads"}}</p>
<ul style="margin:0 0 20px; padding-left:18px;">
<p style="font-weight:700;color:#58a6ff;">{{.locale.Tr "mail.release.downloads"}}</p>
<ul>
{{if not .DisableDownloadSourceArchives}}
<li>
<a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.zip" rel="nofollow" style="color:#58a6ff; text-decoration:none; font-weight:700;">{{.locale.Tr "mail.release.download.zip"}}</a>
</li>
<li>
<a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.tar.gz" rel="nofollow" style="color:#58a6ff; text-decoration:none; font-weight:700;">{{.locale.Tr "mail.release.download.targz"}}</a>
</li>
<li><a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.zip">{{.locale.Tr "mail.release.download.zip"}}</a></li>
<li><a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.tar.gz">{{.locale.Tr "mail.release.download.targz"}}</a></li>
{{end}}
{{if .Release.Attachments}}
{{range .Release.Attachments}}
<li>
<a href="{{.DownloadURL}}" target="_blank" style="color:#58a6ff; text-decoration:none; font-weight:700;">{{.Name}} ({{.Size | FileSize}})</a>
</li>
<li><a href="{{.DownloadURL}}">{{.Name}} ({{.Size | FileSize}})</a></li>
{{end}}
{{end}}
</ul>
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:16px 0 20px; border-collapse:separate;">
<p class="email-subtext"></p>
</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="left">
<a href="{{.Link}}" style="display:inline-block; padding:11px 24px; font-size:14px; font-weight:700; color:#0d1117; text-decoration:none; background-color:#00ff41; border:2px solid #00ff41; font-family:'JetBrains Mono','Fira Code','Consolas',monospace; letter-spacing:0.5px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#0d1117; border:1px solid #30363d; padding:14px 16px; margin:20px 0 12px;">
<p style="margin:0 0 6px; font-size:12px; color:#8b949e;"><span style="color:#8b949e;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span>
</p>
<p style="margin:0; font-size:12px; color:#58a6ff; word-break:break-all; line-height:1.6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:14px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">
┌─<br>
│ {{.Link}}<br>
└─
</p>
</div>
</div>
</td>
</tr>
</table>
<div style="padding:16px 28px 20px; border-top:1px solid #30363d; background:#0d1117;">
<p style="margin:0; font-size:12px; color:#484f58;">
<span style="color:#8b949e;">#</span> &copy; <a href="{{AppUrl}}" style="color:#58a6ff; text-decoration:none;">{{AppName}}</a>
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
<span style="color:#8b949e;">#</span> &copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
</p>
<p style="margin:4px 0 0; font-size:11px; color:#484f58;">
<p class="email-footer-text" style="margin:4px 0 0;font-size:11px;">
<span style="color:#8b949e;">#</span> if (!$expecting) { ignore(); }
</p>
</div>
</div>
</td>
</tr>
</table>
</center>
</body>
</html>
+108 -30
View File
@@ -2,63 +2,141 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Subject}}</title>
<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">
body, .ExternalClass, .ReadMsgBody { background-color: #0d1117; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0d1117 }
.email-wrap { max-width:600px;margin:40px auto;font-family:'JetBrains Mono','Fira Code','Consolas','Courier New',monospace }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:16px;font-weight:700;color:#00ff41;letter-spacing:0.5px }
.email-header { padding:24px 28px 16px;text-align:left;border-bottom:2px solid #30363d;background:#161b22 }
/* Card */
.email-card { padding:28px 28px 20px;background:#161b22;color:#c9d1d9 }
.email-heading { margin:0 0 12px;font-size:15px;font-weight:400;color:#58a6ff;line-height:1.6 }
.email-text { margin:0 0 20px;font-size:14px;line-height:1.6;color:#c9d1d9;font-weight:400 }
.email-subtext { margin:0 0 20px;font-size:14px;line-height:1.6;color:#8b949e;font-weight:400 }
/* Divider */
.email-divider { height:2px;background:#30363d;margin:0 }
/* Button */
.email-btn-row { padding:28px 28px 20px;text-align:left;background:#161b22 }
.email-btn { display:inline-block;padding:11px 24px;font-size:14px;font-weight:700;color:#0d1117;text-decoration:none;background-color:#00ff41;border:2px solid #00ff41;font-family:'JetBrains Mono','Fira Code','Consolas',monospace;letter-spacing:0.5px }
.email-btn-table { margin:24px 0 20px;border-collapse:separate }
/* Fallback link */
.email-link-box { background:#0d1117;border:1px solid #30363d;margin:20px 0 12px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8b949e;font-weight:400 }
.email-link-url { margin:0;font-size:12px;color:#58a6ff;word-break:break-all;line-height:1.6 }
/* Footer */
.email-footer { padding:16px 28px 20px;text-align:left;border-top:1px solid #30363d;background:#0d1117 }
.email-footer-text { margin:0;font-size:12px;color:#484f58;font-weight:400 }
.email-footer-link { color:#58a6ff;text-decoration:none;font-weight:400 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#58a6ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#58a6ff!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#79c0ff!important }
.card-body li { color:#c9d1d9!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:20px 16px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0; padding:0; background-color:#0d1117; font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', 'Courier New', monospace; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#161b22; border:2px solid #30363d;">
<body style="margin:0;padding:0;background:#0d1117;-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" class="email-wrap">
<div style="padding:24px 28px 16px; border-bottom:2px solid #30363d;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<span style="font-size:16px; font-weight:700; color:#00ff41; letter-spacing:0.5px;">&gt; {{AppName}}</span>
<td class="email-header">
<span class="email-brand">&gt; {{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:28px 28px 20px; color:#c9d1d9;">
{{$url := HTMLFormat "<a href='%[1]s' style='color:#58a6ff; text-decoration:none; font-weight:700;'>%[2]s</a>" .Link .Repo}}
<p style="margin:0 0 20px; font-size:14px; line-height:1.6; color:#c9d1d9;">
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading"></p>
<p class="email-text">
{{$url := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" .Link .Repo}}
{{.Subject}}. {{.locale.Tr "mail.repo.transfer.body" $url}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:24px 0 20px; border-collapse:separate;">
<p class="email-subtext"></p>
</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="left">
<a href="{{.Link}}" style="display:inline-block; padding:11px 24px; font-size:14px; font-weight:700; color:#0d1117; text-decoration:none; background-color:#00ff41; border:2px solid #00ff41; font-family:'JetBrains Mono','Fira Code','Consolas',monospace; letter-spacing:0.5px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
<div style="background:#0d1117; border:1px solid #30363d; padding:14px 16px; margin:20px 0 12px;">
<p style="margin:0 0 6px; font-size:12px; color:#8b949e;"><span style="color:#8b949e;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span>
</p>
<p style="margin:0; font-size:12px; color:#58a6ff; word-break:break-all; line-height:1.6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:14px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">
┌─<br>
│ {{.Link}}<br>
└─
</p>
</div>
</div>
</td>
</tr>
</table>
<div style="padding:16px 28px 20px; border-top:1px solid #30363d; background:#0d1117;">
<p style="margin:0; font-size:12px; color:#484f58;">
<span style="color:#8b949e;">#</span> &copy; <a href="{{AppUrl}}" style="color:#58a6ff; text-decoration:none;">{{AppName}}</a>
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
<span style="color:#8b949e;">#</span> &copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
</p>
<p style="margin:4px 0 0; font-size:11px; color:#484f58;">
<p class="email-footer-text" style="margin:4px 0 0;font-size:11px;">
<span style="color:#8b949e;">#</span> if (!$expecting) { ignore(); }
</p>
</div>
</div>
</td>
</tr>
</table>
</center>
</body>
</html>
+108 -31
View File
@@ -2,69 +2,146 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #0d1117; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0d1117 }
.email-wrap { max-width:600px;margin:40px auto;font-family:'JetBrains Mono','Fira Code','Consolas','Courier New',monospace }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:16px;font-weight:700;color:#00ff41;letter-spacing:0.5px }
.email-header { padding:24px 28px 16px;text-align:left;border-bottom:2px solid #30363d;background:#161b22 }
/* Card */
.email-card { padding:28px 28px 20px;background:#161b22;color:#c9d1d9 }
.email-heading { margin:0 0 12px;font-size:15px;font-weight:400;color:#58a6ff;line-height:1.6 }
.email-text { margin:0 0 8px;font-size:14px;line-height:1.6;color:#c9d1d9;font-weight:400 }
.email-subtext { margin:0 0 20px;font-size:14px;line-height:1.6;color:#8b949e;font-weight:400 }
/* Divider */
.email-divider { height:2px;background:#30363d;margin:0 }
/* Button */
.email-btn-row { padding:28px 28px 20px;text-align:left;background:#161b22 }
.email-btn { display:inline-block;padding:11px 24px;font-size:14px;font-weight:700;color:#0d1117;text-decoration:none;background-color:#00ff41;border:2px solid #00ff41;font-family:'JetBrains Mono','Fira Code','Consolas',monospace;letter-spacing:0.5px }
.email-btn-table { margin:24px 0 20px;border-collapse:separate }
/* Fallback link */
.email-link-box { background:#0d1117;border:1px solid #30363d;margin:20px 0 12px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8b949e;font-weight:400 }
.email-link-url { margin:0;font-size:12px;color:#58a6ff;word-break:break-all;line-height:1.6 }
/* Footer */
.email-footer { padding:16px 28px 20px;text-align:left;border-top:1px solid #30363d;background:#0d1117 }
.email-footer-text { margin:0;font-size:12px;color:#484f58;font-weight:400 }
.email-footer-link { color:#58a6ff;text-decoration:none;font-weight:400 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#58a6ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#58a6ff!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#79c0ff!important }
.card-body li { color:#c9d1d9!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:20px 16px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0; padding:0; background-color:#0d1117; font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', 'Courier New', monospace; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#161b22; border:2px solid #30363d;">
<body style="margin:0;padding:0;background:#0d1117;-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" class="email-wrap">
<div style="padding:24px 28px 16px; border-bottom:2px solid #30363d;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<span style="font-size:16px; font-weight:700; color:#00ff41; letter-spacing:0.5px;">&gt; {{AppName}}</span>
<td class="email-header">
<span class="email-brand">&gt; {{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:28px 28px 20px; color:#c9d1d9;">
<p style="margin:0 0 12px; font-size:15px; line-height:1.6; color:#58a6ff;">
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 8px; font-size:14px; line-height:1.6; color:#c9d1d9;">
<p class="email-text">
{{.locale.Tr "mail.activate_account.text_1" (.DisplayName|DotEscape) AppName}}
</p>
<p style="margin:0 0 20px; font-size:14px; line-height:1.6; color:#8b949e;">
<p class="email-subtext">
{{.locale.Tr "mail.activate_account.text_2" .ActiveCodeLives}}
</p>
</td>
</tr>
<!-- Divider -->
<tr>
<td class="email-divider"></td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
{{$activate_url := printf "%suser/activate?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:24px 0 20px; border-collapse:separate;">
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-table">
<tr>
<td align="left">
<a href="{{$activate_url}}" style="display:inline-block; padding:11px 24px; font-size:14px; font-weight:700; color:#0d1117; text-decoration:none; background-color:#00ff41; border:2px solid #00ff41; font-family:'JetBrains Mono','Fira Code','Consolas',monospace; letter-spacing:0.5px;">$ activate_account</a>
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_account"}}</a>
</td>
</tr>
</table>
<div style="background:#0d1117; border:1px solid #30363d; padding:14px 16px; margin:20px 0 12px;">
<p style="margin:0 0 6px; font-size:12px; color:#8b949e;"><span style="color:#8b949e;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span>
</p>
<p style="margin:0; font-size:12px; color:#58a6ff; word-break:break-all; line-height:1.6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:14px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">
┌─<br>
│ {{$activate_url}}<br>
└─
</p>
</div>
</div>
</td>
</tr>
</table>
<div style="padding:16px 28px 20px; border-top:1px solid #30363d; background:#0d1117;">
<p style="margin:0; font-size:12px; color:#484f58;">
<span style="color:#8b949e;">#</span> &copy; <a href="{{AppUrl}}" style="color:#58a6ff; text-decoration:none;">{{AppName}}</a>
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
<span style="color:#8b949e;">#</span> &copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
</p>
<p style="margin:4px 0 0; font-size:11px; color:#484f58;">
<p class="email-footer-text" style="margin:4px 0 0;font-size:11px;">
<span style="color:#8b949e;">#</span> if (!$expecting) { ignore(); }
</p>
</div>
</div>
</td>
</tr>
</table>
</center>
</body>
</html>
@@ -2,66 +2,144 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #0d1117; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0d1117 }
.email-wrap { max-width:600px;margin:40px auto;font-family:'JetBrains Mono','Fira Code','Consolas','Courier New',monospace }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:16px;font-weight:700;color:#00ff41;letter-spacing:0.5px }
.email-header { padding:24px 28px 16px;text-align:left;border-bottom:2px solid #30363d;background:#161b22 }
/* Card */
.email-card { padding:28px 28px 20px;background:#161b22;color:#c9d1d9 }
.email-heading { margin:0 0 12px;font-size:15px;font-weight:400;color:#58a6ff;line-height:1.6 }
.email-text { margin:0 0 20px;font-size:14px;line-height:1.6;color:#c9d1d9;font-weight:400 }
.email-subtext { margin:0 0 20px;font-size:14px;line-height:1.6;color:#8b949e;font-weight:400 }
/* Divider */
.email-divider { height:2px;background:#30363d;margin:0 }
/* Button */
.email-btn-row { padding:28px 28px 20px;text-align:left;background:#161b22 }
.email-btn { display:inline-block;padding:11px 24px;font-size:14px;font-weight:700;color:#0d1117;text-decoration:none;background-color:#00ff41;border:2px solid #00ff41;font-family:'JetBrains Mono','Fira Code','Consolas',monospace;letter-spacing:0.5px }
.email-btn-table { margin:24px 0 20px;border-collapse:separate }
/* Fallback link */
.email-link-box { background:#0d1117;border:1px solid #30363d;margin:20px 0 12px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8b949e;font-weight:400 }
.email-link-url { margin:0;font-size:12px;color:#58a6ff;word-break:break-all;line-height:1.6 }
/* Footer */
.email-footer { padding:16px 28px 20px;text-align:left;border-top:1px solid #30363d;background:#0d1117 }
.email-footer-text { margin:0;font-size:12px;color:#484f58;font-weight:400 }
.email-footer-link { color:#58a6ff;text-decoration:none;font-weight:400 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#58a6ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#58a6ff!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#79c0ff!important }
.card-body li { color:#c9d1d9!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:20px 16px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0; padding:0; background-color:#0d1117; font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', 'Courier New', monospace; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#161b22; border:2px solid #30363d;">
<body style="margin:0;padding:0;background:#0d1117;-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" class="email-wrap">
<div style="padding:24px 28px 16px; border-bottom:2px solid #30363d;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<span style="font-size:16px; font-weight:700; color:#00ff41; letter-spacing:0.5px;">&gt; {{AppName}}</span>
<td class="email-header">
<span class="email-brand">&gt; {{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:28px 28px 20px; color:#c9d1d9;">
<p style="margin:0 0 12px; font-size:15px; line-height:1.6; color:#58a6ff;">
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 20px; font-size:14px; line-height:1.6; color:#c9d1d9;">
<p class="email-text">
{{.locale.Tr "mail.activate_email.text" .ActiveCodeLives}}
</p>
<p class="email-subtext"></p>
</td>
</tr>
<!-- Divider -->
<tr>
<td class="email-divider"></td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
{{$activate_url := printf "%suser/activate_email?code=%s&email=%s" AppUrl (QueryEscape .Code) (QueryEscape .Email)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:24px 0 20px; border-collapse:separate;">
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-table">
<tr>
<td align="left">
<a href="{{$activate_url}}" style="display:inline-block; padding:11px 24px; font-size:14px; font-weight:700; color:#0d1117; text-decoration:none; background-color:#00ff41; border:2px solid #00ff41; font-family:'JetBrains Mono','Fira Code','Consolas',monospace; letter-spacing:0.5px;">$ verify_email</a>
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_email"}}</a>
</td>
</tr>
</table>
<div style="background:#0d1117; border:1px solid #30363d; padding:14px 16px; margin:20px 0 12px;">
<p style="margin:0 0 6px; font-size:12px; color:#8b949e;"><span style="color:#8b949e;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span>
</p>
<p style="margin:0; font-size:12px; color:#58a6ff; word-break:break-all; line-height:1.6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:14px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">
┌─<br>
│ {{$activate_url}}<br>
└─
</p>
</div>
</div>
</td>
</tr>
</table>
<div style="padding:16px 28px 20px; border-top:1px solid #30363d; background:#0d1117;">
<p style="margin:0; font-size:12px; color:#484f58;">
<span style="color:#8b949e;">#</span> &copy; <a href="{{AppUrl}}" style="color:#58a6ff; text-decoration:none;">{{AppName}}</a>
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
<span style="color:#8b949e;">#</span> &copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
</p>
<p style="margin:4px 0 0; font-size:11px; color:#484f58;">
<p class="email-footer-text" style="margin:4px 0 0;font-size:11px;">
<span style="color:#8b949e;">#</span> if (!$expecting) { ignore(); }
</p>
</div>
</div>
</td>
</tr>
</table>
</center>
</body>
</html>
@@ -2,73 +2,149 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #0d1117; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0d1117 }
.email-wrap { max-width:600px;margin:40px auto;font-family:'JetBrains Mono','Fira Code','Consolas','Courier New',monospace }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:16px;font-weight:700;color:#00ff41;letter-spacing:0.5px }
.email-header { padding:24px 28px 16px;text-align:left;border-bottom:2px solid #30363d;background:#161b22 }
/* Card */
.email-card { padding:28px 28px 20px;background:#161b22;color:#c9d1d9 }
.email-heading { margin:0 0 12px;font-size:15px;font-weight:400;color:#58a6ff;line-height:1.6 }
.email-text { margin:0 0 8px;font-size:14px;line-height:1.6;color:#c9d1d9;font-weight:400 }
.email-subtext { margin:0 0 20px;font-size:14px;line-height:1.6;color:#8b949e;font-weight:400 }
/* Divider */
.email-divider { height:2px;background:#30363d;margin:0 }
/* Button */
.email-btn-row { padding:28px 28px 20px;text-align:left;background:#161b22 }
.email-btn { display:inline-block;padding:11px 24px;font-size:14px;font-weight:700;color:#0d1117;text-decoration:none;background-color:#00ff41;border:2px solid #00ff41;font-family:'JetBrains Mono','Fira Code','Consolas',monospace;letter-spacing:0.5px }
.email-btn-table { margin:24px 0 20px;border-collapse:separate }
/* Fallback link */
.email-link-box { background:#0d1117;border:1px solid #30363d;margin:20px 0 12px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8b949e;font-weight:400 }
.email-link-url { margin:0;font-size:12px;color:#58a6ff;word-break:break-all;line-height:1.6 }
/* Footer */
.email-footer { padding:16px 28px 20px;text-align:left;border-top:1px solid #30363d;background:#0d1117 }
.email-footer-text { margin:0;font-size:12px;color:#484f58;font-weight:400 }
.email-footer-link { color:#58a6ff;text-decoration:none;font-weight:400 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#58a6ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#58a6ff!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#79c0ff!important }
.card-body li { color:#c9d1d9!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:20px 16px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0; padding:0; background-color:#0d1117; font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', 'Courier New', monospace; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#161b22; border:2px solid #30363d;">
<body style="margin:0;padding:0;background:#0d1117;-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" class="email-wrap">
<div style="padding:24px 28px 16px; border-bottom:2px solid #30363d;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<span style="font-size:16px; font-weight:700; color:#00ff41; letter-spacing:0.5px;">&gt; {{AppName}}</span>
<td class="email-header">
<span class="email-brand">&gt; {{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:28px 28px 20px; color:#c9d1d9;">
<p style="margin:0 0 12px; font-size:15px; line-height:1.6; color:#58a6ff;">
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 8px; font-size:14px; line-height:1.6; color:#c9d1d9;">
<p class="email-text">
{{.locale.Tr "mail.register_notify.text_1" AppName}}
</p>
<p style="margin:0 0 20px; font-size:14px; line-height:1.6; color:#8b949e;">
<p class="email-text">
{{.locale.Tr "mail.register_notify.text_2" .Username}}
</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:24px 0 20px; border-collapse:separate;">
<p class="email-subtext">
{{$set_pwd_url := printf "%suser/forgot_password" AppUrl}}
{{.locale.Tr "mail.register_notify.text_3" $set_pwd_url}}
</p>
</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="left">
<a href="{{AppUrl}}user/login" style="display:inline-block; padding:11px 24px; font-size:14px; font-weight:700; color:#0d1117; text-decoration:none; background-color:#00ff41; border:2px solid #00ff41; font-family:'JetBrains Mono','Fira Code','Consolas',monospace; letter-spacing:0.5px;">$ ssh user@login</a>
<a href="{{AppUrl}}user/login" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td>
</tr>
</table>
{{$set_pwd_url := printf "%suser/forgot_password" AppUrl}}
<p style="margin:0 0 16px; font-size:14px; line-height:1.6; color:#8b949e;">
{{.locale.Tr "mail.register_notify.text_3" $set_pwd_url}}
</p>
<div style="background:#0d1117; border:1px solid #30363d; padding:14px 16px; margin:20px 0 12px;">
<p style="margin:0 0 6px; font-size:12px; color:#8b949e;"><span style="color:#8b949e;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span>
</p>
<p style="margin:0; font-size:12px; color:#58a6ff; word-break:break-all; line-height:1.6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:14px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">
┌─<br>
│ {{AppUrl}}user/login<br>
└─
</p>
</div>
</div>
</td>
</tr>
</table>
<div style="padding:16px 28px 20px; border-top:1px solid #30363d; background:#0d1117;">
<p style="margin:0; font-size:12px; color:#484f58;">
<span style="color:#8b949e;">#</span> &copy; <a href="{{AppUrl}}" style="color:#58a6ff; text-decoration:none;">{{AppName}}</a>
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
<span style="color:#8b949e;">#</span> &copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
</p>
<p style="margin:4px 0 0; font-size:11px; color:#484f58;">
<p class="email-footer-text" style="margin:4px 0 0;font-size:11px;">
<span style="color:#8b949e;">#</span> if (!$expecting) { ignore(); }
</p>
</div>
</div>
</td>
</tr>
</table>
</center>
</body>
</html>
+108 -30
View File
@@ -2,66 +2,144 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="x-apple-disable-message-reformatting" />
<title>
{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body, .ExternalClass, .ReadMsgBody { background-color: #0d1117; }
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#0d1117 }
.email-wrap { max-width:600px;margin:40px auto;font-family:'JetBrains Mono','Fira Code','Consolas','Courier New',monospace }
/* Header */
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
.email-brand { font-size:16px;font-weight:700;color:#00ff41;letter-spacing:0.5px }
.email-header { padding:24px 28px 16px;text-align:left;border-bottom:2px solid #30363d;background:#161b22 }
/* Card */
.email-card { padding:28px 28px 20px;background:#161b22;color:#c9d1d9 }
.email-heading { margin:0 0 12px;font-size:15px;font-weight:400;color:#58a6ff;line-height:1.6 }
.email-text { margin:0 0 20px;font-size:14px;line-height:1.6;color:#c9d1d9;font-weight:400 }
.email-subtext { margin:0 0 20px;font-size:14px;line-height:1.6;color:#8b949e;font-weight:400 }
/* Divider */
.email-divider { height:2px;background:#30363d;margin:0 }
/* Button */
.email-btn-row { padding:28px 28px 20px;text-align:left;background:#161b22 }
.email-btn { display:inline-block;padding:11px 24px;font-size:14px;font-weight:700;color:#0d1117;text-decoration:none;background-color:#00ff41;border:2px solid #00ff41;font-family:'JetBrains Mono','Fira Code','Consolas',monospace;letter-spacing:0.5px }
.email-btn-table { margin:24px 0 20px;border-collapse:separate }
/* Fallback link */
.email-link-box { background:#0d1117;border:1px solid #30363d;margin:20px 0 12px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8b949e;font-weight:400 }
.email-link-url { margin:0;font-size:12px;color:#58a6ff;word-break:break-all;line-height:1.6 }
/* Footer */
.email-footer { padding:16px 28px 20px;text-align:left;border-top:1px solid #30363d;background:#0d1117 }
.email-footer-text { margin:0;font-size:12px;color:#484f58;font-weight:400 }
.email-footer-link { color:#58a6ff;text-decoration:none;font-weight:400 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#58a6ff!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#58a6ff!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#79c0ff!important }
.card-body li { color:#c9d1d9!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:20px 16px!important }
.email-heading { font-size:14px!important }
}
</style>
</head>
<body style="margin:0; padding:0; background-color:#0d1117; font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', 'Courier New', monospace; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
<center style="width:100%; table-layout:fixed;">
<div style="max-width:600px; margin:20px auto; background:#161b22; border:2px solid #30363d;">
<body style="margin:0;padding:0;background:#0d1117;-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" class="email-wrap">
<div style="padding:24px 28px 16px; border-bottom:2px solid #30363d;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;">
<!-- Floating Title -->
<tr>
<td style="vertical-align:middle;">
<span style="font-size:16px; font-weight:700; color:#00ff41; letter-spacing:0.5px;">&gt; {{AppName}}</span>
<td class="email-header">
<span class="email-brand">&gt; {{AppName}}</span>
</td>
</tr>
</table>
</div>
<div style="padding:28px 28px 20px; color:#c9d1d9;">
<p style="margin:0 0 12px; font-size:15px; line-height:1.6; color:#58a6ff;">
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
<p style="margin:0 0 20px; font-size:14px; line-height:1.6; color:#c9d1d9;">
<p class="email-text">
{{.locale.Tr "mail.reset_password.text" .ResetPwdCodeLives}}
</p>
<p class="email-subtext"></p>
</td>
</tr>
<!-- Divider -->
<tr>
<td class="email-divider"></td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
{{$recover_url := printf "%suser/recover_account?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:24px 0 20px; border-collapse:separate;">
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-table">
<tr>
<td align="left">
<a href="{{$recover_url}}" style="display:inline-block; padding:11px 24px; font-size:14px; font-weight:700; color:#0d1117; text-decoration:none; background-color:#00ff41; border:2px solid #00ff41; font-family:'JetBrains Mono','Fira Code','Consolas',monospace; letter-spacing:0.5px;">$ reset_password</a>
<a href="{{$recover_url}}" class="email-btn">{{.locale.Tr "mail.reset_password"}}</a>
</td>
</tr>
</table>
<div style="background:#0d1117; border:1px solid #30363d; padding:14px 16px; margin:20px 0 12px;">
<p style="margin:0 0 6px; font-size:12px; color:#8b949e;"><span style="color:#8b949e;">{{.locale.Tr "mail.link_not_working_do_paste"}}</span>
</p>
<p style="margin:0; font-size:12px; color:#58a6ff; word-break:break-all; line-height:1.6;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:14px 16px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">
┌─<br>
│ {{$recover_url}}<br>
└─
</p>
</div>
</div>
</td>
</tr>
</table>
<div style="padding:16px 28px 20px; border-top:1px solid #30363d; background:#0d1117;">
<p style="margin:0; font-size:12px; color:#484f58;">
<span style="color:#8b949e;">#</span> &copy; <a href="{{AppUrl}}" style="color:#58a6ff; text-decoration:none;">{{AppName}}</a>
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
<span style="color:#8b949e;">#</span> &copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
</p>
<p style="margin:4px 0 0; font-size:11px; color:#484f58;">
<p class="email-footer-text" style="margin:4px 0 0;font-size:11px;">
<span style="color:#8b949e;">#</span> if (!$expecting) { ignore(); }
</p>
</div>
</div>
</td>
</tr>
</table>
</center>
</body>
</html>
+134 -37
View File
@@ -4,48 +4,145 @@
<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>{{AppName}} - Team Invitation</title>
<title>
{{.locale.Tr "mail.team_invite.subject" (.Inviter.DisplayName|DotEscape) (.Organization.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#f5ede0}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-heading{font-size:18px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#f5ede0 }
.email-wrap { max-width:600px;margin:40px auto;font-family:Georgia,'Times New Roman',serif }
/* Header */
.email-logo { display:block;margin:0 auto 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1) }
.email-header { padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);height:100px;text-align:center;vertical-align:bottom }
/* Card */
.email-card { padding:28px 32px 24px;background:#fffdf9;color:#5c4030 }
.email-heading { margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700 }
.email-text { margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040 }
.email-subtext { margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#d4c4a8;margin:0 }
/* Button */
.email-btn-row { padding:0 32px 28px;text-align:center;background:#fffdf9 }
.email-btn { display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px }
.email-btn-table { margin:0 0 28px }
/* Fallback link */
.email-link-box { border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic }
.email-link-url { margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all }
/* Footer */
.email-footer { padding:20px 32px;text-align:center;border-top:1px solid #d4c4a8;background:#f5ede0 }
.email-footer-text { margin:0;font-size:12px;color:#8c7a6e }
.email-footer-link { color:#c67b5c;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#3d2b1f!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#c67b5c!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#a06040!important }
.card-body li { color:#6b5040!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:16px!important }
.email-heading { font-size:18px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#f5ede0;font-family:Georgia,'Times New Roman',serif;-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:#fffdf9;border:1px solid #d4c4a8;">
<!-- hero banner -->
<tr><td height="100" style="padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);text-align:center;vertical-align:bottom;">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td style="padding:0 32px 18px;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" style="display:block;margin:0 auto 10px;border:0;outline:none;" />
<span style="font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1);">{{AppName}}</span>
<div style="width:40px;height:3px;background:#fff;margin:8px auto 0;border-radius:2px;opacity:0.6;"></div>
</td></tr></table>
</td></tr>
<!-- content -->
<tr><td class="resp-pad" style="padding:28px 32px 0;">
<p class="resp-heading" style="margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700;">{{.locale.Tr "mail.hi_user_x" .Invite.Email}}</p>
</td></tr>
<tr><td class="resp-pad" style="padding:16px 32px 24px;color:#5c4030;">
<p style="margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040;">{{.locale.Tr "mail.team_invite.text_1" (DotEscape .Inviter.DisplayName) (DotEscape .Team.Name) (DotEscape .Organization.DisplayName)}}</p>
<p style="margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic;">{{.locale.Tr "mail.team_invite.text_2"}}</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 28px;"><tr><td>
<a href="{{.InviteURL}}" class="resp-btn" style="display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px;">Activate Your Account</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px;"><tr><td style="padding:14px 16px;border-radius:8px;">
<p style="margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all;">{{.InviteURL}}</p>
</td></tr></table>
<p style="margin:12px 0 0;font-size:13px;line-height:1.6;color:#6b5040;">{{.locale.Tr "mail.team_invite.text_3" .Invite.Email}}</p>
</td></tr>
<!-- footer -->
<tr><td style="padding:20px 32px;border-top:1px solid #d4c4a8;background:#f5ede0;text-align:center;">
<p style="margin:0;font-size:12px;color:#8c7a6e;">&copy; <a href="{{AppUrl}}" style="color:#c67b5c;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<body style="margin:0;padding:0;background:#f5ede0;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<div style="width:40px;height:3px;background:#fff;margin:8px auto 0;border-radius:2px;opacity:0.6;"></div>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" .Invite.Email}}
</p>
</td>
</tr>
<tr>
<td class="email-card" style="padding-top:0;">
<p class="email-text">
{{.locale.Tr "mail.team_invite.text_1" (DotEscape .Inviter.DisplayName) (DotEscape .Team.Name) (DotEscape .Organization.DisplayName)}}
</p>
<p class="email-subtext">
{{.locale.Tr "mail.team_invite.text_2"}}
</p>
</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="{{.InviteURL}}" 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:14px 16px;border-radius:8px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.InviteURL}}</p>
</td>
</tr>
</table>
<p class="email-subtext" style="margin:12px 0 0;font-size:13px;line-height:1.6;color:#6b5040;">
{{.locale.Tr "mail.team_invite.text_3" .Invite.Email}}
</p>
</td>
</tr>
<!-- Footer -->
<tr>
<td class="email-footer">
<p class="email-footer-text">
&copy;
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+128 -36
View File
@@ -4,47 +4,139 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#f5ede0}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-heading{font-size:18px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#f5ede0 }
.email-wrap { max-width:600px;margin:40px auto;font-family:Georgia,'Times New Roman',serif }
/* Header */
.email-logo { display:block;margin:0 auto 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1) }
.email-header { padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);height:100px;text-align:center;vertical-align:bottom }
/* Card */
.email-card { padding:28px 32px 24px;background:#fffdf9;color:#5c4030 }
.email-heading { margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700 }
.email-text { margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040 }
.email-subtext { margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#d4c4a8;margin:0 }
/* Button */
.email-btn-row { padding:0 32px 28px;text-align:center;background:#fffdf9 }
.email-btn { display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px }
.email-btn-table { margin:0 0 28px }
/* Fallback link */
.email-link-box { border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic }
.email-link-url { margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all }
/* Footer */
.email-footer { padding:20px 32px;text-align:center;border-top:1px solid #d4c4a8;background:#f5ede0 }
.email-footer-text { margin:0;font-size:12px;color:#8c7a6e }
.email-footer-link { color:#c67b5c;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#3d2b1f!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#c67b5c!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#a06040!important }
.card-body li { color:#6b5040!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:16px!important }
.email-heading { font-size:18px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#f5ede0;font-family:Georgia,'Times New Roman',serif;-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:#fffdf9;border:1px solid #d4c4a8;">
<!-- hero banner -->
<tr><td height="100" style="padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);text-align:center;vertical-align:bottom;">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td style="padding:0 32px 18px;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" style="display:block;margin:0 auto 10px;border:0;outline:none;" />
<span style="font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1);">{{AppName}}</span>
<div style="width:40px;height:3px;background:#fff;margin:8px auto 0;border-radius:2px;opacity:0.6;"></div>
</td></tr></table>
</td></tr>
<!-- content -->
<tr><td class="resp-pad" style="padding:28px 32px 0;">
<p class="resp-heading" style="margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700;"></p>
</td></tr>
<tr><td class="resp-pad" style="padding:16px 32px 24px;color:#5c4030;">
<p style="margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040;"><h2>{{.Repo.FullName}} - {{.Run.WorkflowID}}: {{.RunStatusText}}</h2><ul>{{range $job := .Jobs}}<li><a href="{{$job.HTMLURL}}">{{$job.Status}}: {{$job.Name}}{{if gt $job.Attempt 1}} (retry #{{$job.Attempt}}){{end}} - {{$job.Duration}}</a></li>{{end}}</ul></p>
<p style="margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic;"></p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 28px;"><tr><td>
<a href="{{.Run.HTMLURL}}" class="resp-btn" style="display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px;"><tr><td style="padding:14px 16px;border-radius:8px;">
<p style="margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all;">{{.Run.HTMLURL}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:20px 32px;border-top:1px solid #d4c4a8;background:#f5ede0;text-align:center;">
<p style="margin:0;font-size:12px;color:#8c7a6e;">&copy; <a href="{{AppUrl}}" style="color:#c67b5c;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<body style="margin:0;padding:0;background:#f5ede0;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<div style="width:40px;height:3px;background:#fff;margin:8px auto 0;border-radius:2px;opacity:0.6;"></div>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading"></p>
<p class="email-text">
<h2>{{.Repo.FullName}} - {{.Run.WorkflowID}}: {{.RunStatusText}}</h2>
<ul>
{{range $job := .Jobs}}
<li>
<a href="{{$job.HTMLURL}}">{{$job.Status}}: {{$job.Name}}{{if gt $job.Attempt 1}} (retry #{{$job.Attempt}}){{end}} - {{$job.Duration}}</a>
</li>
{{end}}
</ul>
</p>
<p class="email-subtext"></p>
</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="{{.Run.HTMLURL}}" 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:14px 16px;border-radius:8px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{.Run.HTMLURL}}</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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+121 -36
View File
@@ -4,47 +4,132 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#f5ede0}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-heading{font-size:18px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#f5ede0 }
.email-wrap { max-width:600px;margin:40px auto;font-family:Georgia,'Times New Roman',serif }
/* Header */
.email-logo { display:block;margin:0 auto 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1) }
.email-header { padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);height:100px;text-align:center;vertical-align:bottom }
/* Card */
.email-card { padding:28px 32px 24px;background:#fffdf9;color:#5c4030 }
.email-heading { margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700 }
.email-text { margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040 }
.email-subtext { margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#d4c4a8;margin:0 }
/* Button */
.email-btn-row { padding:0 32px 28px;text-align:center;background:#fffdf9 }
.email-btn { display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px }
.email-btn-table { margin:0 0 28px }
/* Fallback link */
.email-link-box { border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic }
.email-link-url { margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all }
/* Footer */
.email-footer { padding:20px 32px;text-align:center;border-top:1px solid #d4c4a8;background:#f5ede0 }
.email-footer-text { margin:0;font-size:12px;color:#8c7a6e }
.email-footer-link { color:#c67b5c;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#3d2b1f!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#c67b5c!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#a06040!important }
.card-body li { color:#6b5040!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:16px!important }
.email-heading { font-size:18px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#f5ede0;font-family:Georgia,'Times New Roman',serif;-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:#fffdf9;border:1px solid #d4c4a8;">
<!-- hero banner -->
<tr><td height="100" style="padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);text-align:center;vertical-align:bottom;">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td style="padding:0 32px 18px;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" style="display:block;margin:0 auto 10px;border:0;outline:none;" />
<span style="font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1);">{{AppName}}</span>
<div style="width:40px;height:3px;background:#fff;margin:8px auto 0;border-radius:2px;opacity:0.6;"></div>
</td></tr></table>
</td></tr>
<!-- content -->
<tr><td class="resp-pad" style="padding:28px 32px 0;">
<p class="resp-heading" style="margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700;"></p>
</td></tr>
<tr><td class="resp-pad" style="padding:16px 32px 24px;color:#5c4030;">
<p style="margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040;">{{.locale.Tr "mail.repo.collaborator.added.text"}} <code>{{.RepoName}}</code>.</p>
<p style="margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic;"></p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 28px;"><tr><td>
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px;"><tr><td style="padding:14px 16px;border-radius:8px;">
<p style="margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:20px 32px;border-top:1px solid #d4c4a8;background:#f5ede0;text-align:center;">
<p style="margin:0;font-size:12px;color:#8c7a6e;">&copy; <a href="{{AppUrl}}" style="color:#c67b5c;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<body style="margin:0;padding:0;background:#f5ede0;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<div style="width:40px;height:3px;background:#fff;margin:8px auto 0;border-radius:2px;opacity:0.6;"></div>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading"></p>
<p class="email-text">
{{.locale.Tr "mail.repo.collaborator.added.text"}} <code>{{.RepoName}}</code>.
</p>
<p class="email-subtext"></p>
</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:14px 16px;border-radius:8px;">
<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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+127 -36
View File
@@ -4,47 +4,138 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#f5ede0}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-heading{font-size:18px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#f5ede0 }
.email-wrap { max-width:600px;margin:40px auto;font-family:Georgia,'Times New Roman',serif }
/* Header */
.email-logo { display:block;margin:0 auto 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1) }
.email-header { padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);height:100px;text-align:center;vertical-align:bottom }
/* Card */
.email-card { padding:28px 32px 24px;background:#fffdf9;color:#5c4030 }
.email-heading { margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700 }
.email-text { margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040 }
.email-subtext { margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#d4c4a8;margin:0 }
/* Button */
.email-btn-row { padding:0 32px 28px;text-align:center;background:#fffdf9 }
.email-btn { display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px }
.email-btn-table { margin:0 0 28px }
/* Fallback link */
.email-link-box { border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic }
.email-link-url { margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all }
/* Footer */
.email-footer { padding:20px 32px;text-align:center;border-top:1px solid #d4c4a8;background:#f5ede0 }
.email-footer-text { margin:0;font-size:12px;color:#8c7a6e }
.email-footer-link { color:#c67b5c;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#3d2b1f!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#c67b5c!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#a06040!important }
.card-body li { color:#6b5040!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:16px!important }
.email-heading { font-size:18px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#f5ede0;font-family:Georgia,'Times New Roman',serif;-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:#fffdf9;border:1px solid #d4c4a8;">
<!-- hero banner -->
<tr><td height="100" style="padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);text-align:center;vertical-align:bottom;">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td style="padding:0 32px 18px;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" style="display:block;margin:0 auto 10px;border:0;outline:none;" />
<span style="font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1);">{{AppName}}</span>
<div style="width:40px;height:3px;background:#fff;margin:8px auto 0;border-radius:2px;opacity:0.6;"></div>
</td></tr></table>
</td></tr>
<!-- content -->
<tr><td class="resp-pad" style="padding:28px 32px 0;">
<p class="resp-heading" style="margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700;"></p>
</td></tr>
<tr><td class="resp-pad" style="padding:16px 32px 24px;color:#5c4030;">
<p style="margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040;">{{$repo_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Issue.Repo.HTMLURL .Issue.Repo.FullName}}{{$link := HTMLFormat "<a href=\047%s\047>#%d</a>" .Link .Issue.Index}}{{if .IsPull}}{{.locale.Tr "mail.issue_assigned.pull" .Doer.Name $link $repo_url}}{{else}}{{.locale.Tr "mail.issue_assigned.issue" .Doer.Name $link $repo_url}}{{end}}</p>
<p style="margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic;"></p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 28px;"><tr><td>
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px;"><tr><td style="padding:14px 16px;border-radius:8px;">
<p style="margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:20px 32px;border-top:1px solid #d4c4a8;background:#f5ede0;text-align:center;">
<p style="margin:0;font-size:12px;color:#8c7a6e;">&copy; <a href="{{AppUrl}}" style="color:#c67b5c;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<body style="margin:0;padding:0;background:#f5ede0;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<div style="width:40px;height:3px;background:#fff;margin:8px auto 0;border-radius:2px;opacity:0.6;"></div>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading"></p>
<p class="email-text">
{{$repo_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Issue.Repo.HTMLURL .Issue.Repo.FullName}}
{{$link := HTMLFormat "<a href=\047%s\047>#%d</a>" .Link .Issue.Index}}
{{if .IsPull}}
{{.locale.Tr "mail.issue_assigned.pull" .Doer.Name $link $repo_url}}
{{else}}
{{.locale.Tr "mail.issue_assigned.issue" .Doer.Name $link $repo_url}}
{{end}}
</p>
<p class="email-subtext"></p>
</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:14px 16px;border-radius:8px;">
<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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+186 -36
View File
@@ -4,47 +4,197 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#f5ede0}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-heading{font-size:18px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#f5ede0 }
.email-wrap { max-width:600px;margin:40px auto;font-family:Georgia,'Times New Roman',serif }
/* Header */
.email-logo { display:block;margin:0 auto 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1) }
.email-header { padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);height:100px;text-align:center;vertical-align:bottom }
/* Card */
.email-card { padding:28px 32px 24px;background:#fffdf9;color:#5c4030 }
.email-heading { margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700 }
.email-text { margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040 }
.email-subtext { margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#d4c4a8;margin:0 }
/* Button */
.email-btn-row { padding:0 32px 28px;text-align:center;background:#fffdf9 }
.email-btn { display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px }
.email-btn-table { margin:0 0 28px }
/* Fallback link */
.email-link-box { border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic }
.email-link-url { margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all }
/* Footer */
.email-footer { padding:20px 32px;text-align:center;border-top:1px solid #d4c4a8;background:#f5ede0 }
.email-footer-text { margin:0;font-size:12px;color:#8c7a6e }
.email-footer-link { color:#c67b5c;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#3d2b1f!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#c67b5c!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#a06040!important }
.card-body li { color:#6b5040!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:16px!important }
.email-heading { font-size:18px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#f5ede0;font-family:Georgia,'Times New Roman',serif;-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:#fffdf9;border:1px solid #d4c4a8;">
<!-- hero banner -->
<tr><td height="100" style="padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);text-align:center;vertical-align:bottom;">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td style="padding:0 32px 18px;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" style="display:block;margin:0 auto 10px;border:0;outline:none;" />
<span style="font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1);">{{AppName}}</span>
<div style="width:40px;height:3px;background:#fff;margin:8px auto 0;border-radius:2px;opacity:0.6;"></div>
</td></tr></table>
</td></tr>
<!-- content -->
<tr><td class="resp-pad" style="padding:28px 32px 0;">
<p class="resp-heading" style="margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700;"></p>
</td></tr>
<tr><td class="resp-pad" style="padding:16px 32px 24px;color:#5c4030;">
<p style="margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040;">{{if .IsMention}}<p>{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>{{end}}{{if eq .ActionName "push"}}<p>{{if .Comment.IsForcePush}}{{$oldCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.OldCommit}}{{$oldShortSha := ShortSha .Comment.OldCommit}}{{$oldCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $oldCommitUrl $oldShortSha}}{{$newCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.NewCommit}}{{$newShortSha := ShortSha .Comment.NewCommit}}{{$newCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $newCommitUrl $newShortSha}}{{.locale.Tr "mail.issue.action.force_push" .Doer.Name .Comment.Issue.PullRequest.HeadBranch $oldCommitLink $newCommitLink}}{{else}}{{.locale.TrN (len .Comment.Commits) "mail.issue.action.push_1" "mail.issue.action.push_n" .Doer.Name .Comment.Issue.PullRequest.HeadBranch (len .Comment.Commits)}}{{end}}</p>{{end}}<p>{{if eq .ActionName "close"}}{{.locale.Tr "mail.issue.action.close" .Doer.Name .Issue.Index}}{{else if eq .ActionName "reopen"}}{{.locale.Tr "mail.issue.action.reopen" .Doer.Name .Issue.Index}}{{else if eq .ActionName "merge"}}{{.locale.Tr "mail.issue.action.merge" .Doer.Name .Issue.Index .Issue.PullRequest.BaseBranch}}{{else if eq .ActionName "approve"}}{{.locale.Tr "mail.issue.action.approve" .Doer.Name}}{{else if eq .ActionName "reject"}}{{.locale.Tr "mail.issue.action.reject" .Doer.Name}}{{else if eq .ActionName "review"}}{{.locale.Tr "mail.issue.action.review" .Doer.Name}}{{else if eq .ActionName "review_dismissed"}}{{.locale.Tr "mail.issue.action.review_dismissed" .Doer.Name .Comment.Review.Reviewer.Name}}{{else if eq .ActionName "ready_for_review"}}{{.locale.Tr "mail.issue.action.ready_for_review" .Doer.Name}}{{end}}{{- if eq .Body ""}}{{if eq .ActionName "new"}}{{.locale.Tr "mail.issue.action.new" .Doer.Name .Issue.Index}}{{end}}{{else}}{{.Body}}{{end -}}</p>{{- range .ReviewComments}}<hr><p>{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p><pre>{{.Patch}}</pre><div>{{.RenderedContent}}</div>{{end -}}{{if eq .ActionName "push"}}<ul>{{range .Comment.Commits}}<li><a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}">{{ShortSha .ID.String}}</a> - {{.MessageTitle}}</li>{{end}}</ul>{{end}}</p>
<p style="margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic;"></p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 28px;"><tr><td>
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>{{if .CanReply}}&nbsp;{{.locale.Tr "mail.reply"}}{{end}}
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px;"><tr><td style="padding:14px 16px;border-radius:8px;">
<p style="margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:20px 32px;border-top:1px solid #d4c4a8;background:#f5ede0;text-align:center;">
<p style="margin:0;font-size:12px;color:#8c7a6e;">&copy; <a href="{{AppUrl}}" style="color:#c67b5c;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<body style="margin:0;padding:0;background:#f5ede0;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<div style="width:40px;height:3px;background:#fff;margin:8px auto 0;border-radius:2px;opacity:0.6;"></div>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading"></p>
<p class="email-text">
{{if .IsMention}}
<p>{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>
{{end}}
{{if eq .ActionName "push"}}
<p>
{{if .Comment.IsForcePush}}
{{$oldCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.OldCommit}}
{{$oldShortSha := ShortSha .Comment.OldCommit}}
{{$oldCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $oldCommitUrl $oldShortSha}}
{{$newCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.NewCommit}}
{{$newShortSha := ShortSha .Comment.NewCommit}}
{{$newCommitLink := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" $newCommitUrl $newShortSha}}
{{.locale.Tr "mail.issue.action.force_push" .Doer.Name .Comment.Issue.PullRequest.HeadBranch $oldCommitLink $newCommitLink}}
{{else}}
{{.locale.TrN (len .Comment.Commits) "mail.issue.action.push_1" "mail.issue.action.push_n" .Doer.Name .Comment.Issue.PullRequest.HeadBranch (len .Comment.Commits)}}
{{end}}
</p>
{{end}}
<p>
{{if eq .ActionName "close"}}
{{.locale.Tr "mail.issue.action.close" .Doer.Name .Issue.Index}}
{{else if eq .ActionName "reopen"}}
{{.locale.Tr "mail.issue.action.reopen" .Doer.Name .Issue.Index}}
{{else if eq .ActionName "merge"}}
{{.locale.Tr "mail.issue.action.merge" .Doer.Name .Issue.Index .Issue.PullRequest.BaseBranch}}
{{else if eq .ActionName "approve"}}
{{.locale.Tr "mail.issue.action.approve" .Doer.Name}}
{{else if eq .ActionName "reject"}}
{{.locale.Tr "mail.issue.action.reject" .Doer.Name}}
{{else if eq .ActionName "review"}}
{{.locale.Tr "mail.issue.action.review" .Doer.Name}}
{{else if eq .ActionName "review_dismissed"}}
{{.locale.Tr "mail.issue.action.review_dismissed" .Doer.Name .Comment.Review.Reviewer.Name}}
{{else if eq .ActionName "ready_for_review"}}
{{.locale.Tr "mail.issue.action.ready_for_review" .Doer.Name}}
{{end}}
{{- if eq .Body ""}}
{{if eq .ActionName "new"}}
{{.locale.Tr "mail.issue.action.new" .Doer.Name .Issue.Index}}
{{end}}
{{else}}
<span>{{.Body}}</span>
{{end -}}
{{if .CanReply}}
&nbsp;{{.locale.Tr "mail.reply"}}
{{end}}
</p>
{{- range .ReviewComments}}
<hr>
<p>{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p>
<pre>{{.Patch}}</pre>
<div>{{.RenderedContent}}</div>
{{end -}}
{{if eq .ActionName "push"}}
<ul>
{{range .Comment.Commits}}
<li>
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.ID}}">{{ShortSha .ID.String}}</a> - {{.MessageTitle}}
</li>
{{end}}
</ul>
{{end}}
</p>
<p class="email-subtext"></p>
</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:14px 16px;border-radius:8px;">
<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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+144 -40
View File
@@ -4,51 +4,155 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#f5ede0}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-heading{font-size:18px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#f5ede0 }
.email-wrap { max-width:600px;margin:40px auto;font-family:Georgia,'Times New Roman',serif }
/* Header */
.email-logo { display:block;margin:0 auto 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1) }
.email-header { padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);height:100px;text-align:center;vertical-align:bottom }
/* Card */
.email-card { padding:28px 32px 24px;background:#fffdf9;color:#5c4030 }
.email-heading { margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700 }
.email-text { margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040 }
.email-subtext { margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#d4c4a8;margin:0 }
/* Button */
.email-btn-row { padding:0 32px 28px;text-align:center;background:#fffdf9 }
.email-btn { display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px }
.email-btn-table { margin:0 0 28px }
/* Fallback link */
.email-link-box { border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic }
.email-link-url { margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all }
/* Footer */
.email-footer { padding:20px 32px;text-align:center;border-top:1px solid #d4c4a8;background:#f5ede0 }
.email-footer-text { margin:0;font-size:12px;color:#8c7a6e }
.email-footer-link { color:#c67b5c;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#3d2b1f!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#c67b5c!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#a06040!important }
.card-body li { color:#6b5040!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:16px!important }
.email-heading { font-size:18px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#f5ede0;font-family:Georgia,'Times New Roman',serif;-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:#fffdf9;border:1px solid #d4c4a8;">
<!-- hero banner -->
<tr><td height="100" style="padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);text-align:center;vertical-align:bottom;">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td style="padding:0 32px 18px;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" style="display:block;margin:0 auto 10px;border:0;outline:none;" />
<span style="font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1);">{{AppName}}</span>
<div style="width:40px;height:3px;background:#fff;margin:8px auto 0;border-radius:2px;opacity:0.6;"></div>
</td></tr></table>
</td></tr>
<!-- content -->
<tr><td class="resp-pad" style="padding:28px 32px 0;">
<p class="resp-heading" style="margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700;"></p>
</td></tr>
<tr><td class="resp-pad" style="padding:16px 32px 24px;color:#5c4030;">
<p style="margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040;">{{$release_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Release.HTMLURL .Release.TagName}}{{$repo_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Release.Repo.HTMLURL .Release.Repo.FullName}}{{.locale.Tr "mail.release.new.text" .Release.Publisher.Name $release_url $repo_url}}
<h4>{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
{{if .Release.RenderedNote}}{{.locale.Tr "mail.release.note"}}<br><div>{{.Release.RenderedNote}}</div>{{end}}
<p>{{.locale.Tr "mail.release.downloads"}}</p>
<ul>{{if not .DisableDownloadSourceArchives}}<li><a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.zip">{{.locale.Tr "mail.release.download.zip"}}</a></li><li><a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.tar.gz">{{.locale.Tr "mail.release.download.targz"}}</a></li>{{end}}{{if .Release.Attachments}}{{range .Release.Attachments}}<li><a href="{{.DownloadURL}}">{{.Name}} ({{.Size | FileSize}})</a></li>{{end}}{{end}}</ul></p>
<p style="margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic;"></p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 28px;"><tr><td>
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px;"><tr><td style="padding:14px 16px;border-radius:8px;">
<p style="margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:20px 32px;border-top:1px solid #d4c4a8;background:#f5ede0;text-align:center;">
<p style="margin:0;font-size:12px;color:#8c7a6e;">&copy; <a href="{{AppUrl}}" style="color:#c67b5c;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<body style="margin:0;padding:0;background:#f5ede0;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<div style="width:40px;height:3px;background:#fff;margin:8px auto 0;border-radius:2px;opacity:0.6;"></div>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading"></p>
<p class="email-text">
{{$release_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Release.HTMLURL .Release.TagName}}
{{$repo_url := HTMLFormat "<a href=\047%s\047>%s</a>" .Release.Repo.HTMLURL .Release.Repo.FullName}}
{{.locale.Tr "mail.release.new.text" .Release.Publisher.Name $release_url $repo_url}}
<h4>{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
{{if .Release.RenderedNote}}
{{.locale.Tr "mail.release.note"}}
<br>
<div>{{.Release.RenderedNote}}</div>
{{end}}
<p>{{.locale.Tr "mail.release.downloads"}}</p>
<ul>
{{if not .DisableDownloadSourceArchives}}
<li><a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.zip">{{.locale.Tr "mail.release.download.zip"}}</a></li>
<li><a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.tar.gz">{{.locale.Tr "mail.release.download.targz"}}</a></li>
{{end}}
{{if .Release.Attachments}}
{{range .Release.Attachments}}
<li><a href="{{.DownloadURL}}">{{.Name}} ({{.Size | FileSize}})</a></li>
{{end}}
{{end}}
</ul>
</p>
<p class="email-subtext"></p>
</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:14px 16px;border-radius:8px;">
<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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+122 -36
View File
@@ -4,47 +4,133 @@
<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>
<title>
{{.Subject}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#f5ede0}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-heading{font-size:18px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#f5ede0 }
.email-wrap { max-width:600px;margin:40px auto;font-family:Georgia,'Times New Roman',serif }
/* Header */
.email-logo { display:block;margin:0 auto 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1) }
.email-header { padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);height:100px;text-align:center;vertical-align:bottom }
/* Card */
.email-card { padding:28px 32px 24px;background:#fffdf9;color:#5c4030 }
.email-heading { margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700 }
.email-text { margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040 }
.email-subtext { margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#d4c4a8;margin:0 }
/* Button */
.email-btn-row { padding:0 32px 28px;text-align:center;background:#fffdf9 }
.email-btn { display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px }
.email-btn-table { margin:0 0 28px }
/* Fallback link */
.email-link-box { border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic }
.email-link-url { margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all }
/* Footer */
.email-footer { padding:20px 32px;text-align:center;border-top:1px solid #d4c4a8;background:#f5ede0 }
.email-footer-text { margin:0;font-size:12px;color:#8c7a6e }
.email-footer-link { color:#c67b5c;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#3d2b1f!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#c67b5c!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#a06040!important }
.card-body li { color:#6b5040!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:16px!important }
.email-heading { font-size:18px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#f5ede0;font-family:Georgia,'Times New Roman',serif;-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:#fffdf9;border:1px solid #d4c4a8;">
<!-- hero banner -->
<tr><td height="100" style="padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);text-align:center;vertical-align:bottom;">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td style="padding:0 32px 18px;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" style="display:block;margin:0 auto 10px;border:0;outline:none;" />
<span style="font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1);">{{AppName}}</span>
<div style="width:40px;height:3px;background:#fff;margin:8px auto 0;border-radius:2px;opacity:0.6;"></div>
</td></tr></table>
</td></tr>
<!-- content -->
<tr><td class="resp-pad" style="padding:28px 32px 0;">
<p class="resp-heading" style="margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700;"></p>
</td></tr>
<tr><td class="resp-pad" style="padding:16px 32px 24px;color:#5c4030;">
<p style="margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040;">{{$url := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" .Link .Repo}}{{.Subject}}. {{.locale.Tr "mail.repo.transfer.body" $url}}</p>
<p style="margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic;"></p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 28px;"><tr><td>
<a href="{{.Link}}" class="resp-btn" style="display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px;">{{.locale.Tr "mail.view_it_on" AppName}}</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px;"><tr><td style="padding:14px 16px;border-radius:8px;">
<p style="margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all;">{{.Link}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:20px 32px;border-top:1px solid #d4c4a8;background:#f5ede0;text-align:center;">
<p style="margin:0;font-size:12px;color:#8c7a6e;">&copy; <a href="{{AppUrl}}" style="color:#c67b5c;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<body style="margin:0;padding:0;background:#f5ede0;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<div style="width:40px;height:3px;background:#fff;margin:8px auto 0;border-radius:2px;opacity:0.6;"></div>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading"></p>
<p class="email-text">
{{$url := HTMLFormat "<a href=\047%[1]s\047>%[2]s</a>" .Link .Repo}}
{{.Subject}}. {{.locale.Tr "mail.repo.transfer.body" $url}}
</p>
<p class="email-subtext"></p>
</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:14px 16px;border-radius:8px;">
<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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+130 -34
View File
@@ -4,47 +4,143 @@
<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>{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}</title>
<title>
{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#f5ede0}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-heading{font-size:18px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#f5ede0 }
.email-wrap { max-width:600px;margin:40px auto;font-family:Georgia,'Times New Roman',serif }
/* Header */
.email-logo { display:block;margin:0 auto 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1) }
.email-header { padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);height:100px;text-align:center;vertical-align:bottom }
/* Card */
.email-card { padding:28px 32px 24px;background:#fffdf9;color:#5c4030 }
.email-heading { margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700 }
.email-text { margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040 }
.email-subtext { margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#d4c4a8;margin:0 }
/* Button */
.email-btn-row { padding:0 32px 28px;text-align:center;background:#fffdf9 }
.email-btn { display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px }
.email-btn-table { margin:0 0 28px }
/* Fallback link */
.email-link-box { border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic }
.email-link-url { margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all }
/* Footer */
.email-footer { padding:20px 32px;text-align:center;border-top:1px solid #d4c4a8;background:#f5ede0 }
.email-footer-text { margin:0;font-size:12px;color:#8c7a6e }
.email-footer-link { color:#c67b5c;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#3d2b1f!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#c67b5c!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#a06040!important }
.card-body li { color:#6b5040!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:16px!important }
.email-heading { font-size:18px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#f5ede0;font-family:Georgia,'Times New Roman',serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#f5ede0;-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:#fffdf9;border:1px solid #d4c4a8;">
<!-- hero banner -->
<tr><td height="100" style="padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);text-align:center;vertical-align:bottom;">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td style="padding:0 32px 18px;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" style="display:block;margin:0 auto 10px;border:0;outline:none;" />
<span style="font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1);">{{AppName}}</span>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<div style="width:40px;height:3px;background:#fff;margin:8px auto 0;border-radius:2px;opacity:0.6;"></div>
</td></tr></table>
</td></tr>
<!-- content -->
<tr><td class="resp-pad" style="padding:28px 32px 0;">
<p class="resp-heading" style="margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700;">{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}</p>
</td></tr>
<tr><td class="resp-pad" style="padding:16px 32px 24px;color:#5c4030;">
<p style="margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040;">{{.locale.Tr "mail.activate_account.text_1" (.DisplayName|DotEscape) AppName}}</p>
<p style="margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic;">{{.locale.Tr "mail.activate_account.text_2" .ActiveCodeLives}}</p>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
</td>
</tr>
<tr>
<td class="email-card" style="padding-top:0;">
<p class="email-text">
{{.locale.Tr "mail.activate_account.text_1" (.DisplayName|DotEscape) AppName}}
</p>
<p class="email-subtext">
{{.locale.Tr "mail.activate_account.text_2" .ActiveCodeLives}}
</p>
</td>
</tr>
<!-- Divider -->
<tr>
<td class="email-divider"></td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
{{$activate_url := printf "%suser/activate?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 28px;"><tr><td>
<a href="{{$activate_url}}" class="resp-btn" style="display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px;">Activate Your Account</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px;"><tr><td style="padding:14px 16px;border-radius:8px;">
<p style="margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all;">{{$activate_url}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:20px 32px;border-top:1px solid #d4c4a8;background:#f5ede0;text-align:center;">
<p style="margin:0;font-size:12px;color:#8c7a6e;">&copy; <a href="{{AppUrl}}" style="color:#c67b5c;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-table">
<tr>
<td align="center">
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_account"}}</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:14px 16px;border-radius:8px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$activate_url}}</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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+128 -34
View File
@@ -4,47 +4,141 @@
<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>{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}</title>
<title>
{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#f5ede0}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-heading{font-size:18px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#f5ede0 }
.email-wrap { max-width:600px;margin:40px auto;font-family:Georgia,'Times New Roman',serif }
/* Header */
.email-logo { display:block;margin:0 auto 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1) }
.email-header { padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);height:100px;text-align:center;vertical-align:bottom }
/* Card */
.email-card { padding:28px 32px 24px;background:#fffdf9;color:#5c4030 }
.email-heading { margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700 }
.email-text { margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040 }
.email-subtext { margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#d4c4a8;margin:0 }
/* Button */
.email-btn-row { padding:0 32px 28px;text-align:center;background:#fffdf9 }
.email-btn { display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px }
.email-btn-table { margin:0 0 28px }
/* Fallback link */
.email-link-box { border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic }
.email-link-url { margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all }
/* Footer */
.email-footer { padding:20px 32px;text-align:center;border-top:1px solid #d4c4a8;background:#f5ede0 }
.email-footer-text { margin:0;font-size:12px;color:#8c7a6e }
.email-footer-link { color:#c67b5c;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#3d2b1f!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#c67b5c!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#a06040!important }
.card-body li { color:#6b5040!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:16px!important }
.email-heading { font-size:18px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#f5ede0;font-family:Georgia,'Times New Roman',serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#f5ede0;-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:#fffdf9;border:1px solid #d4c4a8;">
<!-- hero banner -->
<tr><td height="100" style="padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);text-align:center;vertical-align:bottom;">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td style="padding:0 32px 18px;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" style="display:block;margin:0 auto 10px;border:0;outline:none;" />
<span style="font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1);">{{AppName}}</span>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<div style="width:40px;height:3px;background:#fff;margin:8px auto 0;border-radius:2px;opacity:0.6;"></div>
</td></tr></table>
</td></tr>
<!-- content -->
<tr><td class="resp-pad" style="padding:28px 32px 0;">
<p class="resp-heading" style="margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700;">{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}</p>
</td></tr>
<tr><td class="resp-pad" style="padding:16px 32px 24px;color:#5c4030;">
<p style="margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040;">{{.locale.Tr "mail.activate_email.text" .ActiveCodeLives}}</p>
<p style="margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic;"></p>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
</td>
</tr>
<tr>
<td class="email-card" style="padding-top:0;">
<p class="email-text">
{{.locale.Tr "mail.activate_email.text" .ActiveCodeLives}}
</p>
<p class="email-subtext"></p>
</td>
</tr>
<!-- Divider -->
<tr>
<td class="email-divider"></td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
{{$activate_url := printf "%suser/activate_email?code=%s&email=%s" AppUrl (QueryEscape .Code) (QueryEscape .Email)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 28px;"><tr><td>
<a href="{{$activate_url}}" class="resp-btn" style="display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px;">Activate Your Account</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px;"><tr><td style="padding:14px 16px;border-radius:8px;">
<p style="margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all;">{{$activate_url}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:20px 32px;border-top:1px solid #d4c4a8;background:#f5ede0;text-align:center;">
<p style="margin:0;font-size:12px;color:#8c7a6e;">&copy; <a href="{{AppUrl}}" style="color:#c67b5c;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-table">
<tr>
<td align="center">
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_email"}}</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:14px 16px;border-radius:8px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$activate_url}}</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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+135 -38
View File
@@ -4,49 +4,146 @@
<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>{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}</title>
<title>
{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#f5ede0}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-heading{font-size:18px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#f5ede0 }
.email-wrap { max-width:600px;margin:40px auto;font-family:Georgia,'Times New Roman',serif }
/* Header */
.email-logo { display:block;margin:0 auto 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1) }
.email-header { padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);height:100px;text-align:center;vertical-align:bottom }
/* Card */
.email-card { padding:28px 32px 24px;background:#fffdf9;color:#5c4030 }
.email-heading { margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700 }
.email-text { margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040 }
.email-subtext { margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#d4c4a8;margin:0 }
/* Button */
.email-btn-row { padding:0 32px 28px;text-align:center;background:#fffdf9 }
.email-btn { display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px }
.email-btn-table { margin:0 0 28px }
/* Fallback link */
.email-link-box { border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic }
.email-link-url { margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all }
/* Footer */
.email-footer { padding:20px 32px;text-align:center;border-top:1px solid #d4c4a8;background:#f5ede0 }
.email-footer-text { margin:0;font-size:12px;color:#8c7a6e }
.email-footer-link { color:#c67b5c;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#3d2b1f!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#c67b5c!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#a06040!important }
.card-body li { color:#6b5040!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:16px!important }
.email-heading { font-size:18px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#f5ede0;font-family:Georgia,'Times New Roman',serif;-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:#fffdf9;border:1px solid #d4c4a8;">
<!-- hero banner -->
<tr><td height="100" style="padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);text-align:center;vertical-align:bottom;">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td style="padding:0 32px 18px;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" style="display:block;margin:0 auto 10px;border:0;outline:none;" />
<span style="font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1);">{{AppName}}</span>
<div style="width:40px;height:3px;background:#fff;margin:8px auto 0;border-radius:2px;opacity:0.6;"></div>
</td></tr></table>
</td></tr>
<!-- content -->
<tr><td class="resp-pad" style="padding:28px 32px 0;">
<p class="resp-heading" style="margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700;">{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}</p>
</td></tr>
<tr><td class="resp-pad" style="padding:16px 32px 24px;color:#5c4030;">
<p style="margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040;">{{.locale.Tr "mail.register_notify.text_1" AppName}}</p>
<p style="margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic;">{{.locale.Tr "mail.register_notify.text_2" .Username}}
{{$set_pwd_url := printf "%suser/forgot_password" AppUrl}}
{{.locale.Tr "mail.register_notify.text_3" $set_pwd_url}}</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 28px;"><tr><td>
<a href="{{AppUrl}}user/login" class="resp-btn" style="display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px;">Activate Your Account</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px;"><tr><td style="padding:14px 16px;border-radius:8px;">
<p style="margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all;">{{AppUrl}}user/login</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:20px 32px;border-top:1px solid #d4c4a8;background:#f5ede0;text-align:center;">
<p style="margin:0;font-size:12px;color:#8c7a6e;">&copy; <a href="{{AppUrl}}" style="color:#c67b5c;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<body style="margin:0;padding:0;background:#f5ede0;-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" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<div style="width:40px;height:3px;background:#fff;margin:8px auto 0;border-radius:2px;opacity:0.6;"></div>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
</td>
</tr>
<tr>
<td class="email-card" style="padding-top:0;">
<p class="email-text">
{{.locale.Tr "mail.register_notify.text_1" AppName}}
</p>
<p class="email-text">
{{.locale.Tr "mail.register_notify.text_2" .Username}}
</p>
<p class="email-subtext">
{{$set_pwd_url := printf "%suser/forgot_password" AppUrl}}
{{.locale.Tr "mail.register_notify.text_3" $set_pwd_url}}
</p>
</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="{{AppUrl}}user/login" 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:14px 16px;border-radius:8px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{AppUrl}}user/login</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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>
+128 -34
View File
@@ -4,47 +4,141 @@
<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>{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}</title>
<title>
{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}
</title>
<style type="text/css">
body,.ExternalClass,.ReadMsgBody{background-color:#f5ede0}
@media only screen and (max-width:480px){
.resp-pad{padding-left:16px!important;padding-right:16px!important}
.resp-btn{display:block!important;width:auto!important;text-align:center!important}
.resp-heading{font-size:18px!important}
/* Base */
body,.ExternalClass,.ReadMsgBody { background-color:#f5ede0 }
.email-wrap { max-width:600px;margin:40px auto;font-family:Georgia,'Times New Roman',serif }
/* Header */
.email-logo { display:block;margin:0 auto 10px;border:0;outline:none }
.email-brand { font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1) }
.email-header { padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);height:100px;text-align:center;vertical-align:bottom }
/* Card */
.email-card { padding:28px 32px 24px;background:#fffdf9;color:#5c4030 }
.email-heading { margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700 }
.email-text { margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040 }
.email-subtext { margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic }
/* Divider */
.email-divider { height:1px;background:#d4c4a8;margin:0 }
/* Button */
.email-btn-row { padding:0 32px 28px;text-align:center;background:#fffdf9 }
.email-btn { display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px }
.email-btn-table { margin:0 0 28px }
/* Fallback link */
.email-link-box { border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px }
.email-link-label { margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic }
.email-link-url { margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all }
/* Footer */
.email-footer { padding:20px 32px;text-align:center;border-top:1px solid #d4c4a8;background:#f5ede0 }
.email-footer-text { margin:0;font-size:12px;color:#8c7a6e }
.email-footer-link { color:#c67b5c;text-decoration:none;font-weight:600 }
/* Typography utilities */
.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body h5,.card-body h6 { color:#3d2b1f!important }
.card-body a,.card-body a:link,.card-body a:visited { color:#c67b5c!important;text-decoration:underline!important }
.card-body a:hover,.card-body a:active { color:#a06040!important }
.card-body li { color:#6b5040!important }
/* Responsive */
@media only screen and (max-width:480px) {
.email-card { padding:20px 16px!important }
.email-btn-row { padding:16px!important }
.email-heading { font-size:18px!important }
}
</style>
</head>
<body style="margin:0;padding:0;background:#f5ede0;font-family:Georgia,'Times New Roman',serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<body style="margin:0;padding:0;background:#f5ede0;-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:#fffdf9;border:1px solid #d4c4a8;">
<!-- hero banner -->
<tr><td height="100" style="padding:0;background:linear-gradient(180deg,#c67b5c,#d4956e,#e8c4a8);text-align:center;vertical-align:bottom;">
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td style="padding:0 32px 18px;">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" style="display:block;margin:0 auto 10px;border:0;outline:none;" />
<span style="font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,0.1);">{{AppName}}</span>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
<!-- Floating Title -->
<tr>
<td class="email-header">
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="28" height="28" class="email-logo" />
<span class="email-brand">{{AppName}}</span>
<div style="width:40px;height:3px;background:#fff;margin:8px auto 0;border-radius:2px;opacity:0.6;"></div>
</td></tr></table>
</td></tr>
<!-- content -->
<tr><td class="resp-pad" style="padding:28px 32px 0;">
<p class="resp-heading" style="margin:0;font-size:22px;line-height:1.4;color:#3d2b1f;font-weight:700;">{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}</p>
</td></tr>
<tr><td class="resp-pad" style="padding:16px 32px 24px;color:#5c4030;">
<p style="margin:0 0 8px;font-size:15px;line-height:1.8;color:#6b5040;">{{.locale.Tr "mail.reset_password.text" .ResetPwdCodeLives}}</p>
<p style="margin:0 0 24px;font-size:14px;line-height:1.8;color:#8c7a6e;font-style:italic;"></p>
</td>
</tr>
<!-- Card -->
<tr>
<td class="email-card card-body">
<p class="email-heading">
{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}
</p>
</td>
</tr>
<tr>
<td class="email-card" style="padding-top:0;">
<p class="email-text">
{{.locale.Tr "mail.reset_password.text" .ResetPwdCodeLives}}
</p>
<p class="email-subtext"></p>
</td>
</tr>
<!-- Divider -->
<tr>
<td class="email-divider"></td>
</tr>
<!-- Button & Link -->
<tr>
<td class="email-btn-row">
{{$recover_url := printf "%suser/recover_account?code=%s" AppUrl (QueryEscape .Code)}}
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin:0 0 28px;"><tr><td>
<a href="{{$recover_url}}" class="resp-btn" style="display:inline-block;padding:14px 38px;font-size:15px;font-weight:600;color:#fff;text-decoration:none;background:#c67b5c;border-radius:24px;letter-spacing:0.3px;">Activate Your Account</a>
</td></tr></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border:1px solid #d4c4a8;background:#f5ede0;border-radius:8px;"><tr><td style="padding:14px 16px;border-radius:8px;">
<p style="margin:0 0 6px;font-size:12px;color:#8c7a6e;font-style:italic;">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p style="margin:0;font-size:12px;font-family:monospace;color:#5c4030;background:#fffdf9;padding:10px 12px;border:1px solid #d4c4a8;border-radius:6px;word-break:break-all;">{{$recover_url}}</p>
</td></tr></table>
</td></tr>
<!-- footer -->
<tr><td style="padding:20px 32px;border-top:1px solid #d4c4a8;background:#f5ede0;text-align:center;">
<p style="margin:0;font-size:12px;color:#8c7a6e;">&copy; <a href="{{AppUrl}}" style="color:#c67b5c;text-decoration:none;font-weight:600;">{{AppName}}</a> &mdash; Gitea Mail Templates</p>
</td></tr>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-table">
<tr>
<td align="center">
<a href="{{$recover_url}}" class="email-btn">{{.locale.Tr "mail.reset_password"}}</a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
<tr>
<td style="padding:14px 16px;border-radius:8px;">
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
<p class="email-link-url">{{$recover_url}}</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>
&mdash; Gitea Mail Templates
</p>
</td>
</tr>
</table>
</center>
</body>