171 lines
8.8 KiB
HTML
171 lines
8.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<title>Munich News Daily</title>
|
|
<!--[if mso]>
|
|
<style type="text/css">
|
|
body, table, td {font-family: Arial, Helvetica, sans-serif !important;}
|
|
</style>
|
|
<![endif]-->
|
|
</head>
|
|
<body style="margin: 0; padding: 0; background-color: #f4f4f4; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;">
|
|
<!-- Wrapper Table -->
|
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="background-color: #f4f4f4;">
|
|
<tr>
|
|
<td align="center" style="padding: 20px 0;">
|
|
<!-- Main Container -->
|
|
<table role="presentation" width="600" cellpadding="0" cellspacing="0" border="0" style="background-color: #ffffff; max-width: 600px;">
|
|
|
|
<!-- Header -->
|
|
<tr>
|
|
<td style="background-color: #1a1a1a; padding: 30px 40px; text-align: center;">
|
|
<h1 style="margin: 0 0 8px 0; font-size: 28px; font-weight: 700; color: #ffffff; letter-spacing: -0.5px;">
|
|
Munich News Daily
|
|
</h1>
|
|
<p style="margin: 0; font-size: 14px; color: #999999; letter-spacing: 0.5px;">
|
|
{{ date }}
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<!-- Greeting -->
|
|
<tr>
|
|
<td style="padding: 30px 40px 20px 40px;">
|
|
<p style="margin: 0; font-size: 16px; line-height: 1.5; color: #333333;">
|
|
Good morning ☀️
|
|
</p>
|
|
<p style="margin: 15px 0 0 0; font-size: 15px; line-height: 1.6; color: #666666;">
|
|
Here's what's happening in Munich today. We've summarized {{ article_count }} stories using AI so you can stay informed in under 5 minutes.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<!-- Divider -->
|
|
<tr>
|
|
<td style="padding: 0 40px;">
|
|
<div style="height: 1px; background-color: #e0e0e0;"></div>
|
|
</td>
|
|
</tr>
|
|
|
|
<!-- Articles -->
|
|
{% for article in articles %}
|
|
<tr>
|
|
<td style="padding: 25px 40px;">
|
|
<!-- Article Number Badge -->
|
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0">
|
|
<tr>
|
|
<td>
|
|
<span style="display: inline-block; background-color: #000000; color: #ffffff; width: 24px; height: 24px; line-height: 24px; text-align: center; border-radius: 50%; font-size: 12px; font-weight: 600;">
|
|
{{ loop.index }}
|
|
</span>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<!-- Article Title -->
|
|
<h2 style="margin: 12px 0 8px 0; font-size: 19px; font-weight: 700; line-height: 1.3; color: #1a1a1a;">
|
|
{{ article.title }}
|
|
</h2>
|
|
|
|
<!-- Article Meta -->
|
|
<p style="margin: 0 0 12px 0; font-size: 13px; color: #999999;">
|
|
<span style="color: #000000; font-weight: 600;">{{ article.source }}</span>
|
|
{% if article.author %}
|
|
<span> • {{ article.author }}</span>
|
|
{% endif %}
|
|
</p>
|
|
|
|
<!-- Article Summary -->
|
|
<p style="margin: 0 0 15px 0; font-size: 15px; line-height: 1.6; color: #333333;">
|
|
{{ article.summary }}
|
|
</p>
|
|
|
|
<!-- Read More Link -->
|
|
<a href="{{ article.link }}" style="display: inline-block; color: #000000; text-decoration: none; font-size: 14px; font-weight: 600; border-bottom: 2px solid #000000; padding-bottom: 2px;">
|
|
Read more →
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
|
|
<!-- Article Divider -->
|
|
{% if not loop.last %}
|
|
<tr>
|
|
<td style="padding: 0 40px;">
|
|
<div style="height: 1px; background-color: #f0f0f0;"></div>
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
<!-- Bottom Divider -->
|
|
<tr>
|
|
<td style="padding: 25px 40px 0 40px;">
|
|
<div style="height: 1px; background-color: #e0e0e0;"></div>
|
|
</td>
|
|
</tr>
|
|
|
|
<!-- Summary Box -->
|
|
<tr>
|
|
<td style="padding: 30px 40px;">
|
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="background-color: #f8f8f8; border-radius: 8px;">
|
|
<tr>
|
|
<td style="padding: 25px; text-align: center;">
|
|
<p style="margin: 0 0 8px 0; font-size: 13px; color: #666666; text-transform: uppercase; letter-spacing: 1px; font-weight: 600;">
|
|
Today's Digest
|
|
</p>
|
|
<p style="margin: 0; font-size: 36px; font-weight: 700; color: #000000;">
|
|
{{ article_count }}
|
|
</p>
|
|
<p style="margin: 8px 0 0 0; font-size: 14px; color: #666666;">
|
|
stories • AI-summarized • 5 min read
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
|
|
<!-- Footer -->
|
|
<tr>
|
|
<td style="background-color: #1a1a1a; padding: 30px 40px; text-align: center;">
|
|
<p style="margin: 0 0 15px 0; font-size: 14px; color: #ffffff; font-weight: 600;">
|
|
Munich News Daily
|
|
</p>
|
|
<p style="margin: 0 0 20px 0; font-size: 13px; color: #999999; line-height: 1.5;">
|
|
AI-powered news summaries for busy people.<br>
|
|
Delivered daily to your inbox.
|
|
</p>
|
|
|
|
<!-- Footer Links -->
|
|
<p style="margin: 0; font-size: 12px; color: #666666;">
|
|
<a href="{{ website_link }}" style="color: #999999; text-decoration: none;">Visit Website</a>
|
|
<span style="color: #444444;"> • </span>
|
|
<a href="{{ unsubscribe_link }}" style="color: #999999; text-decoration: none;">Unsubscribe</a>
|
|
</p>
|
|
|
|
{% if tracking_enabled %}
|
|
<!-- Privacy Notice -->
|
|
<p style="margin: 20px 0 0 0; font-size: 11px; color: #666666; line-height: 1.4;">
|
|
This email contains tracking to measure engagement and improve our content.<br>
|
|
We respect your privacy and anonymize data after 90 days.
|
|
</p>
|
|
{% endif %}
|
|
|
|
<p style="margin: 20px 0 0 0; font-size: 11px; color: #666666;">
|
|
© {{ year }} Munich News Daily. All rights reserved.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
|
|
</table>
|
|
<!-- End Main Container -->
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<!-- End Wrapper Table -->
|
|
</body>
|
|
</html>
|