Skip to content

Commit 5cf126d

Browse files
authored
Use laptop illustration on the Cypherpunks Write Code OG card (#686)
Use a laptop illustration on the Cypherpunks Write Code OG card Builds on #684. Issue 01's headline is "Cypherpunks Write Code", so replacing the love letter with a cypherpunkLaptopSvg() artwork.
1 parent 8f2ee69 commit 5cf126d

1 file changed

Lines changed: 29 additions & 1 deletion

File tree

scripts/generate-newsletter-og.mjs

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,34 @@ function loveLetterSvg() {
157157
`
158158
}
159159

160+
function cypherpunkLaptopSvg() {
161+
return `
162+
<g transform="translate(760, 150)">
163+
<ellipse cx="170" cy="180" rx="220" ry="160" fill="#f97316" fill-opacity="0.12" />
164+
<ellipse cx="170" cy="278" rx="200" ry="12" fill="#000" fill-opacity="0.45" />
165+
166+
<path d="M 20,240 L 320,240 L 360,272 L -20,272 Z"
167+
fill="#fff7ed" stroke="#fb923c" stroke-width="3" stroke-linejoin="round" />
168+
<rect x="138" y="248" width="64" height="6" rx="2" fill="#fed7aa" />
169+
170+
<rect x="20" y="0" width="300" height="240" rx="14" fill="#fff7ed" stroke="#fed7aa" stroke-width="3" />
171+
<rect x="34" y="14" width="272" height="212" rx="6" fill="#0f0f11" />
172+
173+
<g font-family="Inter 18pt">
174+
<text x="50" y="46" fill="#fb923c" font-size="18" font-weight="700">$ gpg --gen-key</text>
175+
<text x="50" y="70" fill="#a1a1aa" font-size="16">generating keypair...</text>
176+
<text x="50" y="94" fill="#a1a1aa" font-size="16">[#########.] 80%</text>
177+
<text x="50" y="128" fill="#fb923c" font-size="18" font-weight="700">def encrypt(m, k):</text>
178+
<text x="70" y="150" fill="#fafaf9" font-size="16">return aes(m, k)</text>
179+
<text x="50" y="184" fill="#fb923c" font-size="18" font-weight="700">$ ./privacy --on</text>
180+
<text x="50" y="206" fill="#a1a1aa" font-size="16">listening on :1984</text>
181+
</g>
182+
183+
<circle cx="170" cy="8" r="2.5" fill="#fb923c" fill-opacity="0.6" />
184+
</g>
185+
`
186+
}
187+
160188
function baseDefs() {
161189
return `
162190
<defs>
@@ -252,7 +280,7 @@ function renderIssueSvg(issue) {
252280
opensats.org/newsletter/${escapeXml(issue.slug)}
253281
</text>
254282
255-
${loveLetterSvg()}
283+
${issue.slug === '2026-Q1' ? cypherpunkLaptopSvg() : loveLetterSvg()}
256284
</svg>
257285
`
258286
}

0 commit comments

Comments
 (0)