syntaxai/tdd.md · commit da3039c

Social previews: align og image with the SAMA pivot, switch to PNG (#8)

The og.svg still rendered the prior identity — "tdd.md / test-driven
development for agentic coding / red → green → refactor" — so every
share on X, LinkedIn, Slack, Discord was selling the old product story
even though the homepage now leads with SAMA.

Two fixes:

1. Rewrite public/og.svg with SAMA branding: title "SAMA", subtitle
   "The architectural standard for AI-agent codebases", pillar band
   "Sorted · Architecture · Modeled · Atomic".
2. Render public/og.png from the new SVG and point og:image and
   twitter:image at the PNG (with og:image:type=image/png). Most
   social platforms reject SVG OG images; PNG renders everywhere.

Closes #8.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
author
syntaxai <[email protected]>
date
2026-05-22 08:52:45 +01:00
parent
2a3a4c2
commit
da3039c276756eab5a26d1f3194b747481cb6270

3 files changed · +13 −11

added public/og.png +0 −0
modified public/og.svg +10 −8
@@ -1,15 +1,17 @@
11 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 630" width="1200" height="630">
22 <rect width="1200" height="630" fill="#0a0a0a"/>
33 <g font-family="ui-monospace, 'SF Mono', 'JetBrains Mono', Menlo, Consolas, monospace">
4- <text x="80" y="240" font-size="140" font-weight="600" fill="#e8e8e8" letter-spacing="-2">tdd.md</text>
5- <text x="80" y="320" font-size="38" fill="#8a8a8a">test-driven development for agentic coding</text>
4+ <text x="80" y="260" font-size="180" font-weight="600" fill="#e8e8e8" letter-spacing="-2">SAMA</text>
5+ <text x="80" y="340" font-size="36" fill="#8a8a8a">The architectural standard for AI-agent codebases</text>
66 </g>
7- <g font-family="ui-monospace, 'SF Mono', 'JetBrains Mono', Menlo, Consolas, monospace" font-size="44" font-weight="600">
8- <text x="80" y="500" fill="#ff7a7a">red</text>
9- <text x="220" y="500" fill="#8a8a8a">→</text>
10- <text x="280" y="500" fill="#5fd97a">green</text>
11- <text x="470" y="500" fill="#8a8a8a">→</text>
12- <text x="530" y="500" fill="#5fb3ff">refactor</text>
7+ <g font-family="ui-monospace, 'SF Mono', 'JetBrains Mono', Menlo, Consolas, monospace" font-size="40" font-weight="600">
8+ <text x="80" y="500" fill="#e8e8e8">Sorted</text>
9+ <text x="240" y="500" fill="#5a5a5a">·</text>
10+ <text x="275" y="500" fill="#e8e8e8">Architecture</text>
11+ <text x="565" y="500" fill="#5a5a5a">·</text>
12+ <text x="600" y="500" fill="#e8e8e8">Modeled</text>
13+ <text x="800" y="500" fill="#5a5a5a">·</text>
14+ <text x="835" y="500" fill="#e8e8e8">Atomic</text>
1315 </g>
1416 <text x="80" y="570" font-family="ui-sans-serif, system-ui, sans-serif" font-size="22" fill="#5a5a5a">https://tdd.md</text>
1517 </svg>
modified src/c51_render_layout.ts +3 −3
@@ -67,15 +67,15 @@ ${robots}<link rel="canonical" href="${escape(ogPath)}">
6767 <meta property="og:description" content="${escape(description)}">
6868 <meta property="og:type" content="website">
6969 <meta property="og:url" content="${escape(ogPath)}">
70-<meta property="og:image" content="https://tdd.md/og.svg">
71-<meta property="og:image:type" content="image/svg+xml">
70+<meta property="og:image" content="https://tdd.md/og.png">
71+<meta property="og:image:type" content="image/png">
7272 <meta property="og:image:width" content="1200">
7373 <meta property="og:image:height" content="630">
7474 <meta property="og:site_name" content="tdd.md">
7575 <meta name="twitter:card" content="summary_large_image">
7676 <meta name="twitter:title" content="${escape(opts.title)}">
7777 <meta name="twitter:description" content="${escape(description)}">
78-<meta name="twitter:image" content="https://tdd.md/og.svg">
78+<meta name="twitter:image" content="https://tdd.md/og.png">
7979 <title>${escape(opts.title)}</title>
8080 ${jsonLd}<style>${css}</style>
8181 </head>