chore: migrate mail themes to shared framework and locked upstream inputs
This commit is contained in:
1 parent
5c0589f6f6
commit
fec3ace600
225 files changed
+4718
-15807
No files matched your search
@@ -1,142 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.team_invite.subject" (.Inviter.DisplayName|DotEscape) (.Organization.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#0a0815 }
|
||||
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
|
||||
.email-brand { font-size:16px;font-weight:300;color:#ffffff66;letter-spacing:4px;text-transform:uppercase }
|
||||
.email-header { padding:0 0 32px;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:48px 40px;background:#191432cc;border:1px solid #0d948833;box-shadow:0 0 60px #0d948814,0 0 120px #6366f10a }
|
||||
.email-heading { margin:0 0 20px;font-size:24px;font-weight:300;color:#ccfbf1;line-height:1.3;letter-spacing:-.5px }
|
||||
.email-text { margin:0 0 24px;font-size:14px;line-height:2;color:#d2fcf5e0;font-weight:300 }
|
||||
.email-subtext { margin:0;font-size:13px;line-height:1.8;color:#b4c3d7f2;font-weight:300 }
|
||||
|
||||
/* Divider */
|
||||
.email-divider { height:1px;background:linear-gradient(90deg,transparent,#0d94884d,transparent) }
|
||||
|
||||
/* Button */
|
||||
.email-btn-row { padding:40px 40px;text-align:center }
|
||||
.email-btn { display:inline-block;padding:16px 48px;font-size:14px;font-weight:400;color:#e0f5f3!important;text-decoration:none;background:#0d94882e;border:1px solid #0d94884d;letter-spacing:1px }
|
||||
.email-btn-table { margin:0 0 32px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #0d94882e;background:#0d948808 }
|
||||
.email-link-label { margin:0 0 8px;font-size:11px;color:#b4fceebf;font-weight:300 }
|
||||
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#99f6e4;background:#00000033;padding:10px 12px;border:1px solid #0d948826;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:32px 0 0;text-align:center }
|
||||
.email-footer-text { margin:0;font-size:11px;color:#a0afc88c;font-weight:300 }
|
||||
.email-footer-link { color:#5eead480;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:#ccfbf1!important }
|
||||
.card-body a,.card-body a:link,.card-body a:visited { color:#5eead4!important;text-decoration:underline!important }
|
||||
.card-body a:hover,.card-body a:active { color:#99f6e4!important }
|
||||
.card-body li { color:#d2fcf5e0!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:20px!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#0a0815;-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="24" height="24" class="email-logo" />
|
||||
<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: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 class="email-subtext" style="margin-top:24px;font-size:12px;color:#a0afc880;">
|
||||
{{.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>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,141 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#0a0815 }
|
||||
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
|
||||
.email-brand { font-size:16px;font-weight:300;color:#ffffff66;letter-spacing:4px;text-transform:uppercase }
|
||||
.email-header { padding:0 0 32px;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:48px 40px;background:#191432cc;border:1px solid #0d948833;box-shadow:0 0 60px #0d948814,0 0 120px #6366f10a }
|
||||
.email-heading { margin:0 0 20px;font-size:24px;font-weight:300;color:#ccfbf1;line-height:1.3;letter-spacing:-.5px }
|
||||
.email-text { margin:0 0 24px;font-size:14px;line-height:2;color:#d2fcf5e0;font-weight:300 }
|
||||
.email-subtext { margin:0;font-size:13px;line-height:1.8;color:#b4c3d7f2;font-weight:300 }
|
||||
|
||||
/* Divider */
|
||||
.email-divider { height:1px;background:linear-gradient(90deg,transparent,#0d94884d,transparent) }
|
||||
|
||||
/* Button */
|
||||
.email-btn-row { padding:40px 40px;text-align:center }
|
||||
.email-btn { display:inline-block;padding:16px 48px;font-size:14px;font-weight:400;color:#e0f5f3!important;text-decoration:none;background:#0d94882e;border:1px solid #0d94884d;letter-spacing:1px }
|
||||
.email-btn-table { margin:0 0 32px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #0d94882e;background:#0d948808 }
|
||||
.email-link-label { margin:0 0 8px;font-size:11px;color:#b4fceebf;font-weight:300 }
|
||||
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#99f6e4;background:#00000033;padding:10px 12px;border:1px solid #0d948826;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:32px 0 0;text-align:center }
|
||||
.email-footer-text { margin:0;font-size:11px;color:#a0afc88c;font-weight:300 }
|
||||
.email-footer-link { color:#5eead480;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:#ccfbf1!important }
|
||||
.card-body a,.card-body a:link,.card-body a:visited { color:#5eead4!important;text-decoration:underline!important }
|
||||
.card-body a:hover,.card-body a:active { color:#99f6e4!important }
|
||||
.card-body li { color:#d2fcf5e0!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:20px!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#0a0815;-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="24" height="24" class="email-logo" />
|
||||
<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: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>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,134 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#0a0815 }
|
||||
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
|
||||
.email-brand { font-size:16px;font-weight:300;color:#ffffff66;letter-spacing:4px;text-transform:uppercase }
|
||||
.email-header { padding:0 0 32px;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:48px 40px;background:#191432cc;border:1px solid #0d948833;box-shadow:0 0 60px #0d948814,0 0 120px #6366f10a }
|
||||
.email-heading { margin:0 0 20px;font-size:24px;font-weight:300;color:#ccfbf1;line-height:1.3;letter-spacing:-.5px }
|
||||
.email-text { margin:0 0 24px;font-size:14px;line-height:2;color:#d2fcf5e0;font-weight:300 }
|
||||
.email-subtext { margin:0;font-size:13px;line-height:1.8;color:#b4c3d7f2;font-weight:300 }
|
||||
|
||||
/* Divider */
|
||||
.email-divider { height:1px;background:linear-gradient(90deg,transparent,#0d94884d,transparent) }
|
||||
|
||||
/* Button */
|
||||
.email-btn-row { padding:40px 40px;text-align:center }
|
||||
.email-btn { display:inline-block;padding:16px 48px;font-size:14px;font-weight:400;color:#e0f5f3!important;text-decoration:none;background:#0d94882e;border:1px solid #0d94884d;letter-spacing:1px }
|
||||
.email-btn-table { margin:0 0 32px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #0d94882e;background:#0d948808 }
|
||||
.email-link-label { margin:0 0 8px;font-size:11px;color:#b4fceebf;font-weight:300 }
|
||||
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#99f6e4;background:#00000033;padding:10px 12px;border:1px solid #0d948826;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:32px 0 0;text-align:center }
|
||||
.email-footer-text { margin:0;font-size:11px;color:#a0afc88c;font-weight:300 }
|
||||
.email-footer-link { color:#5eead480;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:#ccfbf1!important }
|
||||
.card-body a,.card-body a:link,.card-body a:visited { color:#5eead4!important;text-decoration:underline!important }
|
||||
.card-body a:hover,.card-body a:active { color:#99f6e4!important }
|
||||
.card-body li { color:#d2fcf5e0!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:20px!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#0a0815;-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="24" height="24" class="email-logo" />
|
||||
<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:16px 18px;">
|
||||
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
|
||||
<p class="email-link-url">{{.Link}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,140 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#0a0815 }
|
||||
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
|
||||
.email-brand { font-size:16px;font-weight:300;color:#ffffff66;letter-spacing:4px;text-transform:uppercase }
|
||||
.email-header { padding:0 0 32px;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:48px 40px;background:#191432cc;border:1px solid #0d948833;box-shadow:0 0 60px #0d948814,0 0 120px #6366f10a }
|
||||
.email-heading { margin:0 0 20px;font-size:24px;font-weight:300;color:#ccfbf1;line-height:1.3;letter-spacing:-.5px }
|
||||
.email-text { margin:0 0 24px;font-size:14px;line-height:2;color:#d2fcf5e0;font-weight:300 }
|
||||
.email-subtext { margin:0;font-size:13px;line-height:1.8;color:#b4c3d7f2;font-weight:300 }
|
||||
|
||||
/* Divider */
|
||||
.email-divider { height:1px;background:linear-gradient(90deg,transparent,#0d94884d,transparent) }
|
||||
|
||||
/* Button */
|
||||
.email-btn-row { padding:40px 40px;text-align:center }
|
||||
.email-btn { display:inline-block;padding:16px 48px;font-size:14px;font-weight:400;color:#e0f5f3!important;text-decoration:none;background:#0d94882e;border:1px solid #0d94884d;letter-spacing:1px }
|
||||
.email-btn-table { margin:0 0 32px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #0d94882e;background:#0d948808 }
|
||||
.email-link-label { margin:0 0 8px;font-size:11px;color:#b4fceebf;font-weight:300 }
|
||||
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#99f6e4;background:#00000033;padding:10px 12px;border:1px solid #0d948826;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:32px 0 0;text-align:center }
|
||||
.email-footer-text { margin:0;font-size:11px;color:#a0afc88c;font-weight:300 }
|
||||
.email-footer-link { color:#5eead480;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:#ccfbf1!important }
|
||||
.card-body a,.card-body a:link,.card-body a:visited { color:#5eead4!important;text-decoration:underline!important }
|
||||
.card-body a:hover,.card-body a:active { color:#99f6e4!important }
|
||||
.card-body li { color:#d2fcf5e0!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:20px!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#0a0815;-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="24" height="24" class="email-logo" />
|
||||
<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:16px 18px;">
|
||||
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
|
||||
<p class="email-link-url">{{.Link}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,209 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#0a0815 }
|
||||
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
|
||||
.email-brand { font-size:16px;font-weight:300;color:#ffffff66;letter-spacing:4px;text-transform:uppercase }
|
||||
.email-header { padding:0 0 32px;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:48px 40px;background:#191432cc;border:1px solid #0d948833;box-shadow:0 0 60px #0d948814,0 0 120px #6366f10a }
|
||||
.email-heading { margin:0 0 20px;font-size:24px;font-weight:300;color:#ccfbf1;line-height:1.3;letter-spacing:-.5px }
|
||||
.email-text { margin:0 0 24px;font-size:14px;line-height:2;color:#d2fcf5e0;font-weight:300 }
|
||||
.email-subtext { margin:0;font-size:13px;line-height:1.8;color:#b4c3d7f2;font-weight:300 }
|
||||
|
||||
/* Divider */
|
||||
.email-divider { height:1px;background:linear-gradient(90deg,transparent,#0d94884d,transparent) }
|
||||
|
||||
/* Button */
|
||||
.email-btn-row { padding:40px 40px;text-align:center }
|
||||
.email-btn { display:inline-block;padding:16px 48px;font-size:14px;font-weight:400;color:#e0f5f3!important;text-decoration:none;background:#0d94882e;border:1px solid #0d94884d;letter-spacing:1px }
|
||||
.email-btn-table { margin:0 0 32px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #0d94882e;background:#0d948808 }
|
||||
.email-link-label { margin:0 0 8px;font-size:11px;color:#b4fceebf;font-weight:300 }
|
||||
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#99f6e4;background:#00000033;padding:10px 12px;border:1px solid #0d948826;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:32px 0 0;text-align:center }
|
||||
.email-footer-text { margin:0;font-size:11px;color:#a0afc88c;font-weight:300 }
|
||||
.email-footer-link { color:#5eead480;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:#ccfbf1!important }
|
||||
.card-body a,.card-body a:link,.card-body a:visited { color:#5eead4!important;text-decoration:underline!important }
|
||||
.card-body a:hover,.card-body a:active { color:#99f6e4!important }
|
||||
.card-body li { color:#d2fcf5e0!important }
|
||||
|
||||
/* Content */
|
||||
.aurora-content,.aurora-content * { color:#d2fcf5e0!important }
|
||||
.aurora-content a,.aurora-content a:link,.aurora-content a:visited { color:#5eead4!important;text-decoration:underline!important }
|
||||
.aurora-content a:hover,.aurora-content a:active { color:#99f6e4!important }
|
||||
.aurora-content code,.aurora-content pre { color:#99f6e4!important;background:#0000004d!important;border-color:#0d948833!important }
|
||||
.aurora-content blockquote { color:#ffffff99!important }
|
||||
.aurora-content h1,.aurora-content h2,.aurora-content h3,.aurora-content h4,.aurora-content h5,.aurora-content h6 { color:#ccfbf1!important }
|
||||
.aurora-content hr { border-color:#0d94884d!important }
|
||||
.aurora-content img { border:0;max-width:100%!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:20px!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#0a0815;-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="24" height="24" class="email-logo" />
|
||||
<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 class="aurora-content">{{.Body}}</span>
|
||||
{{end -}}
|
||||
{{if .CanReply}}
|
||||
{{.locale.Tr "mail.reply"}}
|
||||
{{end}}
|
||||
</p>
|
||||
|
||||
{{- range .ReviewComments}}
|
||||
<hr>
|
||||
<p>{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p>
|
||||
<pre>{{.Patch}}</pre>
|
||||
<div class="aurora-content">{{.RenderedContent}}</div>
|
||||
{{end -}}
|
||||
|
||||
{{if eq .ActionName "push"}}
|
||||
<ul>
|
||||
{{range .Comment.Commits}}
|
||||
<li>
|
||||
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.UserCommit.GitCommit.ID}}">{{ShortSha .UserCommit.GitCommit.ID.String}}</a> - {{.UserCommit.GitCommit.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:16px 18px;">
|
||||
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
|
||||
<p class="email-link-url">{{.Link}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,166 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#0a0815 }
|
||||
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
|
||||
.email-brand { font-size:16px;font-weight:300;color:#ffffff66;letter-spacing:4px;text-transform:uppercase }
|
||||
.email-header { padding:0 0 32px;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:48px 40px;background:#191432cc;border:1px solid #0d948833;box-shadow:0 0 60px #0d948814,0 0 120px #6366f10a }
|
||||
.email-heading { margin:0 0 20px;font-size:24px;font-weight:300;color:#ccfbf1;line-height:1.3;letter-spacing:-.5px }
|
||||
.email-text { margin:0 0 24px;font-size:14px;line-height:2;color:#d2fcf5e0;font-weight:300 }
|
||||
.email-subtext { margin:0;font-size:13px;line-height:1.8;color:#b4c3d7f2;font-weight:300 }
|
||||
|
||||
/* Divider */
|
||||
.email-divider { height:1px;background:linear-gradient(90deg,transparent,#0d94884d,transparent) }
|
||||
|
||||
/* Button */
|
||||
.email-btn-row { padding:40px 40px;text-align:center }
|
||||
.email-btn { display:inline-block;padding:16px 48px;font-size:14px;font-weight:400;color:#e0f5f3!important;text-decoration:none;background:#0d94882e;border:1px solid #0d94884d;letter-spacing:1px }
|
||||
.email-btn-table { margin:0 0 32px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #0d94882e;background:#0d948808 }
|
||||
.email-link-label { margin:0 0 8px;font-size:11px;color:#b4fceebf;font-weight:300 }
|
||||
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#99f6e4;background:#00000033;padding:10px 12px;border:1px solid #0d948826;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:32px 0 0;text-align:center }
|
||||
.email-footer-text { margin:0;font-size:11px;color:#a0afc88c;font-weight:300 }
|
||||
.email-footer-link { color:#5eead480;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:#ccfbf1!important }
|
||||
.card-body a,.card-body a:link,.card-body a:visited { color:#5eead4!important;text-decoration:underline!important }
|
||||
.card-body a:hover,.card-body a:active { color:#99f6e4!important }
|
||||
.card-body li { color:#d2fcf5e0!important }
|
||||
|
||||
/* Content */
|
||||
.aurora-content,.aurora-content * { color:#d2fcf5e0!important }
|
||||
.aurora-content a,.aurora-content a:link,.aurora-content a:visited { color:#5eead4!important;text-decoration:underline!important }
|
||||
.aurora-content a:hover,.aurora-content a:active { color:#99f6e4!important }
|
||||
.aurora-content code,.aurora-content pre { color:#99f6e4!important;background:#0000004d!important;border-color:#0d948833!important }
|
||||
.aurora-content blockquote { color:#ffffff99!important }
|
||||
.aurora-content h1,.aurora-content h2,.aurora-content h3,.aurora-content h4,.aurora-content h5,.aurora-content h6 { color:#ccfbf1!important }
|
||||
.aurora-content hr { border-color:#0d94884d!important }
|
||||
.aurora-content img { border:0;max-width:100%!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:20px!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#0a0815;-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="24" height="24" class="email-logo" />
|
||||
<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>{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
|
||||
|
||||
{{if .Release.RenderedNote}}
|
||||
<p class="email-text">{{.locale.Tr "mail.release.note"}}</p>
|
||||
<div class="aurora-content" style="font-size:14px;line-height:2;">{{.Release.RenderedNote}}</div>
|
||||
{{end}}
|
||||
|
||||
<p class="email-text">{{.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 | FormatByteSize}})</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:16px 18px;">
|
||||
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
|
||||
<p class="email-link-url">{{.Link}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,135 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#0a0815 }
|
||||
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
|
||||
.email-brand { font-size:16px;font-weight:300;color:#ffffff66;letter-spacing:4px;text-transform:uppercase }
|
||||
.email-header { padding:0 0 32px;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:48px 40px;background:#191432cc;border:1px solid #0d948833;box-shadow:0 0 60px #0d948814,0 0 120px #6366f10a }
|
||||
.email-heading { margin:0 0 20px;font-size:24px;font-weight:300;color:#ccfbf1;line-height:1.3;letter-spacing:-.5px }
|
||||
.email-text { margin:0 0 24px;font-size:14px;line-height:2;color:#d2fcf5e0;font-weight:300 }
|
||||
.email-subtext { margin:0;font-size:13px;line-height:1.8;color:#b4c3d7f2;font-weight:300 }
|
||||
|
||||
/* Divider */
|
||||
.email-divider { height:1px;background:linear-gradient(90deg,transparent,#0d94884d,transparent) }
|
||||
|
||||
/* Button */
|
||||
.email-btn-row { padding:40px 40px;text-align:center }
|
||||
.email-btn { display:inline-block;padding:16px 48px;font-size:14px;font-weight:400;color:#e0f5f3!important;text-decoration:none;background:#0d94882e;border:1px solid #0d94884d;letter-spacing:1px }
|
||||
.email-btn-table { margin:0 0 32px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #0d94882e;background:#0d948808 }
|
||||
.email-link-label { margin:0 0 8px;font-size:11px;color:#b4fceebf;font-weight:300 }
|
||||
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#99f6e4;background:#00000033;padding:10px 12px;border:1px solid #0d948826;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:32px 0 0;text-align:center }
|
||||
.email-footer-text { margin:0;font-size:11px;color:#a0afc88c;font-weight:300 }
|
||||
.email-footer-link { color:#5eead480;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:#ccfbf1!important }
|
||||
.card-body a,.card-body a:link,.card-body a:visited { color:#5eead4!important;text-decoration:underline!important }
|
||||
.card-body a:hover,.card-body a:active { color:#99f6e4!important }
|
||||
.card-body li { color:#d2fcf5e0!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:20px!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#0a0815;-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="24" height="24" class="email-logo" />
|
||||
<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:16px 18px;">
|
||||
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
|
||||
<p class="email-link-url">{{.Link}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,136 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#0a0815 }
|
||||
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
|
||||
.email-brand { font-size:16px;font-weight:300;color:#ffffff66;letter-spacing:4px;text-transform:uppercase }
|
||||
.email-header { padding:0 0 32px;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:48px 40px;background:#191432cc;border:1px solid #0d948833;box-shadow:0 0 60px #0d948814,0 0 120px #6366f10a }
|
||||
.email-heading { margin:0 0 20px;font-size:24px;font-weight:300;color:#ccfbf1;line-height:1.3;letter-spacing:-.5px }
|
||||
.email-text { margin:0 0 24px;font-size:14px;line-height:2;color:#d2fcf5e0;font-weight:300 }
|
||||
.email-subtext { margin:0;font-size:13px;line-height:1.8;color:#b4c3d7f2;font-weight:300 }
|
||||
|
||||
/* Divider */
|
||||
.email-divider { height:1px;background:linear-gradient(90deg,transparent,#0d94884d,transparent) }
|
||||
|
||||
/* Button */
|
||||
.email-btn-row { padding:40px 40px;text-align:center }
|
||||
.email-btn { display:inline-block;padding:16px 48px;font-size:14px;font-weight:400;color:#e0f5f3!important;text-decoration:none;background:#0d94882e;border:1px solid #0d94884d;letter-spacing:1px }
|
||||
.email-btn-table { margin:0 0 32px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #0d94882e;background:#0d948808 }
|
||||
.email-link-label { margin:0 0 8px;font-size:11px;color:#b4fceebf;font-weight:300 }
|
||||
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#99f6e4;background:#00000033;padding:10px 12px;border:1px solid #0d948826;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:32px 0 0;text-align:center }
|
||||
.email-footer-text { margin:0;font-size:11px;color:#a0afc88c;font-weight:300 }
|
||||
.email-footer-link { color:#5eead480;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:#ccfbf1!important }
|
||||
.card-body a,.card-body a:link,.card-body a:visited { color:#5eead4!important;text-decoration:underline!important }
|
||||
.card-body a:hover,.card-body a:active { color:#99f6e4!important }
|
||||
.card-body li { color:#d2fcf5e0!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:20px!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#0a0815;-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="24" height="24" class="email-logo" />
|
||||
<span class="email-brand">{{AppName}}</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Card -->
|
||||
<tr>
|
||||
<td class="email-card card-body">
|
||||
|
||||
<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%" 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: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>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,138 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#0a0815 }
|
||||
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
|
||||
.email-brand { font-size:16px;font-weight:300;color:#ffffff66;letter-spacing:4px;text-transform:uppercase }
|
||||
.email-header { padding:0 0 32px;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:48px 40px;background:#191432cc;border:1px solid #0d948833;box-shadow:0 0 60px #0d948814,0 0 120px #6366f10a }
|
||||
.email-heading { margin:0 0 20px;font-size:24px;font-weight:300;color:#ccfbf1;line-height:1.3;letter-spacing:-.5px }
|
||||
.email-text { margin:0 0 24px;font-size:14px;line-height:2;color:#d2fcf5e0;font-weight:300 }
|
||||
.email-subtext { margin:0;font-size:13px;line-height:1.8;color:#b4c3d7f2;font-weight:300 }
|
||||
|
||||
/* Divider */
|
||||
.email-divider { height:1px;background:linear-gradient(90deg,transparent,#0d94884d,transparent) }
|
||||
|
||||
/* Button */
|
||||
.email-btn-row { padding:40px 40px;text-align:center }
|
||||
.email-btn { display:inline-block;padding:16px 48px;font-size:14px;font-weight:400;color:#e0f5f3!important;text-decoration:none;background:#0d94882e;border:1px solid #0d94884d;letter-spacing:1px }
|
||||
.email-btn-table { margin:0 0 32px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #0d94882e;background:#0d948808 }
|
||||
.email-link-label { margin:0 0 8px;font-size:11px;color:#b4fceebf;font-weight:300 }
|
||||
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#99f6e4;background:#00000033;padding:10px 12px;border:1px solid #0d948826;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:32px 0 0;text-align:center }
|
||||
.email-footer-text { margin:0;font-size:11px;color:#a0afc88c;font-weight:300 }
|
||||
.email-footer-link { color:#5eead480;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:#ccfbf1!important }
|
||||
.card-body a,.card-body a:link,.card-body a:visited { color:#5eead4!important;text-decoration:underline!important }
|
||||
.card-body a:hover,.card-body a:active { color:#99f6e4!important }
|
||||
.card-body li { color:#d2fcf5e0!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:20px!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#0a0815;-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="24" height="24" class="email-logo" />
|
||||
<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%" 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: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>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,140 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#0a0815 }
|
||||
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
|
||||
.email-brand { font-size:16px;font-weight:300;color:#ffffff66;letter-spacing:4px;text-transform:uppercase }
|
||||
.email-header { padding:0 0 32px;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:48px 40px;background:#191432cc;border:1px solid #0d948833;box-shadow:0 0 60px #0d948814,0 0 120px #6366f10a }
|
||||
.email-heading { margin:0 0 20px;font-size:24px;font-weight:300;color:#ccfbf1;line-height:1.3;letter-spacing:-.5px }
|
||||
.email-text { margin:0 0 24px;font-size:14px;line-height:2;color:#d2fcf5e0;font-weight:300 }
|
||||
.email-subtext { margin:0;font-size:13px;line-height:1.8;color:#b4c3d7f2;font-weight:300 }
|
||||
|
||||
/* Divider */
|
||||
.email-divider { height:1px;background:linear-gradient(90deg,transparent,#0d94884d,transparent) }
|
||||
|
||||
/* Button */
|
||||
.email-btn-row { padding:40px 40px;text-align:center }
|
||||
.email-btn { display:inline-block;padding:16px 48px;font-size:14px;font-weight:400;color:#e0f5f3!important;text-decoration:none;background:#0d94882e;border:1px solid #0d94884d;letter-spacing:1px }
|
||||
.email-btn-table { margin:0 0 32px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #0d94882e;background:#0d948808 }
|
||||
.email-link-label { margin:0 0 8px;font-size:11px;color:#b4fceebf;font-weight:300 }
|
||||
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#99f6e4;background:#00000033;padding:10px 12px;border:1px solid #0d948826;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:32px 0 0;text-align:center }
|
||||
.email-footer-text { margin:0;font-size:11px;color:#a0afc88c;font-weight:300 }
|
||||
.email-footer-link { color:#5eead480;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:#ccfbf1!important }
|
||||
.card-body a,.card-body a:link,.card-body a:visited { color:#5eead4!important;text-decoration:underline!important }
|
||||
.card-body a:hover,.card-body a:active { color:#99f6e4!important }
|
||||
.card-body li { color:#d2fcf5e0!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:20px!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#0a0815;-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="24" height="24" class="email-logo" />
|
||||
<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-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>
|
||||
</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: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>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,138 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#0a0815 }
|
||||
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
|
||||
.email-brand { font-size:16px;font-weight:300;color:#ffffff66;letter-spacing:4px;text-transform:uppercase }
|
||||
.email-header { padding:0 0 32px;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:48px 40px;background:#191432cc;border:1px solid #0d948833;box-shadow:0 0 60px #0d948814,0 0 120px #6366f10a }
|
||||
.email-heading { margin:0 0 20px;font-size:24px;font-weight:300;color:#ccfbf1;line-height:1.3;letter-spacing:-.5px }
|
||||
.email-text { margin:0 0 24px;font-size:14px;line-height:2;color:#d2fcf5e0;font-weight:300 }
|
||||
.email-subtext { margin:0;font-size:13px;line-height:1.8;color:#b4c3d7f2;font-weight:300 }
|
||||
|
||||
/* Divider */
|
||||
.email-divider { height:1px;background:linear-gradient(90deg,transparent,#0d94884d,transparent) }
|
||||
|
||||
/* Button */
|
||||
.email-btn-row { padding:40px 40px;text-align:center }
|
||||
.email-btn { display:inline-block;padding:16px 48px;font-size:14px;font-weight:400;color:#e0f5f3!important;text-decoration:none;background:#0d94882e;border:1px solid #0d94884d;letter-spacing:1px }
|
||||
.email-btn-table { margin:0 0 32px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #0d94882e;background:#0d948808 }
|
||||
.email-link-label { margin:0 0 8px;font-size:11px;color:#b4fceebf;font-weight:300 }
|
||||
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#99f6e4;background:#00000033;padding:10px 12px;border:1px solid #0d948826;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:32px 0 0;text-align:center }
|
||||
.email-footer-text { margin:0;font-size:11px;color:#a0afc88c;font-weight:300 }
|
||||
.email-footer-link { color:#5eead480;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:#ccfbf1!important }
|
||||
.card-body a,.card-body a:link,.card-body a:visited { color:#5eead4!important;text-decoration:underline!important }
|
||||
.card-body a:hover,.card-body a:active { color:#99f6e4!important }
|
||||
.card-body li { color:#d2fcf5e0!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:20px!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#0a0815;-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="24" height="24" class="email-logo" />
|
||||
<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%" 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: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>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,78 @@
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#0a0815 }
|
||||
.email-wrap { max-width:600px;margin:40px auto;font-family:system-ui,-apple-system,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:block;margin:0 auto 14px;border:0;outline:none;opacity:0.5 }
|
||||
.email-brand { font-size:16px;font-weight:300;color:#ffffff66;letter-spacing:4px;text-transform:uppercase }
|
||||
.email-header { padding:0 0 32px;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:48px 40px;background:#191432cc;border:1px solid #0d948833;box-shadow:0 0 60px #0d948814,0 0 120px #6366f10a }
|
||||
.email-heading { margin:0 0 20px;font-size:24px;font-weight:300;color:#ccfbf1;line-height:1.3;letter-spacing:-.5px }
|
||||
.email-text { margin:0 0 24px;font-size:14px;line-height:2;color:#d2fcf5e0;font-weight:300 }
|
||||
.email-subtext { margin:0;font-size:13px;line-height:1.8;color:#b4c3d7f2;font-weight:300 }
|
||||
|
||||
/* Divider */
|
||||
.email-divider { height:1px;background:linear-gradient(90deg,transparent,#0d94884d,transparent) }
|
||||
|
||||
/* Button */
|
||||
.email-btn-row { padding:40px 40px;text-align:center }
|
||||
.email-btn,.card-body .email-btn,.card-body .email-btn:link,.card-body .email-btn:visited { display:inline-block;padding:16px 48px;font-size:14px;font-weight:400;color:#e0f5f3!important;text-decoration:none!important;background:#0d94882e;border:1px solid #0d94884d;letter-spacing:1px }
|
||||
.email-btn-table { margin:0 0 32px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #0d94882e;background:#0d948808 }
|
||||
.email-link-label { margin:0 0 8px;font-size:11px;color:#b4fceebf;font-weight:300 }
|
||||
.email-link-url { margin:0;font-size:11px;font-family:monospace;color:#99f6e4;background:#00000033;padding:10px 12px;border:1px solid #0d948826;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:32px 0 0;text-align:center }
|
||||
.email-footer-text { margin:0;font-size:11px;color:#a0afc88c;font-weight:300 }
|
||||
.email-footer-link { color:#5eead480;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:#ccfbf1!important }
|
||||
.card-body a,.card-body a:link,.card-body a:visited { color:#5eead4!important;text-decoration:underline!important }
|
||||
.card-body a:hover,.card-body a:active { color:#99f6e4!important }
|
||||
.card-body li { color:#d2fcf5e0!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:20px!important }
|
||||
}
|
||||
|
||||
/* Official-snapshot presentation adapter: no content or translation overrides. */
|
||||
body { margin:0; padding:24px 16px; background-color:#0a0815; }
|
||||
body, td { font-family:Arial,sans-serif; }
|
||||
.email-wrap { width:100%; max-width:600px; border-collapse:separate; border-spacing:0; }
|
||||
.card-body { font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
|
||||
.card-body > pre, .card-body code { font-family:Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
|
||||
.card-body ul { padding-left:22px; }
|
||||
.card-body blockquote { padding-left:16px; border-left:3px solid #0d9488; }
|
||||
|
||||
|
||||
.mail-footer { margin:0; }
|
||||
.mail-footer td { border-top-color:transparent!important; color:#d2fcf5!important; }
|
||||
.mail-footer a { color:#0d9488!important; text-decoration:none; }
|
||||
.email-body { padding:32px; }
|
||||
body { background-image:radial-gradient(ellipse at center,#0d948814,transparent 65%); }
|
||||
@media only screen and (max-width:480px) {
|
||||
body { padding:12px 8px; }
|
||||
.email-wrap { margin:0 auto; }
|
||||
.email-body { padding:24px 18px!important; }
|
||||
.card-body { width:auto!important; }
|
||||
.resp-hide { display:none!important; }
|
||||
|
||||
}
|
||||
|
||||
/* Shared framework controls: keep URLs readable, never style them as CTAs. */
|
||||
.email-link-cell { padding:16px 18px; }
|
||||
.email-link-url a,.card-body .email-link-url a { color:inherit!important; text-decoration:none!important; font-size:inherit; }
|
||||
.email-link-url { overflow-wrap:anywhere; word-break:break-all; }
|
||||
.email-action { margin:20px 0 0; }
|
||||
.email-btn-row { box-sizing:border-box; }
|
||||
.card-body .email-btn { max-width:100%; box-sizing:border-box; white-space:normal; overflow-wrap:anywhere; }
|
||||
@media only screen and (max-width:480px) { .card-body .email-btn { display:block; text-align:center; width:100%; } .email-btn-table { width:100%; } }
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "aurora",
|
||||
"description": "Ethereal / Dreamlike",
|
||||
"mode": "framed",
|
||||
"layout": "aurora"
|
||||
}
|
||||
@@ -1,99 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.team_invite.subject" (.Inviter.DisplayName|DotEscape) (.Organization.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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 #3b82f61a;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px #0000000f,0 8px 24px #0000000f,0 0 0 1px #0000000a;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!important;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 #3b82f61a;border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 #ffffffe6 }
|
||||
.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 #0000000f;word-break:break-all;font-family:monospace }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid #0000000f;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:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 32px 24px;color:#334155;">
|
||||
|
||||
<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>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.InviteURL}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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;">
|
||||
{{.locale.Tr "mail.team_invite.text_3" .Invite.Email}}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,100 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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 #3b82f61a;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px #0000000f,0 8px 24px #0000000f,0 0 0 1px #0000000a;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 #0000000f;border-radius:10px;padding:12px 16px;margin-bottom:8px;box-shadow:inset 0 1px 0 #ffffffb3 }
|
||||
.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!important;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 #3b82f61a;border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 #ffffffe6 }
|
||||
.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 #0000000f;word-break:break-all;font-family:monospace }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid #0000000f;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:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 32px 24px;color:#334155;">
|
||||
|
||||
<h2 class="email-heading">
|
||||
{{.Repo.FullName}} — {{.Run.WorkflowID}}: {{.RunStatusText}}
|
||||
</h2>
|
||||
|
||||
<ul class="job-list">
|
||||
{{range $job := .Jobs}}
|
||||
<li class="job-item">
|
||||
<a href="{{$job.HTMLURL}}" class="job-link">
|
||||
{{$job.Status}}: {{$job.Name}}{{if gt $job.Attempt 1}} (retry #{{$job.Attempt}}){{end}} — {{$job.Duration}}
|
||||
</a>
|
||||
</li>
|
||||
{{end}}
|
||||
</ul>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Run.HTMLURL}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,88 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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 #3b82f61a;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px #0000000f,0 8px 24px #0000000f,0 0 0 1px #0000000a;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 #3b82f61f }
|
||||
|
||||
/* 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!important;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 #3b82f61a;border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 #ffffffe6 }
|
||||
.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 #0000000f;word-break:break-all;font-family:monospace }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid #0000000f;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:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 32px 24px;color:#334155;">
|
||||
|
||||
<p class="email-text">
|
||||
{{.locale.Tr "mail.repo.collaborator.added.text"}} <code>{{.RepoName}}</code>.
|
||||
</p>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,90 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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 #3b82f61a;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px #0000000f,0 8px 24px #0000000f,0 0 0 1px #0000000a;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!important;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 #3b82f61a;border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 #ffffffe6 }
|
||||
.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 #0000000f;word-break:break-all;font-family:monospace }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid #0000000f;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:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- 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}}
|
||||
{{.locale.Tr "mail.issue_assigned.issue" .Doer.Name $link $repo_url}}
|
||||
{{end}}
|
||||
</p>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,162 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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 #3b82f61a;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px #0000000f,0 8px 24px #0000000f,0 0 0 1px #0000000a;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 #0000000f }
|
||||
hr { border:none;border-top:1px solid #0000000f;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!important;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 #3b82f61a;border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 #ffffffe6 }
|
||||
.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 #0000000f;word-break:break-all;font-family:monospace }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid #0000000f;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:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- 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 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}}
|
||||
|
||||
{{$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}}
|
||||
|
||||
{{.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 class="email-text">
|
||||
{{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}} {{.locale.Tr "mail.reply"}}{{end}}
|
||||
</p>
|
||||
|
||||
{{- range .ReviewComments}}
|
||||
<hr>
|
||||
<p class="review-path">{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p>
|
||||
<div class="review-content">
|
||||
<pre>{{.Patch}}</pre>
|
||||
<div class="review-body">{{.RenderedContent}}</div>
|
||||
</div>
|
||||
{{end -}}
|
||||
|
||||
{{if eq .ActionName "push"}}
|
||||
<ul class="commit-list">
|
||||
{{range .Comment.Commits}}
|
||||
<li class="commit-item">
|
||||
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.UserCommit.GitCommit.ID}}" class="commit-link">
|
||||
{{ShortSha .UserCommit.GitCommit.ID.String}}
|
||||
</a> — {{.UserCommit.GitCommit.MessageTitle}}
|
||||
</li>
|
||||
{{end}}
|
||||
</ul>
|
||||
{{end}}
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,122 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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 #3b82f61a;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px #0000000f,0 8px 24px #0000000f,0 0 0 1px #0000000a;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!important;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 #3b82f61a;border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 #ffffffe6 }
|
||||
.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 #0000000f;word-break:break-all;font-family:monospace }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid #0000000f;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:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- 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 class="email-heading">{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
|
||||
|
||||
{{if .Release.RenderedNote}}
|
||||
{{.locale.Tr "mail.release.note"}}<br>
|
||||
<div class="email-content">
|
||||
{{.Release.RenderedNote}}
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
<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>
|
||||
</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>
|
||||
</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 | FormatByteSize}})</a>
|
||||
</li>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</ul>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,85 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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 #3b82f61a;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px #0000000f,0 8px 24px #0000000f,0 0 0 1px #0000000a;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!important;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 #3b82f61a;border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 #ffffffe6 }
|
||||
.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 #0000000f;word-break:break-all;font-family:monospace }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid #0000000f;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:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,92 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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 #3b82f61a;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px #0000000f,0 8px 24px #0000000f,0 0 0 1px #0000000a;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!important;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 #3b82f61a;border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 #ffffffe6 }
|
||||
.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 #0000000f;word-break:break-all;font-family:monospace }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid #0000000f;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:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 32px 24px;color:#334155;">
|
||||
|
||||
<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>
|
||||
|
||||
<!-- Button -->
|
||||
{{$activate_url := printf "%suser/activate?code=%s" AppUrl (QueryEscape .Code)}}
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_account"}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,91 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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 #3b82f61a;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px #0000000f,0 8px 24px #0000000f,0 0 0 1px #0000000a;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!important;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 #3b82f61a;border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 #ffffffe6 }
|
||||
.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 #0000000f;word-break:break-all;font-family:monospace }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid #0000000f;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:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 32px 24px;color:#334155;">
|
||||
|
||||
<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>
|
||||
|
||||
<!-- 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%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_email"}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,100 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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 #3b82f61a;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px #0000000f,0 8px 24px #0000000f,0 0 0 1px #0000000a;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!important;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 #3b82f61a;border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 #ffffffe6 }
|
||||
.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 #0000000f;word-break:break-all;font-family:monospace }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid #0000000f;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:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 32px 24px;color:#334155;">
|
||||
|
||||
<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}}
|
||||
</p>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<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 16px;font-size:14px;line-height:1.6;color:#64748b;">
|
||||
{{.locale.Tr "mail.register_notify.text_3" $set_pwd_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">{{AppUrl}}user/login</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,91 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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 #3b82f61a;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px #0000000f,0 8px 24px #0000000f,0 0 0 1px #0000000a;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!important;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 #3b82f61a;border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 #ffffffe6 }
|
||||
.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 #0000000f;word-break:break-all;font-family:monospace }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid #0000000f;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:#e2e8f2;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 32px 24px;color:#334155;">
|
||||
|
||||
<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>
|
||||
|
||||
<!-- Button -->
|
||||
{{$recover_url := printf "%suser/recover_account?code=%s" AppUrl (QueryEscape .Code)}}
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{$recover_url}}" class="email-btn">{{.locale.Tr "mail.reset_password"}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,61 @@
|
||||
/* 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 #3b82f61a;text-align:center }
|
||||
|
||||
/* Card */
|
||||
.email-card { max-width:600px;margin:24px auto;background:#ffffff;border-radius:16px;box-shadow:0 2px 4px #0000000f,0 8px 24px #0000000f,0 0 0 1px #0000000a;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,.card-body .email-btn,.card-body .email-btn:link,.card-body .email-btn:visited { display:inline-block;padding:14px 40px;font-size:15px;font-weight:600;color:#ffffff!important;text-decoration:none!important;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 #3b82f61a;border-radius:12px;padding:16px 18px;margin:24px 0 16px;box-shadow:inset 0 1px 0 #ffffffe6 }
|
||||
.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 #0000000f;word-break:break-all;font-family:monospace }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:18px 32px 22px;background:linear-gradient(135deg,#f8f9fc,#f4f6fb);border-top:1px solid #0000000f;text-align:center }
|
||||
.email-footer-text { margin:0;font-size:13px;color:#94a3b8 }
|
||||
.email-footer-link { color:#3b82f6;text-decoration:none;font-weight:500 }
|
||||
|
||||
/* Official-snapshot presentation adapter: no content or translation overrides. */
|
||||
body { margin:0; padding:24px 16px; background-color:#e2e8f2; }
|
||||
body, td { font-family:Arial,sans-serif; }
|
||||
.email-wrap { width:100%; max-width:600px; border-collapse:separate; border-spacing:0; }
|
||||
.card-body { font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
|
||||
.card-body > pre, .card-body code { font-family:Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
|
||||
.card-body ul { padding-left:22px; }
|
||||
.card-body blockquote { padding-left:16px; border-left:3px solid #3b82f6; }
|
||||
|
||||
|
||||
.mail-footer { margin:0; }
|
||||
.mail-footer td { border-top-color:transparent!important; color:#334155!important; }
|
||||
.mail-footer a { color:#3b82f6!important; text-decoration:none; }
|
||||
.email-body { padding:32px 32px 24px; color:#334155; }
|
||||
.glass-halo { display:inline-block; padding:15px 17px; border-radius:18px; background:#ffffffa8; border:1px solid #ffffff; box-shadow:0 4px 18px #3b82f617; }
|
||||
.email-body { background:linear-gradient(180deg,#ffffff,#fefeff); }
|
||||
@media only screen and (max-width:480px) {
|
||||
body { padding:12px 8px; }
|
||||
.email-wrap { margin:0 auto; }
|
||||
.email-body { padding:24px 18px!important; }
|
||||
.card-body { width:auto!important; }
|
||||
.resp-hide { display:none!important; }
|
||||
|
||||
}
|
||||
|
||||
/* Shared framework controls: keep URLs readable, never style them as CTAs. */
|
||||
.email-link-cell { padding:16px 18px; }
|
||||
.email-link-url a,.card-body .email-link-url a { color:inherit!important; text-decoration:none!important; font-size:inherit; }
|
||||
.email-link-url { overflow-wrap:anywhere; word-break:break-all; }
|
||||
.email-action { margin:20px 0 0; }
|
||||
.email-btn-row { box-sizing:border-box; }
|
||||
.card-body .email-btn { max-width:100%; box-sizing:border-box; white-space:normal; overflow-wrap:anywhere; }
|
||||
@media only screen and (max-width:480px) { .card-body .email-btn { display:block; text-align:center; width:100%; } .email-btn-table { width:100%; } }
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "bloom",
|
||||
"description": "Creative / Startup",
|
||||
"mode": "framed",
|
||||
"layout": "bloom"
|
||||
}
|
||||
@@ -1,106 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.team_invite.subject" (.Inviter.DisplayName|DotEscape) (.Organization.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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 #ea580c14;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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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;">👋</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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 32px 24px;color:#78350f;">
|
||||
|
||||
<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>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.InviteURL}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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;">
|
||||
{{.locale.Tr "mail.team_invite.text_3" .Invite.Email}}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,107 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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 #ea580c14;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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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;">👋</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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 32px 24px;color:#78350f;">
|
||||
|
||||
<h2 class="email-heading">
|
||||
{{.Repo.FullName}} — {{.Run.WorkflowID}}: {{.RunStatusText}}
|
||||
</h2>
|
||||
|
||||
<ul class="job-list">
|
||||
{{range $job := .Jobs}}
|
||||
<li class="job-item">
|
||||
<a href="{{$job.HTMLURL}}" class="job-link">
|
||||
{{$job.Status}}: {{$job.Name}}{{if gt $job.Attempt 1}} (retry #{{$job.Attempt}}){{end}} — {{$job.Duration}}
|
||||
</a>
|
||||
</li>
|
||||
{{end}}
|
||||
</ul>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Run.HTMLURL}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,95 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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 #ea580c14;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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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;">👋</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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 32px 24px;color:#78350f;">
|
||||
|
||||
<p class="email-text">
|
||||
{{.locale.Tr "mail.repo.collaborator.added.text"}} <code>{{.RepoName}}</code>.
|
||||
</p>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,97 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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 #ea580c14;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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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;">👋</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>
|
||||
|
||||
<!-- 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}}
|
||||
{{.locale.Tr "mail.issue_assigned.issue" .Doer.Name $link $repo_url}}
|
||||
{{end}}
|
||||
</p>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,168 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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 #ea580c14;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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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;">👋</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>
|
||||
|
||||
<!-- 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 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}}
|
||||
|
||||
{{$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}}
|
||||
|
||||
{{.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 class="email-text">
|
||||
{{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 class="review-path">{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p>
|
||||
<div class="review-content">
|
||||
<pre>{{.Patch}}</pre>
|
||||
<div class="review-body">{{.RenderedContent}}</div>
|
||||
</div>
|
||||
{{end -}}
|
||||
|
||||
{{if eq .ActionName "push"}}
|
||||
<ul class="commit-list">
|
||||
{{range .Comment.Commits}}
|
||||
<li class="commit-item">
|
||||
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.UserCommit.GitCommit.ID}}" class="commit-link">
|
||||
{{ShortSha .UserCommit.GitCommit.ID.String}}
|
||||
</a> — {{.UserCommit.GitCommit.MessageTitle}}
|
||||
</li>
|
||||
{{end}}
|
||||
</ul>
|
||||
{{end}}
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
{{if .CanReply}} {{.locale.Tr "mail.reply"}}{{end}}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,129 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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 #ea580c14;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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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;">👋</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>
|
||||
|
||||
<!-- 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 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 class="email-content">
|
||||
{{.Release.RenderedNote}}
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
<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>
|
||||
</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>
|
||||
</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 | FormatByteSize}})</a>
|
||||
</li>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</ul>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,92 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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 #ea580c14;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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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;">👋</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>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,99 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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 #ea580c14;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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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;">👋</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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 32px 24px;color:#78350f;">
|
||||
|
||||
<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>
|
||||
|
||||
<!-- Button -->
|
||||
{{$activate_url := printf "%suser/activate?code=%s" AppUrl (QueryEscape .Code)}}
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_account"}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,98 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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 #ea580c14;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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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;">👋</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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 32px 24px;color:#78350f;">
|
||||
|
||||
<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>
|
||||
|
||||
<!-- 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%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_email"}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,107 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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 #ea580c14;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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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;">👋</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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 32px 24px;color:#78350f;">
|
||||
|
||||
<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}}
|
||||
</p>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<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 16px;font-size:15px;line-height:1.6;color:#92400e;">
|
||||
{{.locale.Tr "mail.register_notify.text_3" $set_pwd_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">{{AppUrl}}user/login</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,98 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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 #ea580c14;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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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;">👋</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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 32px 24px;color:#78350f;">
|
||||
|
||||
<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>
|
||||
|
||||
<!-- Button -->
|
||||
{{$recover_url := printf "%suser/recover_account?code=%s" AppUrl (QueryEscape .Code)}}
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{$recover_url}}" class="email-btn">{{.locale.Tr "mail.reset_password"}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,61 @@
|
||||
/* 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 #ea580c14;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,.card-body .email-btn,.card-body .email-btn:link,.card-body .email-btn:visited { display:inline-block;padding:14px 40px;font-size:16px;font-weight:600;color:#ffffff!important;text-decoration:none!important;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 }
|
||||
|
||||
/* Official-snapshot presentation adapter: no content or translation overrides. */
|
||||
body { margin:0; padding:24px 16px; background-color:#fff7ed; }
|
||||
body, td { font-family:Arial,sans-serif; }
|
||||
.email-wrap { width:100%; max-width:600px; border-collapse:separate; border-spacing:0; }
|
||||
.card-body { font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
|
||||
.card-body > pre, .card-body code { font-family:Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
|
||||
.card-body ul { padding-left:22px; }
|
||||
.card-body blockquote { padding-left:16px; border-left:3px solid #ea580c; }
|
||||
|
||||
|
||||
.mail-footer { margin:0; }
|
||||
.mail-footer td { border-top-color:transparent!important; color:#78350f!important; }
|
||||
.mail-footer a { color:#ea580c!important; text-decoration:none; }
|
||||
.email-body { padding:32px 32px 24px; color:#78350f; }
|
||||
.ember-sun { float:right; width:30px; height:30px; border:1px solid #fed7aa; border-radius:50%; background:#ffedd5; }
|
||||
.ember-sun span { display:block; width:14px; height:14px; margin:7px; background:#fb923c; border-radius:50%; }
|
||||
@media only screen and (max-width:480px) {
|
||||
body { padding:12px 8px; }
|
||||
.email-wrap { margin:0 auto; }
|
||||
.email-body { padding:24px 18px!important; }
|
||||
.card-body { width:auto!important; }
|
||||
.resp-hide { display:none!important; }
|
||||
|
||||
}
|
||||
|
||||
/* Shared framework controls: keep URLs readable, never style them as CTAs. */
|
||||
.email-link-cell { padding:16px 18px; }
|
||||
.email-link-url a,.card-body .email-link-url a { color:inherit!important; text-decoration:none!important; font-size:inherit; }
|
||||
.email-link-url { overflow-wrap:anywhere; word-break:break-all; }
|
||||
.email-action { margin:20px 0 0; }
|
||||
.email-btn-row { box-sizing:border-box; }
|
||||
.card-body .email-btn { max-width:100%; box-sizing:border-box; white-space:normal; overflow-wrap:anywhere; }
|
||||
@media only screen and (max-width:480px) { .card-body .email-btn { display:block; text-align:center; width:100%; } .email-btn-table { width:100%; } }
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "ember",
|
||||
"description": "Community / Open Source",
|
||||
"mode": "framed",
|
||||
"layout": "ember"
|
||||
}
|
||||
@@ -1,99 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.team_invite.subject" (.Inviter.DisplayName|DotEscape) (.Organization.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 36px 24px;color:#2c1810;">
|
||||
|
||||
<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>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.InviteURL}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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;">
|
||||
{{.locale.Tr "mail.team_invite.text_3" .Invite.Email}}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,100 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 36px 24px;color:#2c1810;">
|
||||
|
||||
<h2 class="email-heading">
|
||||
{{.Repo.FullName}} — {{.Run.WorkflowID}}: {{.RunStatusText}}
|
||||
</h2>
|
||||
|
||||
<ul class="job-list">
|
||||
{{range $job := .Jobs}}
|
||||
<li class="job-item">
|
||||
<a href="{{$job.HTMLURL}}" class="job-link">
|
||||
{{$job.Status}}: {{$job.Name}}{{if gt $job.Attempt 1}} (retry #{{$job.Attempt}}){{end}} — {{$job.Duration}}
|
||||
</a>
|
||||
</li>
|
||||
{{end}}
|
||||
</ul>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Run.HTMLURL}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,88 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 36px 24px;color:#2c1810;">
|
||||
|
||||
<p class="email-text">
|
||||
{{.locale.Tr "mail.repo.collaborator.added.text"}} <code>{{.RepoName}}</code>.
|
||||
</p>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,90 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- 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}}
|
||||
{{.locale.Tr "mail.issue_assigned.issue" .Doer.Name $link $repo_url}}
|
||||
{{end}}
|
||||
</p>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,161 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- 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 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}}
|
||||
|
||||
{{$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}}
|
||||
|
||||
{{.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 class="email-text">
|
||||
{{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 class="review-path">{{$.locale.Tr "mail.issue.in_tree_path" .TreePath}}</p>
|
||||
<div class="review-content">
|
||||
<pre>{{.Patch}}</pre>
|
||||
<div class="review-body">{{.RenderedContent}}</div>
|
||||
</div>
|
||||
{{end -}}
|
||||
|
||||
{{if eq .ActionName "push"}}
|
||||
<ul class="commit-list">
|
||||
{{range .Comment.Commits}}
|
||||
<li class="commit-item">
|
||||
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.UserCommit.GitCommit.ID}}" class="commit-link">
|
||||
{{ShortSha .UserCommit.GitCommit.ID.String}}
|
||||
</a> — {{.UserCommit.GitCommit.MessageTitle}}
|
||||
</li>
|
||||
{{end}}
|
||||
</ul>
|
||||
{{end}}
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
{{if .CanReply}} {{.locale.Tr "mail.reply"}}{{end}}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,122 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- 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 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 class="email-content">
|
||||
{{.Release.RenderedNote}}
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
<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>
|
||||
</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>
|
||||
</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 | FormatByteSize}})</a>
|
||||
</li>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</ul>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,85 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,92 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 36px 24px;color:#2c1810;">
|
||||
|
||||
<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>
|
||||
|
||||
<!-- Button -->
|
||||
{{$activate_url := printf "%suser/activate?code=%s" AppUrl (QueryEscape .Code)}}
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_account"}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,91 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 36px 24px;color:#2c1810;">
|
||||
|
||||
<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>
|
||||
|
||||
<!-- 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%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{$activate_url}}" class="email-btn">{{.locale.Tr "mail.activate_email"}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,100 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 36px 24px;color:#2c1810;">
|
||||
|
||||
<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}}
|
||||
</p>
|
||||
|
||||
<!-- Button -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<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 16px;font-size:15px;line-height:1.7;color:#5c4a3a;">
|
||||
{{.locale.Tr "mail.register_notify.text_3" $set_pwd_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">{{AppUrl}}user/login</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,91 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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!important;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;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<div class="email-card">
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Card -->
|
||||
<div style="padding:32px 36px 24px;color:#2c1810;">
|
||||
|
||||
<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>
|
||||
|
||||
<!-- Button -->
|
||||
{{$recover_url := printf "%suser/recover_account?code=%s" AppUrl (QueryEscape .Code)}}
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-row">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{$recover_url}}" class="email-btn">{{.locale.Tr "mail.reset_password"}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="email-footer">
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,61 @@
|
||||
/* 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,.card-body .email-btn,.card-body .email-btn:link,.card-body .email-btn:visited { display:inline-block;padding:13px 38px;font-size:15px;font-weight:600;color:#ffffff!important;text-decoration:none!important;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 }
|
||||
|
||||
/* Official-snapshot presentation adapter: no content or translation overrides. */
|
||||
body { margin:0; padding:24px 16px; background-color:#faf8f5; }
|
||||
body, td { font-family:Georgia,'Times New Roman',serif; }
|
||||
.email-wrap { width:100%; max-width:600px; border-collapse:separate; border-spacing:0; }
|
||||
.card-body { font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
|
||||
.card-body > pre, .card-body code { font-family:Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
|
||||
.card-body ul { padding-left:22px; }
|
||||
.card-body blockquote { padding-left:16px; border-left:3px solid #1e3a5f; }
|
||||
|
||||
|
||||
.mail-footer { margin:0; }
|
||||
.mail-footer td { border-top-color:transparent!important; color:#2c1810!important; }
|
||||
.mail-footer a { color:#1e3a5f!important; text-decoration:none; }
|
||||
.email-body { padding:32px 36px 24px; color:#2c1810; }
|
||||
.heritage-rule { width:80px; margin:16px auto 0; border-top:3px double #c4a97d; }
|
||||
.card-body h4 { font-variant:small-caps; letter-spacing:1px; color:#1e3a5f; }
|
||||
@media only screen and (max-width:480px) {
|
||||
body { padding:12px 8px; }
|
||||
.email-wrap { margin:0 auto; }
|
||||
.email-body { padding:24px 18px!important; }
|
||||
.card-body { width:auto!important; }
|
||||
.resp-hide { display:none!important; }
|
||||
|
||||
}
|
||||
|
||||
/* Shared framework controls: keep URLs readable, never style them as CTAs. */
|
||||
.email-link-cell { padding:16px 18px; }
|
||||
.email-link-url a,.card-body .email-link-url a { color:inherit!important; text-decoration:none!important; font-size:inherit; }
|
||||
.email-link-url { overflow-wrap:anywhere; word-break:break-all; }
|
||||
.email-action { margin:20px 0 0; }
|
||||
.email-btn-row { box-sizing:border-box; }
|
||||
.card-body .email-btn { max-width:100%; box-sizing:border-box; white-space:normal; overflow-wrap:anywhere; }
|
||||
@media only screen and (max-width:480px) { .card-body .email-btn { display:block; text-align:center; width:100%; } .email-btn-table { width:100%; } }
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "heritage",
|
||||
"description": "Education / Research",
|
||||
"mode": "framed",
|
||||
"layout": "heritage"
|
||||
}
|
||||
@@ -1,140 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.team_invite.subject" (.Inviter.DisplayName|DotEscape) (.Organization.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#f4f6f9 }
|
||||
.email-wrap { max-width:600px;margin:20px auto;font-family:’Helvetica Neue’,Helvetica,Arial,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:inline-block;vertical-align:middle;margin-right:12px;border:0;outline:none }
|
||||
.email-brand { font-size:22px;font-weight:600;color:#1e293b;letter-spacing:-0.2px;vertical-align:middle }
|
||||
.email-header { padding:28px 32px 16px;border-bottom:1px solid #eef2f6;background:#ffffff;border-radius:12px 12px 0 0 }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:32px 32px 24px;color:#334155;background:#ffffff }
|
||||
.email-heading { margin:0 0 16px;font-size:16px;line-height:1.5;color:#1e293b }
|
||||
.email-text { margin:0 0 16px;font-size:16px;line-height:1.5;color:#334155 }
|
||||
.email-subtext { margin:0 0 20px;font-size:16px;line-height:1.5;color:#334155 }
|
||||
|
||||
/* Divider */
|
||||
.email-divider { height:1px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent);margin:16px 0 8px }
|
||||
|
||||
/* Button */
|
||||
.email-btn-row { padding:0;text-align:center }
|
||||
.email-btn { display:inline-block;padding:14px 36px;font-size:16px;font-weight:500;color:#ffffff!important;text-decoration:none;background:#1e88e5;border-radius:48px;border:1px solid #1e88e5;letter-spacing:0.3px;text-align:center }
|
||||
.email-btn-table { margin: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:#f4f6f9;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="max-width:600px;background:#ffffff;border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow:hidden;" class="email-wrap">
|
||||
|
||||
<!-- Floating Title -->
|
||||
<tr>
|
||||
<td class="email-header">
|
||||
|
||||
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
|
||||
<span class="email-brand">{{AppName}}</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Card -->
|
||||
<tr>
|
||||
<td class="email-card card-body">
|
||||
|
||||
<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: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 class="email-subtext" style="margin-top:24px;font-size:12px;color:#475569;">
|
||||
{{.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>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,136 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#f4f6f9 }
|
||||
.email-wrap { max-width:600px;margin:20px auto;font-family:’Helvetica Neue’,Helvetica,Arial,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:inline-block;vertical-align:middle;margin-right:12px;border:0;outline:none }
|
||||
.email-brand { font-size:22px;font-weight:600;color:#1e293b;letter-spacing:-0.2px;vertical-align:middle }
|
||||
.email-header { padding:28px 32px 16px;border-bottom:1px solid #eef2f6;background:#ffffff;border-radius:12px 12px 0 0 }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:32px 32px 24px;color:#334155;background:#ffffff }
|
||||
.email-heading { margin:0 0 16px;font-size: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!important;text-decoration:none;background:#1e88e5;border-radius:48px;border:1px solid #1e88e5;letter-spacing:0.3px;text-align:center }
|
||||
.email-btn-table { margin:16px 0 24px;border-collapse:separate }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px }
|
||||
.email-link-label { margin:0 0 8px;font-size:14px;color:#475569;line-height:1.5 }
|
||||
.email-link-url { margin:0;font-size:14px;font-family:monospace;color:#1e88e5;background:#ffffff;padding:10px 12px;border-radius:6px;border:1px solid #e2e8f0;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:20px 32px 28px;background:#f9fbfd;border-top:1px solid #eef2f6;text-align:left;border-radius:0 0 12px 12px }
|
||||
.email-footer-text { margin:0;font-size:14px;color:#64748b }
|
||||
.email-footer-link { color:#1e88e5;text-decoration:none;font-weight:500;border-bottom:1px dotted #b9d5f0 }
|
||||
|
||||
/* Typography utilities */
|
||||
.card-body a,.card-body a:link,.card-body a:visited { color:#1e88e5!important;text-decoration:none!important;font-weight:500!important }
|
||||
.card-body 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:#f4f6f9;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="max-width:600px;background:#ffffff;border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow:hidden;" class="email-wrap">
|
||||
|
||||
<!-- Floating Title -->
|
||||
<tr>
|
||||
<td class="email-header">
|
||||
|
||||
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
|
||||
<span class="email-brand">{{AppName}}</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Card -->
|
||||
<tr>
|
||||
<td class="email-card card-body">
|
||||
|
||||
<h2>{{.Repo.FullName}} {{.Run.WorkflowID}}: {{.RunStatusText}}</h2>
|
||||
|
||||
<ul>
|
||||
{{range $job := .Jobs}}
|
||||
<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>
|
||||
|
||||
</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: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>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,128 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#f4f6f9 }
|
||||
.email-wrap { max-width:600px;margin:20px auto;font-family:’Helvetica Neue’,Helvetica,Arial,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:inline-block;vertical-align:middle;margin-right:12px;border:0;outline:none }
|
||||
.email-brand { font-size:22px;font-weight:600;color:#1e293b;letter-spacing:-0.2px;vertical-align:middle }
|
||||
.email-header { padding:28px 32px 16px;border-bottom:1px solid #eef2f6;background:#ffffff;border-radius:12px 12px 0 0 }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:32px 32px 24px;color:#334155;background:#ffffff }
|
||||
.email-heading { margin:0 0 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!important;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:#f4f6f9;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="max-width:600px;background:#ffffff;border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow:hidden;" class="email-wrap">
|
||||
|
||||
<!-- Floating Title -->
|
||||
<tr>
|
||||
<td class="email-header">
|
||||
|
||||
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
|
||||
<span class="email-brand">{{AppName}}</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Card -->
|
||||
<tr>
|
||||
<td class="email-card card-body">
|
||||
|
||||
<p class="email-heading">
|
||||
{{.locale.Tr "mail.repo.collaborator.added.text"}} <code>{{.RepoName}}</code>.
|
||||
</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:16px 18px;">
|
||||
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
|
||||
<p class="email-link-url">{{.Link}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,134 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#f4f6f9 }
|
||||
.email-wrap { max-width:600px;margin:20px auto;font-family:’Helvetica Neue’,Helvetica,Arial,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:inline-block;vertical-align:middle;margin-right:12px;border:0;outline:none }
|
||||
.email-brand { font-size:22px;font-weight:600;color:#1e293b;letter-spacing:-0.2px;vertical-align:middle }
|
||||
.email-header { padding:28px 32px 16px;border-bottom:1px solid #eef2f6;background:#ffffff;border-radius:12px 12px 0 0 }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:32px 32px 24px;color:#334155;background:#ffffff }
|
||||
.email-heading { margin:0 0 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!important;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:#f4f6f9;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="max-width:600px;background:#ffffff;border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow:hidden;" class="email-wrap">
|
||||
|
||||
<!-- Floating Title -->
|
||||
<tr>
|
||||
<td class="email-header">
|
||||
|
||||
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
|
||||
<span class="email-brand">{{AppName}}</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Card -->
|
||||
<tr>
|
||||
<td class="email-card card-body">
|
||||
|
||||
{{$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>
|
||||
</tr>
|
||||
|
||||
<!-- Divider -->
|
||||
<tr>
|
||||
<td class="email-divider"></td>
|
||||
</tr>
|
||||
|
||||
<!-- Button & Link -->
|
||||
<tr>
|
||||
<td class="email-btn-row">
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-table">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
|
||||
<tr>
|
||||
<td style="padding:16px 18px;">
|
||||
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
|
||||
<p class="email-link-url">{{.Link}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,209 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#f4f6f9 }
|
||||
.email-wrap { max-width:600px;margin:20px auto;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:inline-block;vertical-align:middle;margin-right:12px;border:0;outline:none }
|
||||
.email-brand { font-size:22px;font-weight:600;color:#1e293b;letter-spacing:-0.2px;vertical-align:middle }
|
||||
.email-header { padding:28px 32px 16px;border-bottom:1px solid #eef2f6;background:#ffffff;border-radius:12px 12px 0 0 }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:32px 32px 24px;color:#334155;background:#ffffff }
|
||||
.email-heading { margin:0 0 16px;font-size:16px;line-height:1.5;color:#1e293b }
|
||||
.email-text { margin:0 0 16px;font-size:16px;line-height:1.5;color:#334155 }
|
||||
.email-subtext { margin:0 0 20px;font-size:16px;line-height:1.5;color:#334155 }
|
||||
|
||||
/* Divider */
|
||||
.email-divider { height:1px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent);margin:16px 0 8px }
|
||||
|
||||
/* Button */
|
||||
.email-btn-row { padding:0;text-align:center }
|
||||
.email-btn { display:inline-block;padding:14px 36px;font-size:16px;font-weight:500;color:#ffffff!important;text-decoration:none;background:#1e88e5;border-radius:48px;border:1px solid #1e88e5;letter-spacing:0.3px;text-align:center }
|
||||
.email-btn-table { margin: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:#f4f6f9;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="max-width:600px;background:#ffffff;border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow:hidden;" class="email-wrap">
|
||||
|
||||
<!-- Floating Title -->
|
||||
<tr>
|
||||
<td class="email-header">
|
||||
|
||||
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
|
||||
<span class="email-brand">{{AppName}}</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Card -->
|
||||
<tr>
|
||||
<td class="email-card card-body">
|
||||
|
||||
<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="horizon-content">{{.Body}}</span>
|
||||
{{end -}}
|
||||
{{if .CanReply}}
|
||||
{{.locale.Tr "mail.reply"}}
|
||||
{{end}}
|
||||
</p>
|
||||
|
||||
{{- range .ReviewComments}}
|
||||
<hr>
|
||||
<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>
|
||||
{{range .Comment.Commits}}
|
||||
<li>
|
||||
<a href="{{$.Comment.Issue.PullRequest.BaseRepo.HTMLURL}}/commit/{{.UserCommit.GitCommit.ID}}">{{ShortSha .UserCommit.GitCommit.ID.String}}</a> - {{.UserCommit.GitCommit.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:16px 18px;">
|
||||
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
|
||||
<p class="email-link-url">{{.Link}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,169 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#f4f6f9 }
|
||||
.email-wrap { max-width:600px;margin:20px auto;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:inline-block;vertical-align:middle;margin-right:12px;border:0;outline:none }
|
||||
.email-brand { font-size:22px;font-weight:600;color:#1e293b;letter-spacing:-0.2px;vertical-align:middle }
|
||||
.email-header { padding:28px 32px 16px;border-bottom:1px solid #eef2f6;background:#ffffff;border-radius:12px 12px 0 0 }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:32px 32px 24px;color:#334155;background:#ffffff }
|
||||
.email-heading { margin:0 0 16px;font-size:16px;line-height:1.5;color:#1e293b }
|
||||
.email-text { margin:0 0 16px;font-size:16px;line-height:1.5;color:#334155 }
|
||||
.email-subtext { margin:0 0 20px;font-size:16px;line-height:1.5;color:#334155 }
|
||||
|
||||
/* Divider */
|
||||
.email-divider { height:1px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent);margin:16px 0 8px }
|
||||
|
||||
/* Button */
|
||||
.email-btn-row { padding:0;text-align:center }
|
||||
.email-btn { display:inline-block;padding:14px 36px;font-size:16px;font-weight:500;color:#ffffff!important;text-decoration:none;background:#1e88e5;border-radius:48px;border:1px solid #1e88e5;letter-spacing:0.3px;text-align:center }
|
||||
.email-btn-table { margin:16px 0 24px;border-collapse:separate }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px }
|
||||
.email-link-label { margin:0 0 8px;font-size:14px;color:#475569;line-height:1.5 }
|
||||
.email-link-url { margin:0;font-size:14px;font-family:monospace;color:#1e88e5;background:#ffffff;padding:10px 12px;border-radius:6px;border:1px solid #e2e8f0;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:20px 32px 28px;background:#f9fbfd;border-top:1px solid #eef2f6;text-align:left;border-radius:0 0 12px 12px }
|
||||
.email-footer-text { margin:0;font-size:14px;color:#64748b }
|
||||
.email-footer-link { color:#1e88e5;text-decoration:none;font-weight:500;border-bottom:1px dotted #b9d5f0 }
|
||||
|
||||
/* Typography utilities */
|
||||
.card-body a,.card-body a:link,.card-body a:visited { color:#1e88e5!important;text-decoration:none!important;font-weight:500!important }
|
||||
.card-body h4 { color:#1e293b!important;margin:24px 0 8px!important;font-size:18px!important;font-weight:600!important }
|
||||
.card-body ul { margin:0 0 24px!important;padding-left:20px!important }
|
||||
.card-body li { margin-bottom:6px!important;font-size:15px!important;line-height:1.5!important;color:#334155!important }
|
||||
|
||||
/* Content */
|
||||
.horizon-content,.horizon-content * { color:#334155!important }
|
||||
.horizon-content a,.horizon-content a:link,.horizon-content a:visited { color:#1e88e5!important;text-decoration:underline!important }
|
||||
.horizon-content a:hover,.horizon-content a:active { color:#1565c0!important }
|
||||
.horizon-content code,.horizon-content pre { color:#0f172a!important;background:#f1f5f9!important;border-color:#e2e8f0!important }
|
||||
.horizon-content blockquote { border-left:1px solid #cbd5e1!important;color:#475569!important }
|
||||
.horizon-content h1,.horizon-content h2,.horizon-content h3,.horizon-content h4,.horizon-content h5,.horizon-content h6 { color:#1e293b!important }
|
||||
.horizon-content hr { border-color:#e2e8f0!important }
|
||||
.horizon-content img { border:0;max-width:100%!important }
|
||||
|
||||
/* Responsive */
|
||||
@media only screen and (max-width:480px) {
|
||||
.email-header { padding:20px 20px 12px!important }
|
||||
.email-card { padding:24px 20px 16px!important }
|
||||
.email-btn-row { padding:0!important }
|
||||
.email-footer { padding:16px 20px 24px!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#f4f6f9;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="max-width:600px;background:#ffffff;border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow:hidden;" class="email-wrap">
|
||||
|
||||
<!-- Floating Title -->
|
||||
<tr>
|
||||
<td class="email-header">
|
||||
|
||||
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
|
||||
<span class="email-brand">{{AppName}}</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Card -->
|
||||
<tr>
|
||||
<td class="email-card card-body">
|
||||
|
||||
{{$release_url := HTMLFormat "<a href='%s'>%s</a>" .Release.HTMLURL .Release.TagName}}
|
||||
{{$repo_url := HTMLFormat "<a href='%s'>%s</a>" .Release.Repo.HTMLURL .Release.Repo.FullName}}
|
||||
<p class="email-heading">
|
||||
{{.locale.Tr "mail.release.new.text" .Release.Publisher.Name $release_url $repo_url}}
|
||||
</p>
|
||||
|
||||
<h4>{{.locale.Tr "mail.release.title" .Release.Title}}</h4>
|
||||
|
||||
{{if .Release.RenderedNote}}
|
||||
{{.locale.Tr "mail.release.note"}}<br>
|
||||
<div class="horizon-content">{{.Release.RenderedNote}}</div>
|
||||
{{end}}
|
||||
|
||||
<p style="margin:20px 0 8px;font-weight:500;color:#1e293b;">{{.locale.Tr "mail.release.downloads"}}</p>
|
||||
<ul>
|
||||
{{if not .DisableDownloadSourceArchives}}
|
||||
<li>
|
||||
<a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.zip" rel="nofollow">{{.locale.Tr "mail.release.download.zip"}}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{.Release.Repo.HTMLURL}}/archive/{{.Release.TagName | PathEscapeSegments}}.tar.gz" rel="nofollow">{{.locale.Tr "mail.release.download.targz"}}</a>
|
||||
</li>
|
||||
{{end}}
|
||||
{{if .Release.Attachments}}
|
||||
{{range .Release.Attachments}}
|
||||
<li>
|
||||
<a href="{{.DownloadURL}}" target="_blank">{{.Name}} ({{.Size | FormatByteSize}})</a>
|
||||
</li>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</ul>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Divider -->
|
||||
<tr>
|
||||
<td class="email-divider"></td>
|
||||
</tr>
|
||||
|
||||
<!-- Button & Link -->
|
||||
<tr>
|
||||
<td class="email-btn-row">
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-table">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
|
||||
<tr>
|
||||
<td style="padding:16px 18px;">
|
||||
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
|
||||
<p class="email-link-url">{{.Link}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,129 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#f4f6f9 }
|
||||
.email-wrap { max-width:600px;margin:20px auto;font-family:’Helvetica Neue’,Helvetica,Arial,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:inline-block;vertical-align:middle;margin-right:12px;border:0;outline:none }
|
||||
.email-brand { font-size:22px;font-weight:600;color:#1e293b;letter-spacing:-0.2px;vertical-align:middle }
|
||||
.email-header { padding:28px 32px 16px;border-bottom:1px solid #eef2f6;background:#ffffff;border-radius:12px 12px 0 0 }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:32px 32px 24px;color:#334155;background:#ffffff }
|
||||
.email-heading { margin:0 0 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!important;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:#f4f6f9;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="max-width:600px;background:#ffffff;border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow:hidden;" class="email-wrap">
|
||||
|
||||
<!-- Floating Title -->
|
||||
<tr>
|
||||
<td class="email-header">
|
||||
|
||||
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
|
||||
<span class="email-brand">{{AppName}}</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Card -->
|
||||
<tr>
|
||||
<td class="email-card card-body">
|
||||
|
||||
{{$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>
|
||||
</tr>
|
||||
|
||||
<!-- Divider -->
|
||||
<tr>
|
||||
<td class="email-divider"></td>
|
||||
</tr>
|
||||
|
||||
<!-- Button & Link -->
|
||||
<tr>
|
||||
<td class="email-btn-row">
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="email-btn-table">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{.Link}}" class="email-btn">{{.locale.Tr "mail.view_it_on" AppName}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-link-box">
|
||||
<tr>
|
||||
<td style="padding:16px 18px;">
|
||||
<p class="email-link-label">{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
|
||||
<p class="email-link-url">{{.Link}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,134 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#f4f6f9 }
|
||||
.email-wrap { max-width:600px;margin:20px auto;font-family:’Helvetica Neue’,Helvetica,Arial,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:inline-block;vertical-align:middle;margin-right:12px;border:0;outline:none }
|
||||
.email-brand { font-size:22px;font-weight:600;color:#1e293b;letter-spacing:-0.2px;vertical-align:middle }
|
||||
.email-header { padding:28px 32px 16px;border-bottom:1px solid #eef2f6;background:#ffffff;border-radius:12px 12px 0 0 }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:32px 32px 24px;color:#334155;background:#ffffff }
|
||||
.email-heading { margin:0 0 16px;font-size:16px;line-height:1.5;color:#1e293b }
|
||||
.email-text { margin:0 0 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!important;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:#f4f6f9;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="max-width:600px;background:#ffffff;border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow:hidden;" class="email-wrap">
|
||||
|
||||
<!-- Floating Title -->
|
||||
<tr>
|
||||
<td class="email-header">
|
||||
|
||||
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
|
||||
<span class="email-brand">{{AppName}}</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Card -->
|
||||
<tr>
|
||||
<td class="email-card card-body">
|
||||
|
||||
<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%" 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: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>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,134 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#f4f6f9 }
|
||||
.email-wrap { max-width:600px;margin:20px auto;font-family:’Helvetica Neue’,Helvetica,Arial,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:inline-block;vertical-align:middle;margin-right:12px;border:0;outline:none }
|
||||
.email-brand { font-size:22px;font-weight:600;color:#1e293b;letter-spacing:-0.2px;vertical-align:middle }
|
||||
.email-header { padding:28px 32px 16px;border-bottom:1px solid #eef2f6;background:#ffffff;border-radius:12px 12px 0 0 }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:32px 32px 24px;color:#334155;background:#ffffff }
|
||||
.email-heading { margin:0 0 16px;font-size:16px;line-height:1.5;color:#1e293b }
|
||||
.email-text { margin:0 0 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!important;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:#f4f6f9;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="max-width:600px;background:#ffffff;border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow:hidden;" class="email-wrap">
|
||||
|
||||
<!-- Floating Title -->
|
||||
<tr>
|
||||
<td class="email-header">
|
||||
|
||||
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
|
||||
<span class="email-brand">{{AppName}}</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Card -->
|
||||
<tr>
|
||||
<td class="email-card card-body">
|
||||
|
||||
<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>
|
||||
</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%" 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: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>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,141 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#f4f6f9 }
|
||||
.email-wrap { max-width:600px;margin:20px auto;font-family:’Helvetica Neue’,Helvetica,Arial,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:inline-block;vertical-align:middle;margin-right:12px;border:0;outline:none }
|
||||
.email-brand { font-size:22px;font-weight:600;color:#1e293b;letter-spacing:-0.2px;vertical-align:middle }
|
||||
.email-header { padding:28px 32px 16px;border-bottom:1px solid #eef2f6;background:#ffffff;border-radius:12px 12px 0 0 }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:32px 32px 24px;color:#334155;background:#ffffff }
|
||||
.email-heading { margin:0 0 16px;font-size:16px;line-height:1.5;color:#1e293b }
|
||||
.email-text { margin:0 0 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!important;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:#f4f6f9;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="max-width:600px;background:#ffffff;border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow:hidden;" class="email-wrap">
|
||||
|
||||
<!-- Floating Title -->
|
||||
<tr>
|
||||
<td class="email-header">
|
||||
|
||||
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
|
||||
<span class="email-brand">{{AppName}}</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Card -->
|
||||
<tr>
|
||||
<td class="email-card card-body">
|
||||
|
||||
<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}}
|
||||
</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>
|
||||
|
||||
{{$set_pwd_url := printf "%suser/forgot_password" AppUrl}}
|
||||
<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>
|
||||
|
||||
<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>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,134 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#f4f6f9 }
|
||||
.email-wrap { max-width:600px;margin:20px auto;font-family:’Helvetica Neue’,Helvetica,Arial,sans-serif }
|
||||
|
||||
/* Header */
|
||||
.email-logo { display:inline-block;vertical-align:middle;margin-right:12px;border:0;outline:none }
|
||||
.email-brand { font-size:22px;font-weight:600;color:#1e293b;letter-spacing:-0.2px;vertical-align:middle }
|
||||
.email-header { padding:28px 32px 16px;border-bottom:1px solid #eef2f6;background:#ffffff;border-radius:12px 12px 0 0 }
|
||||
|
||||
/* Card */
|
||||
.email-card { padding:32px 32px 24px;color:#334155;background:#ffffff }
|
||||
.email-heading { margin:0 0 16px;font-size:16px;line-height:1.5;color:#1e293b }
|
||||
.email-text { margin:0 0 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!important;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:#f4f6f9;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;table-layout:fixed;">
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="max-width:600px;background:#ffffff;border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow:hidden;" class="email-wrap">
|
||||
|
||||
<!-- Floating Title -->
|
||||
<tr>
|
||||
<td class="email-header">
|
||||
|
||||
<img src="{{AppUrl}}assets/img/favicon.png" alt="logo" width="32" height="32" class="email-logo" />
|
||||
<span class="email-brand">{{AppName}}</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Card -->
|
||||
<tr>
|
||||
<td class="email-card card-body">
|
||||
|
||||
<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>
|
||||
</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%" 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: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>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td class="email-footer">
|
||||
|
||||
<p class="email-footer-text">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,75 @@
|
||||
/* 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,.card-body .email-btn,.card-body .email-btn:link,.card-body .email-btn:visited { display:inline-block;padding:14px 36px;font-size:16px;font-weight:500;color:#ffffff!important;text-decoration:none!important;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 }
|
||||
}
|
||||
|
||||
/* Official-snapshot presentation adapter: no content or translation overrides. */
|
||||
body { margin:0; padding:24px 16px; background-color:#f4f6f9; }
|
||||
body, td { font-family:Helvetica,Arial,sans-serif; }
|
||||
.email-wrap { width:100%; max-width:600px; border-collapse:separate; border-spacing:0; }
|
||||
.card-body { font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
|
||||
.card-body > pre, .card-body code { font-family:Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
|
||||
.card-body ul { padding-left:22px; }
|
||||
.card-body blockquote { padding-left:16px; border-left:3px solid #1e88e5; }
|
||||
|
||||
|
||||
.mail-footer { margin:0; }
|
||||
.mail-footer td { border-top-color:transparent!important; color:#334155!important; }
|
||||
.mail-footer a { color:#1e88e5!important; text-decoration:none; }
|
||||
.email-body { padding:32px; }
|
||||
@media only screen and (max-width:480px) {
|
||||
body { padding:12px 8px; }
|
||||
.email-wrap { margin:0 auto; }
|
||||
.email-body { padding:24px 18px!important; }
|
||||
.card-body { width:auto!important; }
|
||||
.resp-hide { display:none!important; }
|
||||
|
||||
}
|
||||
|
||||
/* Shared framework controls: keep URLs readable, never style them as CTAs. */
|
||||
.email-link-cell { padding:16px 18px; }
|
||||
.email-link-url a,.card-body .email-link-url a { color:inherit!important; text-decoration:none!important; font-size:inherit; }
|
||||
.email-link-url { overflow-wrap:anywhere; word-break:break-all; }
|
||||
.email-action { margin:20px 0 0; }
|
||||
.email-btn-row { box-sizing:border-box; }
|
||||
.card-body .email-btn { max-width:100%; box-sizing:border-box; white-space:normal; overflow-wrap:anywhere; }
|
||||
@media only screen and (max-width:480px) { .card-body .email-btn { display:block; text-align:center; width:100%; } .email-btn-table { width:100%; } }
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "horizon",
|
||||
"description": "Enterprise / Corporate",
|
||||
"mode": "framed",
|
||||
"layout": "horizon"
|
||||
}
|
||||
@@ -1,155 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.team_invite.subject" (.Inviter.DisplayName|DotEscape) (.Organization.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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-sidebar { padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd }
|
||||
.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 }
|
||||
|
||||
/* Drop-cap */
|
||||
.email-dropcap { float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif }
|
||||
|
||||
/* 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!important;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) {
|
||||
/* Stack layout — convert table rows to blocks */
|
||||
.email-wrap,.email-wrap tbody,.email-wrap tr{ display:block!important;width:100%!important }
|
||||
.email-wrap td{ box-sizing:border-box!important }
|
||||
.email-header { padding-left:16px!important;padding-right:16px!important }
|
||||
.email-card { width:100%!important;display:block!important;border-left:none!important;padding:0 16px 16px!important }
|
||||
.email-sidebar { width:100%!important;display:block!important;padding:0 16px 16px!important;border-left:none!important;border-top:1px solid #ddd!important }
|
||||
.email-btn { display:block!important;width:auto!important;text-align:center!important }
|
||||
.email-footer { padding-left:16px!important;padding-right:16px!important }
|
||||
/* Prevent content overflow */
|
||||
.email-wrap,.email-wrap td,.email-wrap th{ word-break:break-word!important;overflow-wrap:break-word!important }
|
||||
img{ max-width:100%!important;height:auto!important }
|
||||
pre,code{ white-space:pre-wrap!important;word-break:break-all!important }
|
||||
table{ max-width:100%!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#ede4d4;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;">
|
||||
<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;">Git with a cup of tea</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Card -->
|
||||
<tr>
|
||||
<!-- left column -->
|
||||
<td width="64%" class="email-card card-body">
|
||||
|
||||
<p class="email-heading">
|
||||
<span class="email-dropcap">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}} »</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%" class="email-sidebar">
|
||||
|
||||
<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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,151 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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-sidebar { padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd }
|
||||
.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 }
|
||||
|
||||
/* Drop-cap */
|
||||
.email-dropcap { float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif }
|
||||
|
||||
/* 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!important;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) {
|
||||
/* Stack layout — convert table rows to blocks */
|
||||
.email-wrap,.email-wrap tbody,.email-wrap tr{ display:block!important;width:100%!important }
|
||||
.email-wrap td{ box-sizing:border-box!important }
|
||||
.email-header { padding-left:16px!important;padding-right:16px!important }
|
||||
.email-card { width:100%!important;display:block!important;border-left:none!important;padding:0 16px 16px!important }
|
||||
.email-sidebar { width:100%!important;display:block!important;padding:0 16px 16px!important;border-left:none!important;border-top:1px solid #ddd!important }
|
||||
.email-btn { display:block!important;width:auto!important;text-align:center!important }
|
||||
.email-footer { padding-left:16px!important;padding-right:16px!important }
|
||||
/* Prevent content overflow */
|
||||
.email-wrap,.email-wrap td,.email-wrap th{ word-break:break-word!important;overflow-wrap:break-word!important }
|
||||
img{ max-width:100%!important;height:auto!important }
|
||||
pre,code{ white-space:pre-wrap!important;word-break:break-all!important }
|
||||
table{ max-width:100%!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#ede4d4;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;">
|
||||
<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;">Git with a cup of tea</span>
|
||||
|
||||
</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}} »</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%" class="email-sidebar">
|
||||
|
||||
<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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,149 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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-sidebar { padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd }
|
||||
.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 }
|
||||
|
||||
/* Drop-cap */
|
||||
.email-dropcap { float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif }
|
||||
|
||||
/* 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!important;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) {
|
||||
/* Stack layout — convert table rows to blocks */
|
||||
.email-wrap,.email-wrap tbody,.email-wrap tr{ display:block!important;width:100%!important }
|
||||
.email-wrap td{ box-sizing:border-box!important }
|
||||
.email-header { padding-left:16px!important;padding-right:16px!important }
|
||||
.email-card { width:100%!important;display:block!important;border-left:none!important;padding:0 16px 16px!important }
|
||||
.email-sidebar { width:100%!important;display:block!important;padding:0 16px 16px!important;border-left:none!important;border-top:1px solid #ddd!important }
|
||||
.email-btn { display:block!important;width:auto!important;text-align:center!important }
|
||||
.email-footer { padding-left:16px!important;padding-right:16px!important }
|
||||
/* Prevent content overflow */
|
||||
.email-wrap,.email-wrap td,.email-wrap th{ word-break:break-word!important;overflow-wrap:break-word!important }
|
||||
img{ max-width:100%!important;height:auto!important }
|
||||
pre,code{ white-space:pre-wrap!important;word-break:break-all!important }
|
||||
table{ max-width:100%!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#ede4d4;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;">
|
||||
<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;">Git with a cup of tea</span>
|
||||
|
||||
</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}} »</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%" class="email-sidebar">
|
||||
|
||||
<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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,221 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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-sidebar { padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd }
|
||||
.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 }
|
||||
|
||||
/* Drop-cap */
|
||||
.email-dropcap { float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif }
|
||||
|
||||
/* 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!important;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) {
|
||||
/* Stack layout — convert table rows to blocks */
|
||||
.email-wrap,.email-wrap tbody,.email-wrap tr{ display:block!important;width:100%!important }
|
||||
.email-wrap td{ box-sizing:border-box!important }
|
||||
.email-header { padding-left:16px!important;padding-right:16px!important }
|
||||
.email-card { width:100%!important;display:block!important;border-left:none!important;padding:0 16px 16px!important }
|
||||
.email-sidebar { width:100%!important;display:block!important;padding:0 16px 16px!important;border-left:none!important;border-top:1px solid #ddd!important }
|
||||
.email-btn { display:block!important;width:auto!important;text-align:center!important }
|
||||
.email-footer { padding-left:16px!important;padding-right:16px!important }
|
||||
/* Prevent content overflow */
|
||||
.email-wrap,.email-wrap td,.email-wrap th{ word-break:break-word!important;overflow-wrap:break-word!important }
|
||||
img{ max-width:100%!important;height:auto!important }
|
||||
pre,code{ white-space:pre-wrap!important;word-break:break-all!important }
|
||||
table{ max-width:100%!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#ede4d4;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;">
|
||||
<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;">Git with a cup of tea</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Card -->
|
||||
<tr>
|
||||
<!-- left column -->
|
||||
<td width="64%" class="email-card card-body">
|
||||
|
||||
<p class="email-heading">
|
||||
<span class="email-dropcap">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/{{.UserCommit.GitCommit.ID}}">{{ShortSha .UserCommit.GitCommit.ID.String}}</a> - {{.UserCommit.GitCommit.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}} »{{if .CanReply}} {{.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%" class="email-sidebar">
|
||||
|
||||
<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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,170 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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-sidebar { padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd }
|
||||
.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 }
|
||||
|
||||
/* Drop-cap */
|
||||
.email-dropcap { float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif }
|
||||
|
||||
/* 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!important;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) {
|
||||
/* Stack layout — convert table rows to blocks */
|
||||
.email-wrap,.email-wrap tbody,.email-wrap tr{ display:block!important;width:100%!important }
|
||||
.email-wrap td{ box-sizing:border-box!important }
|
||||
.email-header { padding-left:16px!important;padding-right:16px!important }
|
||||
.email-card { width:100%!important;display:block!important;border-left:none!important;padding:0 16px 16px!important }
|
||||
.email-sidebar { width:100%!important;display:block!important;padding:0 16px 16px!important;border-left:none!important;border-top:1px solid #ddd!important }
|
||||
.email-btn { display:block!important;width:auto!important;text-align:center!important }
|
||||
.email-footer { padding-left:16px!important;padding-right:16px!important }
|
||||
/* Prevent content overflow */
|
||||
.email-wrap,.email-wrap td,.email-wrap th{ word-break:break-word!important;overflow-wrap:break-word!important }
|
||||
img{ max-width:100%!important;height:auto!important }
|
||||
pre,code{ white-space:pre-wrap!important;word-break:break-all!important }
|
||||
table{ max-width:100%!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#ede4d4;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;">
|
||||
<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;">Git with a cup of tea</span>
|
||||
|
||||
</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 | FormatByteSize}})</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}} »</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%" class="email-sidebar">
|
||||
|
||||
<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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,144 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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-sidebar { padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd }
|
||||
.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 }
|
||||
|
||||
/* Drop-cap */
|
||||
.email-dropcap { float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif }
|
||||
|
||||
/* 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!important;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) {
|
||||
/* Stack layout — convert table rows to blocks */
|
||||
.email-wrap,.email-wrap tbody,.email-wrap tr{ display:block!important;width:100%!important }
|
||||
.email-wrap td{ box-sizing:border-box!important }
|
||||
.email-header { padding-left:16px!important;padding-right:16px!important }
|
||||
.email-card { width:100%!important;display:block!important;border-left:none!important;padding:0 16px 16px!important }
|
||||
.email-sidebar { width:100%!important;display:block!important;padding:0 16px 16px!important;border-left:none!important;border-top:1px solid #ddd!important }
|
||||
.email-btn { display:block!important;width:auto!important;text-align:center!important }
|
||||
.email-footer { padding-left:16px!important;padding-right:16px!important }
|
||||
/* Prevent content overflow */
|
||||
.email-wrap,.email-wrap td,.email-wrap th{ word-break:break-word!important;overflow-wrap:break-word!important }
|
||||
img{ max-width:100%!important;height:auto!important }
|
||||
pre,code{ white-space:pre-wrap!important;word-break:break-all!important }
|
||||
table{ max-width:100%!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#ede4d4;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;">
|
||||
<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;">Git with a cup of tea</span>
|
||||
|
||||
</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}} »</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%" class="email-sidebar">
|
||||
|
||||
<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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,152 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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-sidebar { padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd }
|
||||
.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 }
|
||||
|
||||
/* Drop-cap */
|
||||
.email-dropcap { float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif }
|
||||
|
||||
/* 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!important;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) {
|
||||
/* Stack layout — convert table rows to blocks */
|
||||
.email-wrap,.email-wrap tbody,.email-wrap tr{ display:block!important;width:100%!important }
|
||||
.email-wrap td{ box-sizing:border-box!important }
|
||||
.email-header { padding-left:16px!important;padding-right:16px!important }
|
||||
.email-card { width:100%!important;display:block!important;border-left:none!important;padding:0 16px 16px!important }
|
||||
.email-sidebar { width:100%!important;display:block!important;padding:0 16px 16px!important;border-left:none!important;border-top:1px solid #ddd!important }
|
||||
.email-btn { display:block!important;width:auto!important;text-align:center!important }
|
||||
.email-footer { padding-left:16px!important;padding-right:16px!important }
|
||||
/* Prevent content overflow */
|
||||
.email-wrap,.email-wrap td,.email-wrap th{ word-break:break-word!important;overflow-wrap:break-word!important }
|
||||
img{ max-width:100%!important;height:auto!important }
|
||||
pre,code{ white-space:pre-wrap!important;word-break:break-all!important }
|
||||
table{ max-width:100%!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#ede4d4;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;">
|
||||
<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;">Git with a cup of tea</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Card -->
|
||||
<tr>
|
||||
<!-- left column -->
|
||||
<td width="64%" class="email-card card-body">
|
||||
|
||||
<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"}} »</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%" class="email-sidebar">
|
||||
|
||||
<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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,152 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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-sidebar { padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd }
|
||||
.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 }
|
||||
|
||||
/* Drop-cap */
|
||||
.email-dropcap { float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif }
|
||||
|
||||
/* 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!important;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) {
|
||||
/* Stack layout — convert table rows to blocks */
|
||||
.email-wrap,.email-wrap tbody,.email-wrap tr{ display:block!important;width:100%!important }
|
||||
.email-wrap td{ box-sizing:border-box!important }
|
||||
.email-header { padding-left:16px!important;padding-right:16px!important }
|
||||
.email-card { width:100%!important;display:block!important;border-left:none!important;padding:0 16px 16px!important }
|
||||
.email-sidebar { width:100%!important;display:block!important;padding:0 16px 16px!important;border-left:none!important;border-top:1px solid #ddd!important }
|
||||
.email-btn { display:block!important;width:auto!important;text-align:center!important }
|
||||
.email-footer { padding-left:16px!important;padding-right:16px!important }
|
||||
/* Prevent content overflow */
|
||||
.email-wrap,.email-wrap td,.email-wrap th{ word-break:break-word!important;overflow-wrap:break-word!important }
|
||||
img{ max-width:100%!important;height:auto!important }
|
||||
pre,code{ white-space:pre-wrap!important;word-break:break-all!important }
|
||||
table{ max-width:100%!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#ede4d4;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;">
|
||||
<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;">Git with a cup of tea</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Card -->
|
||||
<tr>
|
||||
<!-- left column -->
|
||||
<td width="64%" class="email-card card-body">
|
||||
|
||||
<p class="email-heading">
|
||||
<span class="email-dropcap">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"}} »</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%" class="email-sidebar">
|
||||
|
||||
<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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,153 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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-sidebar { padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd }
|
||||
.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 }
|
||||
|
||||
/* Drop-cap */
|
||||
.email-dropcap { float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif }
|
||||
|
||||
/* 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!important;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) {
|
||||
/* Stack layout — convert table rows to blocks */
|
||||
.email-wrap,.email-wrap tbody,.email-wrap tr{ display:block!important;width:100%!important }
|
||||
.email-wrap td{ box-sizing:border-box!important }
|
||||
.email-header { padding-left:16px!important;padding-right:16px!important }
|
||||
.email-card { width:100%!important;display:block!important;border-left:none!important;padding:0 16px 16px!important }
|
||||
.email-sidebar { width:100%!important;display:block!important;padding:0 16px 16px!important;border-left:none!important;border-top:1px solid #ddd!important }
|
||||
.email-btn { display:block!important;width:auto!important;text-align:center!important }
|
||||
.email-footer { padding-left:16px!important;padding-right:16px!important }
|
||||
/* Prevent content overflow */
|
||||
.email-wrap,.email-wrap td,.email-wrap th{ word-break:break-word!important;overflow-wrap:break-word!important }
|
||||
img{ max-width:100%!important;height:auto!important }
|
||||
pre,code{ white-space:pre-wrap!important;word-break:break-all!important }
|
||||
table{ max-width:100%!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#ede4d4;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;">
|
||||
<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;">Git with a cup of tea</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Card -->
|
||||
<tr>
|
||||
<!-- left column -->
|
||||
<td width="64%" class="email-card card-body">
|
||||
|
||||
<p class="email-heading">
|
||||
<span class="email-dropcap">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}} »</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%" class="email-sidebar">
|
||||
|
||||
<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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,152 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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-sidebar { padding:24px 28px 16px 0;vertical-align:top;border-left:1px solid #ddd }
|
||||
.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 }
|
||||
|
||||
/* Drop-cap */
|
||||
.email-dropcap { float:left;font-size:42px;line-height:1;font-weight:700;color:#1a1a2e;padding-right:8px;padding-top:2px;font-family:Georgia,serif }
|
||||
|
||||
/* 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!important;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) {
|
||||
/* Stack layout — convert table rows to blocks */
|
||||
.email-wrap,.email-wrap tbody,.email-wrap tr{ display:block!important;width:100%!important }
|
||||
.email-wrap td{ box-sizing:border-box!important }
|
||||
.email-header { padding-left:16px!important;padding-right:16px!important }
|
||||
.email-card { width:100%!important;display:block!important;border-left:none!important;padding:0 16px 16px!important }
|
||||
.email-sidebar { width:100%!important;display:block!important;padding:0 16px 16px!important;border-left:none!important;border-top:1px solid #ddd!important }
|
||||
.email-btn { display:block!important;width:auto!important;text-align:center!important }
|
||||
.email-footer { padding-left:16px!important;padding-right:16px!important }
|
||||
/* Prevent content overflow */
|
||||
.email-wrap,.email-wrap td,.email-wrap th{ word-break:break-word!important;overflow-wrap:break-word!important }
|
||||
img{ max-width:100%!important;height:auto!important }
|
||||
pre,code{ white-space:pre-wrap!important;word-break:break-all!important }
|
||||
table{ max-width:100%!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#ede4d4;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;">
|
||||
<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;">Git with a cup of tea</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Card -->
|
||||
<tr>
|
||||
<!-- left column -->
|
||||
<td width="64%" class="email-card card-body">
|
||||
|
||||
<p class="email-heading">
|
||||
<span class="email-dropcap">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"}} »</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%" class="email-sidebar">
|
||||
|
||||
<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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,16 +1,4 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
/* 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 }
|
||||
|
||||
@@ -34,7 +22,7 @@
|
||||
|
||||
/* 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!important;text-decoration:none;background:#1a1a2e;border:1px solid #c4a97d;font-variant:small-caps;letter-spacing:1px }
|
||||
.email-btn,.card-body .email-btn,.card-body .email-btn:link,.card-body .email-btn:visited { display:inline-block;padding:10px 24px;font-size:13px;font-weight:700;color:#fefdfb!important;text-decoration:none!important;background:#1a1a2e;border:1px solid #c4a97d;font-variant:small-caps;letter-spacing:1px }
|
||||
.email-btn-table { margin:0 0 24px }
|
||||
|
||||
/* Fallback link */
|
||||
@@ -66,78 +54,42 @@
|
||||
pre,code{ white-space:pre-wrap!important;word-break:break-all!important }
|
||||
table{ max-width:100%!important }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="margin:0;padding:0;background:#ede4d4;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
|
||||
<center style="width:100%;">
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="email-wrap">
|
||||
/* Official-snapshot presentation adapter: no content or translation overrides. */
|
||||
body { margin:0; padding:24px 16px; background-color:#ede4d4; }
|
||||
body, td { font-family:Georgia,'Times New Roman',serif; }
|
||||
.email-wrap { width:100%; max-width:600px; border-collapse:separate; border-spacing:0; }
|
||||
.card-body { font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
|
||||
.card-body > pre, .card-body code { font-family:Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
|
||||
.card-body ul { padding-left:22px; }
|
||||
.card-body blockquote { padding-left:16px; border-left:3px solid #1a1a2e; }
|
||||
|
||||
<!-- 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;">Git with a cup of tea</span>
|
||||
.mail-footer { margin:0; }
|
||||
.mail-footer td { border-top-color:transparent!important; color:#333!important; }
|
||||
.mail-footer a { color:#1a1a2e!important; text-decoration:none; }
|
||||
.email-body { padding:32px; }
|
||||
.email-sidebar { vertical-align:top; border-left:1px dotted #c4a97d; padding:26px 18px; background:#faf7f0; }
|
||||
.card-body > p:first-of-type:first-letter { float:left; font-size:42px; line-height:1; padding-right:8px; color:#1a1a2e; font-weight:700; }
|
||||
@media only screen and (max-width:480px) {
|
||||
body { padding:12px 8px; }
|
||||
.email-wrap { margin:0 auto; }
|
||||
.email-body { padding:24px 18px!important; }
|
||||
.card-body { width:auto!important; }
|
||||
.resp-hide { display:none!important; }
|
||||
|
||||
</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}} »</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%" class="email-sidebar">
|
||||
|
||||
<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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
/* Shared framework controls: keep URLs readable, never style them as CTAs. */
|
||||
.email-tagline { font-size:11px;color:#888;font-style:italic; }
|
||||
.sidebar-label { margin:0 0 10px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1px;font-family:system-ui,sans-serif;font-weight:700; }
|
||||
.sidebar-info-table { border-top:1px solid #ddd;border-bottom:1px solid #ddd; }
|
||||
.sidebar-info-table td { padding:8px 0;font-size:11px;color:#555;font-family:system-ui,sans-serif;overflow-wrap:anywhere; }
|
||||
.sidebar-info-table strong,.sidebar-info-table a { color:#1a1a2e; }
|
||||
.email-link-cell { padding:16px 18px; }
|
||||
.email-link-url a,.card-body .email-link-url a { color:inherit!important; text-decoration:none!important; font-size:inherit; }
|
||||
.email-link-url { overflow-wrap:anywhere; word-break:break-all; }
|
||||
.email-action { margin:20px 0 0; }
|
||||
.email-btn-row { box-sizing:border-box; }
|
||||
.card-body .email-btn { max-width:100%; box-sizing:border-box; white-space:normal; overflow-wrap:anywhere; }
|
||||
@media only screen and (max-width:480px) { .card-body .email-btn { display:block; text-align:center; width:100%; } .email-btn-table { width:100%; } }
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "ink",
|
||||
"description": "Editorial / Publishing",
|
||||
"mode": "framed",
|
||||
"layout": "ink"
|
||||
}
|
||||
@@ -1,140 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.team_invite.subject" (.Inviter.DisplayName|DotEscape) (.Organization.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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!important;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;-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 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 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 width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</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>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,136 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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!important;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;-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 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 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 width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</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>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,128 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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!important;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;-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 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 width="60%" class="email-card card-body">
|
||||
|
||||
<p class="email-heading">
|
||||
{{.locale.Tr "mail.repo.collaborator.added.text"}} <code>{{.RepoName}}</code>.
|
||||
</p>
|
||||
|
||||
</td>
|
||||
<td width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</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>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,134 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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!important;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;-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 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 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 width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</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>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,207 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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!important;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 }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<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" 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 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}}
|
||||
{{.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/{{.UserCommit.GitCommit.ID}}">{{ShortSha .UserCommit.GitCommit.ID.String}}</a> - {{.UserCommit.GitCommit.MessageTitle}}
|
||||
</li>
|
||||
{{end}}
|
||||
</ul>
|
||||
{{end}}
|
||||
</p>
|
||||
|
||||
<p class="email-subtext"></p>
|
||||
|
||||
</td>
|
||||
<td width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</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}} {{.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>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,152 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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!important;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;-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 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 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 | FormatByteSize}})</a></li>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</ul>
|
||||
|
||||
</td>
|
||||
<td width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</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>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,129 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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!important;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;-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 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 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 width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</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>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,134 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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!important;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;-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 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 width="60%" class="email-card card-body">
|
||||
|
||||
<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 width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</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" 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>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,134 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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!important;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;-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 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 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 width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</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" 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>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,138 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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!important;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;-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 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 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 width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</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>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,134 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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!important;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;-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 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 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 width="40%" class="resp-hide" style="padding:32px 0 0;vertical-align:top;"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</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" 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>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,75 @@
|
||||
/* 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,.card-body .email-btn,.card-body .email-btn:link,.card-body .email-btn:visited { display:inline-block;padding:14px 32px;font-size:14px;font-weight:900;color:#000!important;text-decoration:none!important;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 }
|
||||
}
|
||||
|
||||
/* Official-snapshot presentation adapter: no content or translation overrides. */
|
||||
body { margin:0; padding:24px 16px; background-color:#fafafa; }
|
||||
body, td { font-family:Arial,sans-serif; }
|
||||
.email-wrap { width:100%; max-width:600px; border-collapse:separate; border-spacing:0; }
|
||||
.card-body { font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
|
||||
.card-body > pre, .card-body code { font-family:Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
|
||||
.card-body ul { padding-left:22px; }
|
||||
.card-body blockquote { padding-left:16px; border-left:3px solid #e03131; }
|
||||
|
||||
|
||||
.mail-footer { margin:0; }
|
||||
.mail-footer td { border-top-color:transparent!important; color:#333!important; }
|
||||
.mail-footer a { color:#e03131!important; text-decoration:none; }
|
||||
.email-body { padding:32px; }
|
||||
@media only screen and (max-width:480px) {
|
||||
body { padding:12px 8px; }
|
||||
.email-wrap { margin:0 auto; }
|
||||
.email-body { padding:24px 18px!important; }
|
||||
.card-body { width:auto!important; }
|
||||
.resp-hide { display:none!important; }
|
||||
|
||||
}
|
||||
|
||||
/* Shared framework controls: keep URLs readable, never style them as CTAs. */
|
||||
.email-link-cell { padding:16px 18px; }
|
||||
.email-link-url a,.card-body .email-link-url a { color:inherit!important; text-decoration:none!important; font-size:inherit; }
|
||||
.email-link-url { overflow-wrap:anywhere; word-break:break-all; }
|
||||
.email-action { margin:20px 0 0; }
|
||||
.email-btn-row { box-sizing:border-box; }
|
||||
.card-body .email-btn { max-width:100%; box-sizing:border-box; white-space:normal; overflow-wrap:anywhere; }
|
||||
@media only screen and (max-width:480px) { .card-body .email-btn { display:block; text-align:center; width:100%; } .email-btn-table { width:100%; } }
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "mono",
|
||||
"description": "Minimal / Swiss design",
|
||||
"mode": "framed",
|
||||
"layout": "mono"
|
||||
}
|
||||
@@ -1,141 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.team_invite.subject" (.Inviter.DisplayName|DotEscape) (.Organization.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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 #ff2d954d,0 0 60px #00d4ff1a }
|
||||
|
||||
/* 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,#ff2d954d,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!important;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px #ff2d9566;letter-spacing:1px;text-transform:uppercase }
|
||||
.email-btn-table { margin:0 0 24px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #00d4ff33;background:#00d4ff0a }
|
||||
.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:#0000004d;padding:8px 10px;border:1px solid #00d4ff26;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:16px 32px;border-top:1px solid #ff2d9526;background:#ff2d9508;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;-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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,140 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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 #ff2d954d,0 0 60px #00d4ff1a }
|
||||
|
||||
/* 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,#ff2d954d,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!important;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px #ff2d9566;letter-spacing:1px;text-transform:uppercase }
|
||||
.email-btn-table { margin:0 0 24px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #00d4ff33;background:#00d4ff0a }
|
||||
.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:#0000004d;padding:8px 10px;border:1px solid #00d4ff26;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:16px 32px;border-top:1px solid #ff2d9526;background:#ff2d9508;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;-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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,133 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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 #ff2d954d,0 0 60px #00d4ff1a }
|
||||
|
||||
/* 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,#ff2d954d,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!important;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px #ff2d9566;letter-spacing:1px;text-transform:uppercase }
|
||||
.email-btn-table { margin:0 0 24px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #00d4ff33;background:#00d4ff0a }
|
||||
.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:#0000004d;padding:8px 10px;border:1px solid #00d4ff26;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:16px 32px;border-top:1px solid #ff2d9526;background:#ff2d9508;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;-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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,139 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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 #ff2d954d,0 0 60px #00d4ff1a }
|
||||
|
||||
/* 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,#ff2d954d,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!important;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px #ff2d9566;letter-spacing:1px;text-transform:uppercase }
|
||||
.email-btn-table { margin:0 0 24px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #00d4ff33;background:#00d4ff0a }
|
||||
.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:#0000004d;padding:8px 10px;border:1px solid #00d4ff26;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:16px 32px;border-top:1px solid #ff2d9526;background:#ff2d9508;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;-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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,201 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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 #ff2d954d,0 0 60px #00d4ff1a }
|
||||
|
||||
/* 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,#ff2d954d,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!important;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px #ff2d9566;letter-spacing:1px;text-transform:uppercase }
|
||||
.email-btn-table { margin:0 0 24px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #00d4ff33;background:#00d4ff0a }
|
||||
.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:#0000004d;padding:8px 10px;border:1px solid #00d4ff26;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:16px 32px;border-top:1px solid #ff2d9526;background:#ff2d9508;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:#0000004d;border:1px solid #00d4ff26 }
|
||||
.card-body hr { border-color:#ff2d954d }
|
||||
|
||||
/* 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;-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}}
|
||||
{{.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/{{.UserCommit.GitCommit.ID}}">{{ShortSha .UserCommit.GitCommit.ID.String}}</a> - {{.UserCommit.GitCommit.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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,159 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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 #ff2d954d,0 0 60px #00d4ff1a }
|
||||
|
||||
/* 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,#ff2d954d,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!important;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px #ff2d9566;letter-spacing:1px;text-transform:uppercase }
|
||||
.email-btn-table { margin:0 0 24px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #00d4ff33;background:#00d4ff0a }
|
||||
.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:#0000004d;padding:8px 10px;border:1px solid #00d4ff26;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:16px 32px;border-top:1px solid #ff2d9526;background:#ff2d9508;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:#0000004d;border:1px solid #00d4ff26 }
|
||||
.card-body blockquote { color:#ffffff99;border-left:2px solid #00d4ff33;padding-left:1em;margin:1em 0 }
|
||||
.card-body hr { border-color:#ff2d954d }
|
||||
|
||||
/* 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;-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 | FormatByteSize}})</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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,134 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.Subject}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* Base */
|
||||
body,.ExternalClass,.ReadMsgBody { background-color:#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 #ff2d954d,0 0 60px #00d4ff1a }
|
||||
|
||||
/* 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,#ff2d954d,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!important;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px #ff2d9566;letter-spacing:1px;text-transform:uppercase }
|
||||
.email-btn-table { margin:0 0 24px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #00d4ff33;background:#00d4ff0a }
|
||||
.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:#0000004d;padding:8px 10px;border:1px solid #00d4ff26;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:16px 32px;border-top:1px solid #ff2d9526;background:#ff2d9508;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;-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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,135 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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 #ff2d954d,0 0 60px #00d4ff1a }
|
||||
|
||||
/* 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,#ff2d954d,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!important;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px #ff2d9566;letter-spacing:1px;text-transform:uppercase }
|
||||
.email-btn-table { margin:0 0 24px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #00d4ff33;background:#00d4ff0a }
|
||||
.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:#0000004d;padding:8px 10px;border:1px solid #00d4ff26;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:16px 32px;border-top:1px solid #ff2d9526;background:#ff2d9508;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;-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-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%" 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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,137 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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 #ff2d954d,0 0 60px #00d4ff1a }
|
||||
|
||||
/* 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,#ff2d954d,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!important;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px #ff2d9566;letter-spacing:1px;text-transform:uppercase }
|
||||
.email-btn-table { margin:0 0 24px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #00d4ff33;background:#00d4ff0a }
|
||||
.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:#0000004d;padding:8px 10px;border:1px solid #00d4ff26;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:16px 32px;border-top:1px solid #ff2d9526;background:#ff2d9508;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;-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.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%" 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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,142 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
|
||||
<title>
|
||||
{{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}}
|
||||
</title>
|
||||
|
||||
<style type="text/css">
|
||||
/* 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 #ff2d954d,0 0 60px #00d4ff1a }
|
||||
|
||||
/* 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,#ff2d954d,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!important;text-decoration:none;background:linear-gradient(135deg,#ff2d95,#e0115f);border:1px solid #ff2d95;box-shadow:0 0 16px #ff2d9566;letter-spacing:1px;text-transform:uppercase }
|
||||
.email-btn-table { margin:0 0 24px }
|
||||
|
||||
/* Fallback link */
|
||||
.email-link-box { border:1px solid #00d4ff33;background:#00d4ff0a }
|
||||
.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:#0000004d;padding:8px 10px;border:1px solid #00d4ff26;word-break:break-all }
|
||||
|
||||
/* Footer */
|
||||
.email-footer { padding:16px 32px;border-top:1px solid #ff2d9526;background:#ff2d9508;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;-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">
|
||||
©
|
||||
<a href="{{AppUrl}}" class="email-footer-link">{{AppName}}</a>
|
||||
</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
Loaded 100 of 225 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user