aboutsummaryrefslogtreecommitdiff
path: root/website/src/pages/og
diff options
context:
space:
mode:
Diffstat (limited to 'website/src/pages/og')
-rw-r--r--website/src/pages/og/card-b.html60
-rw-r--r--website/src/pages/og/card-perf.html56
2 files changed, 116 insertions, 0 deletions
diff --git a/website/src/pages/og/card-b.html b/website/src/pages/og/card-b.html
new file mode 100644
index 00000000..c508778b
--- /dev/null
+++ b/website/src/pages/og/card-b.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<html lang="en" class="og">
+<head>
+<meta charset="utf-8" />
+<meta name="viewport" content="width=device-width, initial-scale=1" />
+<title>herdr OG card — source</title>
+<meta name="robots" content="noindex" />
+<link href="https://fonts.googleapis.com/css2?family=Archivo:wght@600;800;900&display=swap" rel="stylesheet" />
+<link rel="stylesheet" href="/css/og-card.css?v=3" />
+<style>
+ /* Source of truth for /assets/og-card-v9.png.
+ Regenerate: open this page, capture the full document, crop to the
+ leftmost 1200x630 (the document is pinned to exactly the card size, but
+ the browser viewport may be wider). Bump the filename when the artwork
+ changes — Slack, X and LinkedIn cache unfurls by URL for weeks. */
+ /* centre the headline in the band below the head rather than in the whole
+ card, so a four-line headline can't ride up into the lockup */
+ .in { display: flex; flex-direction: column; justify-content: center; padding-top: 118px; }
+ h1 {
+ font-family: var(--disp);
+ font-weight: 900;
+ letter-spacing: -0.055em;
+ line-height: 0.86;
+ font-size: 104px;
+ margin: 30px 0 0;
+ max-width: 15ch;
+ color: var(--ink);
+ }
+ h1 em { font-style: normal; color: var(--spot); }
+ /* X, LinkedIn and Slack all draw their own attribution over the bottom of an
+ unfurl, so the lockup and provenance sit at the top and the bottom band is
+ left deliberately empty. */
+ .head {
+ position: absolute;
+ left: 62px;
+ right: 62px;
+ top: 48px;
+ z-index: 1;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ }
+ .head .sub { color: var(--faint); font-size: 21px; letter-spacing: 0.1em; }
+ .head .sub b { color: var(--dim); font-weight: 400; }
+</style>
+</head>
+<body class="og">
+<div class="card">
+ <span class="ram mass"></span>
+ <div class="head">
+ <div class="lockup"><span class="ram"></span><b>herdr</b></div>
+ <div class="sub"><b>herdr.dev</b> &nbsp;·&nbsp; Apache 2.0</div>
+ </div>
+ <div class="in pad">
+ <div class="eyebrow"><s></s>the agent runtime</div>
+ <h1>Run them <em>anywhere.</em> Leave them running.</h1>
+ </div>
+</div>
+</body>
+</html>
diff --git a/website/src/pages/og/card-perf.html b/website/src/pages/og/card-perf.html
new file mode 100644
index 00000000..e2142252
--- /dev/null
+++ b/website/src/pages/og/card-perf.html
@@ -0,0 +1,56 @@
+<!doctype html>
+<html lang="en" class="og">
+<head>
+<meta charset="utf-8" />
+<meta name="viewport" content="width=device-width, initial-scale=1" />
+<title>herdr performance OG card — source</title>
+<meta name="robots" content="noindex" />
+<link href="https://fonts.googleapis.com/css2?family=Archivo:wght@600;800;900&display=swap" rel="stylesheet" />
+<link rel="stylesheet" href="/css/og-card.css?v=3" />
+<style>
+ /* Source of truth for /assets/og-blog-frames-v1.png. Same capture recipe as
+ card-b: open the page, capture the full document, it is already 1200x630.
+
+ A share card is read at thumbnail size in a timeline, so it carries the
+ headline and the one measurement that backs it. The caveats live in the
+ post, where there is room to read them. */
+ .head {
+ position: absolute; left: 62px; right: 62px; top: 48px; z-index: 1;
+ display: flex; align-items: center; justify-content: space-between;
+ }
+ .head .sub { color: var(--faint); font-size: 21px; letter-spacing: 0.1em; }
+ .head .sub b { color: var(--dim); font-weight: 400; }
+
+ .in { display: flex; flex-direction: column; justify-content: center; padding: 118px 62px 54px; }
+ h1 {
+ font-family: var(--disp); font-weight: 900; letter-spacing: -0.055em;
+ line-height: 0.9; font-size: 96px; margin: 0; color: var(--ink);
+ }
+ h1 em { font-style: normal; color: var(--spot); }
+
+ .meas {
+ display: flex; align-items: baseline; gap: 22px;
+ margin-top: 42px; padding-top: 22px; border-top: 1px solid var(--line2);
+ color: var(--faint); font-size: 22px; letter-spacing: 0.04em;
+ }
+ .meas b { color: var(--ink); font-weight: 400; }
+ .meas .r { margin-left: auto; color: var(--dim); }
+</style>
+</head>
+<body class="og">
+<div class="card">
+ <span class="ram mass"></span>
+ <div class="head">
+ <div class="lockup"><span class="ram"></span><b>herdr</b></div>
+ <div class="sub"><b>herdr.dev</b> &nbsp;·&nbsp; Apache 2.0</div>
+ </div>
+ <div class="in">
+ <h1>Ten agents,<br />three clients,<br /><em>95% less CPU.</em></h1>
+ <div class="meas">
+ <span>total cpu <b>13.014% → 0.617%</b></span>
+ <span class="r">v0.7.5 → v0.8.0</span>
+ </div>
+ </div>
+</div>
+</body>
+</html>