Private, print-friendly flyer pages for physical marketing campaigns.
URL: /flyers/v1
Theme: “See All These Deals You Missed”
Target: General audience, Thanksgiving urgency
Layout: 2-column grid, 6 deals, WhatsApp + Telegram CTAs
Copy an existing flyer:
cp www/src/pages/flyers/v1.astro www/src/pages/flyers/v2.astro
Important: Update imports to use relative paths (not @/ aliases):
import { CHANNELS } from "../../config/channels";
Update the content:
#ff4444 and replace)slice(0, 6) to your desired number)Test locally:
cd www && npm run dev
# Visit http://localhost:4323/flyers/v2
Print test:
@media print section if neededv2 Ideas - Category-Specific:
v3 Ideas - Layout Variations:
v4 Ideas - Audience-Specific:
Find and replace these colors in the flyer:
#ff4444 (red)#cc0000 (dark red)#25D366 (green)#0088cc (blue)In the frontmatter section:
deals = apiDeals.slice(0, 6); // Change 6 to desired number
In the CSS section:
.deals-grid {
grid-template-columns: repeat(2, 1fr); /* Change 2 to 1 or 3 */
gap: 1rem;
}
Query specific deal types in flyer-deals.ts:
// Example: Electronics only
WHERE rd.deal_state = 'AVAILABLE'
AND pc.primary_category = 'Electronics'
AND rd.discount_percent >= 30
Endpoint: /api/deals/flyer-deals
Returns: JSON array of high-value deals (30%+ discount)
Cache: 1 hour (3600 seconds)
Limit: 12 deals (modify in query)
{
"id": "RF_ABC123",
"title": "Product Title",
"brand": "Brand Name",
"salePrice": 79.98,
"regularPrice": 149.99,
"discountPercent": 47,
"imageUrl": "https://...",
"productUrl": "https://..."
}
The flyer uses special print styles:
@media print {
@page {
margin: 0.5in;
size: letter portrait;
}
body {
print-color-adjust: exact; /* Preserve colors */
}
.no-print {
display: none; /* Hide print button */
}
}
To track flyer performance, add UTM parameters to channel URLs:
const whatsappUrl = `${CHANNELS.whatsapp.url}?utm_source=flyer&utm_campaign=v1_thanksgiving`;
const telegramUrl = `${CHANNELS.telegram.url}?utm_source=flyer&utm_campaign=v1_thanksgiving`;
Questions or issues? Check:
/docs//docs/schema.md/docs/deal-scoring-system.md