Add basic email templates

This commit is contained in:
Eric Jinks 2018-01-25 13:16:31 +10:00
parent f1545308ce
commit c89ed2d65c
10 changed files with 548 additions and 2 deletions

View file

@ -44,10 +44,8 @@
},
"scripts": {
"start": "npm run watch:content & react-scripts start",
"start:heml": "heml develop email.heml",
"build": "npm run prepare-content && react-scripts build && npm run build:postcss && react-snapshot && npm run sw",
"build:postcss": "postcss build/static/css/*.css -r",
"build:heml": "postcss build/static/css/*.css -r",
"parse-content": "node ./functions/parse-content.js",
"resize-images": "node ./functions/resize-images.js",
"prepare-content": "npm run parse-content && npm run resize-images",

View file

@ -0,0 +1,4 @@
These email templates are compiled using __heml__.
Update these templates at https://heml.io/editor.
Learn more about email templates in the [Netlify Docs](https://www.netlify.com/docs/identity/#email-templates).

View file

@ -0,0 +1,21 @@
<heml>
<head>
<subject>Confirm your signup</subject>
<style>
body {
text-align: center;
}
.button {
background: #ff3d3d;
}
</style>
</head>
<body>
<container>
<img style='margin: auto' src='https://netlify-cms-react-starter.netlify.com/images/logo.svg' />
<h2>Confirm your signup</h2>
<p>Follow this link to confirm your account</p>
<button class='button' href="{{ .ConfirmationURL }}" style="margin: auto;">Confirm your mail</button>
</container>
</body>
</heml>

View file

@ -0,0 +1,115 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" />
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
<head> </head>
<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" />
<!--[if !mso]><!-->
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!--<![endif]-->
<style type="text/css">
* {
text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
-moz-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
html {
height: 100%;
width: 100%;
}
body {
height: 100% !important;
margin: 0 !important;
padding: 0 !important;
width: 100% !important;
mso-line-height-rule: exactly;
}
div[style*="margin: 16px 0"] {
margin: 0 !important;
}
table,
td {
mso-table-lspace: 0pt;
mso-table-rspace: 0pt;
}
img {
border: 0;
height: auto;
line-height: 100%;
outline: none;
text-decoration: none;
-ms-interpolation-mode: bicubic;
}
.ReadMsgBody,
.ExternalClass {
width: 100%;
}
.ExternalClass,
.ExternalClass p,
.ExternalClass span,
.ExternalClass td,
.ExternalClass div {
line-height: 100%;
}
</style>
<!--[if gte mso 9]>
<style type="text/css">
li { text-indent: -1em; }
table td { border-collapse: collapse; }
</style>
<![endif]-->
<title>Confirm your signup</title>
<!-- content -->
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:PixelsPerInch>96</o:PixelsPerInch>
</o:OfficeDocumentSettings>
</xml><![endif]-->
</head>
<body class="body" style="margin: 0; width: 100%;">
<table class="bodyTable" role="presentation" width="100%" align="left" border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin: 0;">
<tr>
<td class="body__content" align="center" width="100%" valign="top" style="color: #000000; font-family: Helvetica,Arial,sans-serif; font-size: 16px; line-height: 20px; text-align: center;">
<div class="container" style="margin: 0 auto; max-width: 600px; width: 100%;"> <!--[if mso | IE]>
<table class="container__table__ie" role="presentation" border="0" cellpadding="0" cellspacing="0" style="margin-right: auto; margin-left: auto;width: 600px" width="600" align="center">
<tr>
<td> <![endif]-->
<table class="container__table" role="presentation" border="0" align="center" cellpadding="0" cellspacing="0" width="100%">
<tr class="container__row">
<td class="container__cell" width="100%" align="left" valign="top"> <img src="https://netlify-cms-react-starter.netlify.com/images/logo.svg" border="0" alt="" class="img__block" style="display: block; max-width: 100%; margin: 0 auto;" />
<h2 class="header h2" style="margin: 20px 0; line-height: 30px; color: #000000; font-family: Helvetica,Arial,sans-serif; text-align: center;">Confirm your signup</h2>
<p class="text p" style="display: block; margin: 14px 0; color: #000000; font-family: Helvetica,Arial,sans-serif; font-size: 16px; line-height: 20px; text-align: center;">Follow this link to confirm your account</p>
<div class="button button" style="background-color: #FF3D3D; margin: 0 auto;">
<table role="presentation" width="100%" align="left" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<table role="presentation" width="auto" align="center" border="0" cellspacing="0" cellpadding="0" class="button__table" style="margin: 0 auto;">
<tr>
<td align="center" class="button__cell" style="border-radius: 3px; padding: 6px 12px; background-color: #FF3D3D;" bgcolor="#FF3D3D"><a href="{{ .ConfirmationURL }}" class="button__link" style="color: #FFFFFF; text-decoration: none; background-color: #FF3D3D; display: inline-block;"><span class="button__text" style="color: #FFFFFF; text-decoration: none;">Confirm your mail</span></a></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table> <!--[if mso | IE]> </td>
</tr>
</table> <![endif]--> </div>
</td>
</tr>
</table>
<div style="display:none; white-space:nowrap; font-size:15px; line-height:0;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</body>
</html>

View file

@ -0,0 +1,21 @@
<heml>
<head>
<subject>Confirm Change of Email</subject>
<style>
body {
text-align: center;
}
.button {
background: #ff3d3d;
}
</style>
</head>
<body>
<container>
<img style='margin: auto' src='https://netlify-cms-react-starter.netlify.com/images/logo.svg' />
<h2>Follow this link to confirm the update of your email from {{ .Email }} to {{ .NewEmail }}:</h2>
<p>Follow this link to confirm your account</p>
<button class='button' href="{{ .ConfirmationURL }}" style="margin: auto;">Change Email</button>
</container>
</body>
</heml>

View file

@ -0,0 +1,115 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" />
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
<head> </head>
<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" />
<!--[if !mso]><!-->
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!--<![endif]-->
<style type="text/css">
* {
text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
-moz-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
html {
height: 100%;
width: 100%;
}
body {
height: 100% !important;
margin: 0 !important;
padding: 0 !important;
width: 100% !important;
mso-line-height-rule: exactly;
}
div[style*="margin: 16px 0"] {
margin: 0 !important;
}
table,
td {
mso-table-lspace: 0pt;
mso-table-rspace: 0pt;
}
img {
border: 0;
height: auto;
line-height: 100%;
outline: none;
text-decoration: none;
-ms-interpolation-mode: bicubic;
}
.ReadMsgBody,
.ExternalClass {
width: 100%;
}
.ExternalClass,
.ExternalClass p,
.ExternalClass span,
.ExternalClass td,
.ExternalClass div {
line-height: 100%;
}
</style>
<!--[if gte mso 9]>
<style type="text/css">
li { text-indent: -1em; }
table td { border-collapse: collapse; }
</style>
<![endif]-->
<title>Confirm Change of Email</title>
<!-- content -->
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:PixelsPerInch>96</o:PixelsPerInch>
</o:OfficeDocumentSettings>
</xml><![endif]-->
</head>
<body class="body" style="margin: 0; width: 100%;">
<table class="bodyTable" role="presentation" width="100%" align="left" border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin: 0;">
<tr>
<td class="body__content" align="center" width="100%" valign="top" style="color: #000000; font-family: Helvetica,Arial,sans-serif; font-size: 16px; line-height: 20px; text-align: center;">
<div class="container" style="margin: 0 auto; max-width: 600px; width: 100%;"> <!--[if mso | IE]>
<table class="container__table__ie" role="presentation" border="0" cellpadding="0" cellspacing="0" style="margin-right: auto; margin-left: auto;width: 600px" width="600" align="center">
<tr>
<td> <![endif]-->
<table class="container__table" role="presentation" border="0" align="center" cellpadding="0" cellspacing="0" width="100%">
<tr class="container__row">
<td class="container__cell" width="100%" align="left" valign="top"> <img src="https://netlify-cms-react-starter.netlify.com/images/logo.svg" border="0" alt="" class="img__block" style="display: block; max-width: 100%; margin: 0 auto;" />
<h2 class="header h2" style="margin: 20px 0; line-height: 30px; color: #000000; font-family: Helvetica,Arial,sans-serif; text-align: center;">Follow this link to confirm the update of your email from {{ .Email }} to {{ .NewEmail }}:</h2>
<p class="text p" style="display: block; margin: 14px 0; color: #000000; font-family: Helvetica,Arial,sans-serif; font-size: 16px; line-height: 20px; text-align: center;">Follow this link to confirm your account</p>
<div class="button button" style="background-color: #FF3D3D; margin: 0 auto;">
<table role="presentation" width="100%" align="left" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<table role="presentation" width="auto" align="center" border="0" cellspacing="0" cellpadding="0" class="button__table" style="margin: 0 auto;">
<tr>
<td align="center" class="button__cell" style="border-radius: 3px; padding: 6px 12px; background-color: #FF3D3D;" bgcolor="#FF3D3D"><a href="{{ .ConfirmationURL }}" class="button__link" style="color: #FFFFFF; text-decoration: none; background-color: #FF3D3D; display: inline-block;"><span class="button__text" style="color: #FFFFFF; text-decoration: none;">Change Email</span></a></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table> <!--[if mso | IE]> </td>
</tr>
</table> <![endif]--> </div>
</td>
</tr>
</table>
<div style="display:none; white-space:nowrap; font-size:15px; line-height:0;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</body>
</html>

View file

@ -0,0 +1,21 @@
<heml>
<head>
<subject>You have been invited!</subject>
<style>
body {
text-align: center;
}
.button {
background: #ff3d3d;
}
</style>
</head>
<body>
<container>
<img style='margin: auto' src='https://netlify-cms-react-starter.netlify.com/images/logo.svg' />
<h2>You have been invited</h2>
<p>You have been invited to create a user on {{ .SiteURL }}</p>
<button class='button' href="{{ .ConfirmationURL }}" style="margin: auto;">Accept the invite</button>
</container>
</body>
</heml>

View file

@ -0,0 +1,115 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" />
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
<head> </head>
<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" />
<!--[if !mso]><!-->
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!--<![endif]-->
<style type="text/css">
* {
text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
-moz-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
html {
height: 100%;
width: 100%;
}
body {
height: 100% !important;
margin: 0 !important;
padding: 0 !important;
width: 100% !important;
mso-line-height-rule: exactly;
}
div[style*="margin: 16px 0"] {
margin: 0 !important;
}
table,
td {
mso-table-lspace: 0pt;
mso-table-rspace: 0pt;
}
img {
border: 0;
height: auto;
line-height: 100%;
outline: none;
text-decoration: none;
-ms-interpolation-mode: bicubic;
}
.ReadMsgBody,
.ExternalClass {
width: 100%;
}
.ExternalClass,
.ExternalClass p,
.ExternalClass span,
.ExternalClass td,
.ExternalClass div {
line-height: 100%;
}
</style>
<!--[if gte mso 9]>
<style type="text/css">
li { text-indent: -1em; }
table td { border-collapse: collapse; }
</style>
<![endif]-->
<title>You have been invited!</title>
<!-- content -->
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:PixelsPerInch>96</o:PixelsPerInch>
</o:OfficeDocumentSettings>
</xml><![endif]-->
</head>
<body class="body" style="margin: 0; width: 100%;">
<table class="bodyTable" role="presentation" width="100%" align="left" border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin: 0;">
<tr>
<td class="body__content" align="center" width="100%" valign="top" style="color: #000000; font-family: Helvetica,Arial,sans-serif; font-size: 16px; line-height: 20px; text-align: center;">
<div class="container" style="margin: 0 auto; max-width: 600px; width: 100%;"> <!--[if mso | IE]>
<table class="container__table__ie" role="presentation" border="0" cellpadding="0" cellspacing="0" style="margin-right: auto; margin-left: auto;width: 600px" width="600" align="center">
<tr>
<td> <![endif]-->
<table class="container__table" role="presentation" border="0" align="center" cellpadding="0" cellspacing="0" width="100%">
<tr class="container__row">
<td class="container__cell" width="100%" align="left" valign="top"> <img src="https://netlify-cms-react-starter.netlify.com/images/logo.svg" border="0" alt="" class="img__block" style="display: block; max-width: 100%; margin: 0 auto;" />
<h2 class="header h2" style="margin: 20px 0; line-height: 30px; color: #000000; font-family: Helvetica,Arial,sans-serif; text-align: center;">You have been invited</h2>
<p class="text p" style="display: block; margin: 14px 0; color: #000000; font-family: Helvetica,Arial,sans-serif; font-size: 16px; line-height: 20px; text-align: center;">You have been invited to create a user on {{ .SiteURL }}</p>
<div class="button button" style="background-color: #FF3D3D; margin: 0 auto;">
<table role="presentation" width="100%" align="left" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<table role="presentation" width="auto" align="center" border="0" cellspacing="0" cellpadding="0" class="button__table" style="margin: 0 auto;">
<tr>
<td align="center" class="button__cell" style="border-radius: 3px; padding: 6px 12px; background-color: #FF3D3D;" bgcolor="#FF3D3D"><a href="{{ .ConfirmationURL }}" class="button__link" style="color: #FFFFFF; text-decoration: none; background-color: #FF3D3D; display: inline-block;"><span class="button__text" style="color: #FFFFFF; text-decoration: none;">Accept the invite</span></a></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table> <!--[if mso | IE]> </td>
</tr>
</table> <![endif]--> </div>
</td>
</tr>
</table>
<div style="display:none; white-space:nowrap; font-size:15px; line-height:0;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</body>
</html>

View file

@ -0,0 +1,21 @@
<heml>
<head>
<subject>Reset Password</subject>
<style>
body {
text-align: center;
}
.button {
background: #ff3d3d;
}
</style>
</head>
<body>
<container>
<img style='margin: auto' src='https://netlify-cms-react-starter.netlify.com/images/logo.svg' />
<h2>Follow this link to reset the password for your account:</h2>
<p>Follow this link to confirm your account</p>
<button class='button' href="{{ .ConfirmationURL }}" style="margin: auto;">Reset Password</button>
</container>
</body>
</heml>

View file

@ -0,0 +1,115 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" />
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
<head> </head>
<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" />
<!--[if !mso]><!-->
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!--<![endif]-->
<style type="text/css">
* {
text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
-moz-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
html {
height: 100%;
width: 100%;
}
body {
height: 100% !important;
margin: 0 !important;
padding: 0 !important;
width: 100% !important;
mso-line-height-rule: exactly;
}
div[style*="margin: 16px 0"] {
margin: 0 !important;
}
table,
td {
mso-table-lspace: 0pt;
mso-table-rspace: 0pt;
}
img {
border: 0;
height: auto;
line-height: 100%;
outline: none;
text-decoration: none;
-ms-interpolation-mode: bicubic;
}
.ReadMsgBody,
.ExternalClass {
width: 100%;
}
.ExternalClass,
.ExternalClass p,
.ExternalClass span,
.ExternalClass td,
.ExternalClass div {
line-height: 100%;
}
</style>
<!--[if gte mso 9]>
<style type="text/css">
li { text-indent: -1em; }
table td { border-collapse: collapse; }
</style>
<![endif]-->
<title>Reset Password</title>
<!-- content -->
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:PixelsPerInch>96</o:PixelsPerInch>
</o:OfficeDocumentSettings>
</xml><![endif]-->
</head>
<body class="body" style="margin: 0; width: 100%;">
<table class="bodyTable" role="presentation" width="100%" align="left" border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin: 0;">
<tr>
<td class="body__content" align="center" width="100%" valign="top" style="color: #000000; font-family: Helvetica,Arial,sans-serif; font-size: 16px; line-height: 20px; text-align: center;">
<div class="container" style="margin: 0 auto; max-width: 600px; width: 100%;"> <!--[if mso | IE]>
<table class="container__table__ie" role="presentation" border="0" cellpadding="0" cellspacing="0" style="margin-right: auto; margin-left: auto;width: 600px" width="600" align="center">
<tr>
<td> <![endif]-->
<table class="container__table" role="presentation" border="0" align="center" cellpadding="0" cellspacing="0" width="100%">
<tr class="container__row">
<td class="container__cell" width="100%" align="left" valign="top"> <img src="https://netlify-cms-react-starter.netlify.com/images/logo.svg" border="0" alt="" class="img__block" style="display: block; max-width: 100%; margin: 0 auto;" />
<h2 class="header h2" style="margin: 20px 0; line-height: 30px; color: #000000; font-family: Helvetica,Arial,sans-serif; text-align: center;">Follow this link to reset the password for your account:</h2>
<p class="text p" style="display: block; margin: 14px 0; color: #000000; font-family: Helvetica,Arial,sans-serif; font-size: 16px; line-height: 20px; text-align: center;">Follow this link to confirm your account</p>
<div class="button button" style="background-color: #FF3D3D; margin: 0 auto;">
<table role="presentation" width="100%" align="left" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<table role="presentation" width="auto" align="center" border="0" cellspacing="0" cellpadding="0" class="button__table" style="margin: 0 auto;">
<tr>
<td align="center" class="button__cell" style="border-radius: 3px; padding: 6px 12px; background-color: #FF3D3D;" bgcolor="#FF3D3D"><a href="{{ .ConfirmationURL }}" class="button__link" style="color: #FFFFFF; text-decoration: none; background-color: #FF3D3D; display: inline-block;"><span class="button__text" style="color: #FFFFFF; text-decoration: none;">Reset Password</span></a></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table> <!--[if mso | IE]> </td>
</tr>
</table> <![endif]--> </div>
</td>
</tr>
</table>
<div style="display:none; white-space:nowrap; font-size:15px; line-height:0;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</body>
</html>