Skip to main content

max / makenotwork

2.5 KB · 57 lines History Blame Raw
1 <!doctype html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>{{ title }} — Makenot.work</title>
7 <style>
8 * { margin: 0; padding: 0; box-sizing: border-box; }
9 body {
10 font-family: Lato, -apple-system, sans-serif;
11 background: #ede8e1; color: #3d3530;
12 display: flex; align-items: center; justify-content: center;
13 min-height: 100vh; padding: 12px;
14 }
15 .card {
16 background: #fff; border-radius: 8px; overflow: hidden;
17 border: 1px solid rgba(61,53,48,0.1);
18 display: flex; flex-direction: {% if is_horizontal %}row{% else %}column{% endif %}; width: 100%;
19 max-width: {% if is_horizontal %}600px{% else %}350px{% endif %};
20 }
21 .cover {
22 {% if is_horizontal %}width: 150px; height: 200px;{% else %}width: 100%; height: 200px;{% endif %}
23 background: #f5f0eb; flex-shrink: 0;
24 }
25 .cover img { width: 100%; height: 100%; object-fit: cover; }
26 .body { padding: 14px; display: flex; flex-direction: column; flex: 1; min-width: 0; }
27 .title { font-family: 'Young Serif', Georgia, serif; font-size: 15px; font-weight: bold; margin-bottom: 4px; }
28 .creator { font-family: 'IBM Plex Mono', monospace; font-size: 11px; opacity: 0.6; margin-bottom: 8px; }
29 .creator a { color: inherit; text-decoration: none; }
30 .creator a:hover { text-decoration: underline; }
31 .desc { font-size: 12px; opacity: 0.8; line-height: 1.4; margin-bottom: 12px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
32 .footer { display: flex; align-items: center; justify-content: space-between; margin-top: auto; }
33 .price { font-family: 'IBM Plex Mono', monospace; font-size: 14px; }
34 .buy-btn {
35 background: #6c5ce7; color: #fff; border: none; border-radius: 4px;
36 padding: 8px 14px; font-size: 12px; font-weight: 600;
37 cursor: pointer; text-decoration: none; white-space: nowrap;
38 }
39 .buy-btn:hover { background: #5a4bd6; }
40 </style>
41 </head>
42 <body>
43 <div class="card">
44 <div class="cover">{% if let Some(url) = cover_image_url %}<img src="{{ url }}" alt="">{% endif %}</div>
45 <div class="body">
46 <div class="title">{{ title }}</div>
47 <div class="creator">by <a href="{{ profile_url }}" target="_blank" rel="noopener">{{ creator_display_name }}</a></div>
48 {% if !description_excerpt.is_empty() %}<div class="desc">{{ description_excerpt }}</div>{% endif %}
49 <div class="footer">
50 <span class="price">{{ price_display }}</span>
51 <a class="buy-btn" href="{{ purchase_url }}" target="_blank" rel="noopener">{{ button_text }}</a>
52 </div>
53 </div>
54 </div>
55 </body>
56 </html>
57