Skip to content

Commit f261ed2

Browse files
FreekHeijtingclaude
andcommitted
feat(phase-7): render social preview banner (1280x640)
42 deterministic skills banner with: - 42 + DETERMINISTIC SKILLS heading - tagline: 'for shadcn ui copy-not-install paradigm' - 3 badges: shadcn@4.7 / Tailwind v4 / Radix UI - version line: shadcn ui evergreen-2026 / React 18+/19 / Tailwind v3.4/v4 - code window button.tsx with cva snippet - black bg + cyan accent Generated via chromium --headless --screenshot. Banner-banner.html template placeholders substituted. Upload to GitHub repo Social Preview via Settings -> Social preview -> Edit (no API available for this per GitHub docs). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 8c733fd commit f261ed2

2 files changed

Lines changed: 55 additions & 31 deletions

File tree

docs/social-preview-banner.html

Lines changed: 55 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
* { margin: 0; padding: 0; box-sizing: border-box; }
1111

1212
body {
13-
background: {{BG_COLOR}};
13+
background: #0A0A0A;
1414
display: flex;
1515
align-items: center;
1616
justify-content: center;
@@ -20,7 +20,7 @@
2020
.banner {
2121
width: 1280px;
2222
height: 640px;
23-
background: {{BG_COLOR}};
23+
background: #0A0A0A;
2424
position: relative;
2525
overflow: hidden;
2626
display: flex;
@@ -33,7 +33,7 @@
3333
left: 0;
3434
right: 0;
3535
height: 4px;
36-
background: linear-gradient(90deg, {{BRAND_PRIMARY}} 0%, {{BRAND_SECONDARY}} 50%, {{BRAND_ACCENT}} 100%);
36+
background: linear-gradient(90deg, #FAFAF9 0%, #3178C6 50%, #06B6D4 100%);
3737
}
3838

3939
/* Subtle blueprint grid */
@@ -73,7 +73,7 @@
7373
font-family: 'Space Grotesk', system-ui, sans-serif;
7474
font-size: 26px;
7575
font-weight: 700;
76-
color: {{BRAND_PRIMARY}};
76+
color: #FAFAF9;
7777
letter-spacing: 4px;
7878
text-transform: uppercase;
7979
margin-bottom: 22px;
@@ -106,9 +106,9 @@
106106
border: 2px solid;
107107
}
108108

109-
.badge-1 { border-color: {{BRAND_PRIMARY}}; color: {{BRAND_PRIMARY}}; }
110-
.badge-2 { border-color: {{BRAND_SECONDARY}}; color: {{BRAND_SECONDARY}}; }
111-
.badge-3 { border-color: {{BRAND_ACCENT}}; color: {{BRAND_ACCENT}}; }
109+
.badge-1 { border-color: #FAFAF9; color: #FAFAF9; }
110+
.badge-2 { border-color: #3178C6; color: #3178C6; }
111+
.badge-3 { border-color: #06B6D4; color: #06B6D4; }
112112

113113
.versions {
114114
font-family: 'JetBrains Mono', monospace;
@@ -181,16 +181,16 @@
181181
}
182182

183183
.comment { color: #A1A1AA; }
184-
.keyword { color: {{BRAND_PRIMARY}}; }
185-
.function { color: {{BRAND_SECONDARY}}; }
184+
.keyword { color: #FAFAF9; }
185+
.function { color: #3178C6; }
186186
.string { color: #34D399; }
187-
.operator { color: {{BRAND_ACCENT}}; }
187+
.operator { color: #06B6D4; }
188188
.type { color: #3178C6; }
189189
.cursor {
190190
display: inline-block;
191191
width: 8px;
192192
height: 17px;
193-
background: {{BRAND_PRIMARY}};
193+
background: #FAFAF9;
194194
vertical-align: text-bottom;
195195
}
196196

@@ -211,7 +211,7 @@
211211
}
212212

213213
.foundation-name .open { color: #FAFAF9; }
214-
.foundation-name .aec { color: {{BRAND_PRIMARY}}; }
214+
.foundation-name .aec { color: #FAFAF9; }
215215

216216
.foundation-sub {
217217
font-family: 'Inter', system-ui, sans-serif;
@@ -228,18 +228,18 @@
228228

229229
<!-- Left: text content -->
230230
<div class="left">
231-
<div class="number">0</div>
231+
<div class="number">42</div>
232232
<div class="title">Deterministic Skills</div>
233-
<div class="subtitle">for {{TECH_TAGLINE}}</div>
233+
<div class="subtitle">for shadcn ui copy-not-install paradigm</div>
234234

235235
<div class="badges">
236-
<div class="badge badge-1">{{BADGE_1}}</div>
237-
<div class="badge badge-2">{{BADGE_2}}</div>
238-
<div class="badge badge-3">{{BADGE_3}}</div>
236+
<div class="badge badge-1">shadcn@4.7</div>
237+
<div class="badge badge-2">Tailwind v4</div>
238+
<div class="badge badge-3">Radix UI</div>
239239
</div>
240240

241241
<div class="versions">
242-
{{VERSION_LINE}}
242+
shadcn ui evergreen-2026 &nbsp;<span class="sep"></span>&nbsp; React 18+ / 19 &nbsp;<span class="sep"></span>&nbsp; Tailwind v3.4 / v4
243243
</div>
244244
</div>
245245

@@ -250,10 +250,22 @@
250250
<div class="dot dot-red"></div>
251251
<div class="dot dot-yellow"></div>
252252
<div class="dot dot-green"></div>
253-
<span class="code-filename">{{CODE_FILENAME}}</span>
253+
<span class="code-filename">button.tsx</span>
254254
</div>
255255
<div class="code-body">
256-
{{CODE_BODY}}
256+
<span class="keyword">import</span> { cva } <span class="keyword">from</span> <span class="string">"class-variance-authority"</span>;<br>
257+
<br>
258+
<span class="keyword">const</span> <span class="function">buttonVariants</span> = <span class="function">cva</span>(<br>
259+
&nbsp;&nbsp;<span class="string">"inline-flex items-center..."</span>,<br>
260+
&nbsp;&nbsp;{<br>
261+
&nbsp;&nbsp;&nbsp;&nbsp;variants: {<br>
262+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;variant: {<br>
263+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">// default | destructive |</span><br>
264+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">// outline | secondary | ghost | link</span><br>
265+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},<br>
266+
&nbsp;&nbsp;&nbsp;&nbsp;},<br>
267+
&nbsp;&nbsp;}<br>
268+
);
257269
<span class="cursor"></span>
258270
</div>
259271
</div>
@@ -271,18 +283,30 @@
271283
<!--
272284
TEMPLATE VARIABLES:
273285
==================
274-
{{BG_COLOR}} — Background color (e.g., #1A1A2E, #2A2A32)
275-
{{BRAND_PRIMARY}} — Primary brand color (e.g., #61DAFB for React, #FFC131 for Tauri)
276-
{{BRAND_SECONDARY}} — Secondary color (e.g., #3178C6 for TypeScript)
277-
{{BRAND_ACCENT}} — Accent color (e.g., #A855F7 for purple)
286+
#0A0A0A — Background color (e.g., #1A1A2E, #2A2A32)
287+
#FAFAF9 — Primary brand color (e.g., #61DAFB for React, #FFC131 for Tauri)
288+
#3178C6 — Secondary color (e.g., #3178C6 for TypeScript)
289+
#06B6D4 — Accent color (e.g., #A855F7 for purple)
278290
0 — Number of skills (e.g., 24, 27)
279-
{{TECH_TAGLINE}} — Short tagline (e.g., "expert-level React 18 & 19 development")
280-
{{BADGE_1}} — First badge text (e.g., "React 18 + 19")
281-
{{BADGE_2}} — Second badge text (e.g., "TypeScript")
282-
{{BADGE_3}} — Third badge text (e.g., "18 Hooks")
283-
{{VERSION_LINE}} — Version info with HTML separators using <span class="sep">│</span>
284-
{{CODE_FILENAME}} — Filename in code window titlebar (e.g., "App.tsx", "lib.rs")
285-
{{CODE_BODY}} — HTML-formatted code snippet using span classes: .comment, .keyword, .function, .string, .operator, .type
291+
shadcn ui copy-not-install paradigm — Short tagline (e.g., "expert-level React 18 & 19 development")
292+
shadcn@4.7 — First badge text (e.g., "React 18 + 19")
293+
Tailwind v4 — Second badge text (e.g., "TypeScript")
294+
Radix UI — Third badge text (e.g., "18 Hooks")
295+
shadcn ui evergreen-2026 &nbsp;<span class="sep">│</span>&nbsp; React 18+ / 19 &nbsp;<span class="sep">│</span>&nbsp; Tailwind v3.4 / v4 — Version info with HTML separators using <span class="sep">│</span>
296+
button.tsx — Filename in code window titlebar (e.g., "App.tsx", "lib.rs")
297+
<span class="keyword">import</span> { cva } <span class="keyword">from</span> <span class="string">"class-variance-authority"</span>;<br>
298+
<br>
299+
<span class="keyword">const</span> <span class="function">buttonVariants</span> = <span class="function">cva</span>(<br>
300+
&nbsp;&nbsp;<span class="string">"inline-flex items-center..."</span>,<br>
301+
&nbsp;&nbsp;{<br>
302+
&nbsp;&nbsp;&nbsp;&nbsp;variants: {<br>
303+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;variant: {<br>
304+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">// default | destructive |</span><br>
305+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">// outline | secondary | ghost | link</span><br>
306+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},<br>
307+
&nbsp;&nbsp;&nbsp;&nbsp;},<br>
308+
&nbsp;&nbsp;}<br>
309+
); — HTML-formatted code snippet using span classes: .comment, .keyword, .function, .string, .operator, .type
286310
287311
BRAND COLOR REFERENCE:
288312
====================

docs/social-preview.png

57.1 KB
Loading

0 commit comments

Comments
 (0)