Phase 2 Implementation: - Add RSS feed discovery links to footer (Subscribe section) - Create email templates (base-template.html, research-updates-content.html) - Add comprehensive newsletter sending implementation plan - Fix CSP check to exclude email-templates directory Email templates use inline styles for cross-client compatibility (Gmail, Outlook, Apple Mail) and are excluded from CSP checks. Next steps: Install dependencies (handlebars, @sendgrid/mail), implement EmailService, controller methods, and admin UI. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
65 lines
2.9 KiB
HTML
65 lines
2.9 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>{{email_title}}</title>
|
|
<!--[if mso]>
|
|
<noscript>
|
|
<xml>
|
|
<o:OfficeDocumentSettings>
|
|
<o:PixelsPerInch>96</o:PixelsPerInch>
|
|
</o:OfficeDocumentSettings>
|
|
</xml>
|
|
</noscript>
|
|
<![endif]-->
|
|
</head>
|
|
<body style="margin: 0; padding: 0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #f9fafb;">
|
|
<table role="presentation" width="100%" cellspacing="0" cellpadding="0" border="0" style="background-color: #f9fafb;">
|
|
<tr>
|
|
<td align="center" style="padding: 40px 20px;">
|
|
<!-- Main Container -->
|
|
<table role="presentation" width="600" cellspacing="0" cellpadding="0" border="0" style="max-width: 600px; background-color: #ffffff;">
|
|
|
|
<!-- Header -->
|
|
<tr>
|
|
<td style="background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%); padding: 40px 20px; text-align: center;">
|
|
<h1 style="color: #ffffff; margin: 0; font-size: 28px; font-weight: 700;">{{header_title}}</h1>
|
|
<p style="color: #e0e7ff; margin: 10px 0 0 0; font-size: 14px;">{{header_subtitle}}</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<!-- Content -->
|
|
<tr>
|
|
<td style="padding: 40px 20px;">
|
|
<p style="margin: 0 0 20px 0; color: #1f2937; line-height: 1.6;">Hi {{name}},</p>
|
|
|
|
{{content_body}}
|
|
|
|
</td>
|
|
</tr>
|
|
|
|
<!-- Footer -->
|
|
<tr>
|
|
<td style="background-color: #f3f4f6; padding: 30px 20px; text-align: center;">
|
|
<p style="margin: 0 0 10px 0; font-weight: 600; color: #1f2937; font-size: 14px;">Tractatus AI Safety Framework</p>
|
|
<p style="margin: 0 0 15px 0; color: #6b7280; font-size: 12px;">Architectural constraints for AI safety that preserve human agency</p>
|
|
<p style="margin: 0; font-size: 12px;">
|
|
<a href="https://agenticgovernance.digital" style="color: #2563eb; text-decoration: none;">Website</a> |
|
|
<a href="https://agenticgovernance.digital/docs.html" style="color: #2563eb; text-decoration: none;">Documentation</a> |
|
|
<a href="https://github.com/AgenticGovernance/tractatus-framework" style="color: #2563eb; text-decoration: none;">GitHub</a>
|
|
</p>
|
|
<p style="margin: 20px 0 0 0; color: #9ca3af; font-size: 11px;">
|
|
You're receiving this because you subscribed to {{tier_name}}.<br>
|
|
<a href="{{unsubscribe_link}}" style="color: #2563eb; text-decoration: none;">Unsubscribe</a> |
|
|
<a href="{{preferences_link}}" style="color: #2563eb; text-decoration: none;">Update Preferences</a>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</body>
|
|
</html>
|