Skip to content

docs(website): rebrand homepage around 'any binary' + raw .md endpoint - #35

Closed
BYK wants to merge 2 commits into
mainfrom
docs/any-binary-rebrand-v2
Closed

docs(website): rebrand homepage around 'any binary' + raw .md endpoint#35
BYK wants to merge 2 commits into
mainfrom
docs/any-binary-rebrand-v2

Conversation

@BYK

@BYK BYK commented Jul 30, 2026

Copy link
Copy Markdown
Owner

Reposition the binpatch landing page from CLI-only to "any binary" — Electron apps, CLIs, agents, game updaters. Lead with a measured download comparison instead of an abstract "90% savings" claim.

What changed

Homepage (website/src/content/docs/index.mdx)

  • Hero graph: getsentry/cli 0.29.0 to 0.39.0 (8 adjacent release pairs, sentry-linux-x64) — the typical (median) patch is 4.0% the size of the full gzipped binary, saving 96% per update. Range across 8 pairs: 0.9% (small fixes) to 8.1% (big features).
  • Chart moved to right below the hero banner (was buried under prose).
  • "When to reach for binpatch" is now a Tabs component with four positioning angles (Self-updating CLI / Electron-Tauri / Agent-daemon / Game-native) instead of a single CardGrid.
  • "What you save" stays a CardGrid but uses measured numbers (bandwidth, wall time, CI minutes, user patience).

Reproducible benchmark (bench/sentry-cli-bench.mjs)

Iterates 8 adjacent getsentry/cli release pairs by default, downloads the real upstream .gz + .patch artifacts, applies the published TRDIFF10 patch through applyPatchChainInMemory, and SHA-256-verifies each reconstructed binary. Per-pair + aggregate (median, mean, min, max) stats emitted as JSON for graph generation. Set FROM/TO env vars for single-pair mode.

Raw markdown endpoint (website/src/pages/[...slug].md.ts)

Each page now exposes its raw markdown source at /<slug>.md via an Astro API endpoint. Useful for:

  • LLM scraping / training pipelines
  • Copy-as-markdown workflows
  • Humans who prefer the raw source

"View as Markdown" link (website/src/components/{MarkdownLink,Footer}.astro)

Starlight Footer override adds a "View as Markdown" link next to the (would-be) EditLink. Link is base-path aware so PR previews keep working.

Light edits

  • architecture.md, faq.md, contributing.md, README.md — drop CLI-only framing.
  • .gitignore — exclude downloaded benchmark fixtures.
  • CHANGELOG.md — Unreleased entry.

Verified

  • pnpm run build clean (both default and DOCS_BASE_PATH=/_preview/pr-<n>/)
  • hyperlink --sources src/content/docs dist -> 0 broken links across 1002 links from 123 files
  • npm run typecheck + npm run test green (57 tests pass)
  • .md endpoints return raw source with Content-Type: text/markdown
  • Markdown link resolves correctly from /, /installation/, and /wire-contract/

Preview

PR preview will deploy to https://binpatch.p.byk.im/_preview/pr-<n>/ once CI runs. Try:

  • /_preview/pr-<n>/ — homepage with the new hero graph
  • /_preview/pr-<n>/installation.md — raw markdown of any page
  • /_preview/pr-<n>/size-comparison.svg — the chart

BYK added 2 commits July 29, 2026 11:16
Re-applies #32, which merged as an empty commit (squash-merge bug —
the merge commit had the right message but recorded no file changes,
so the old `viewBox=220` SVG stayed on main).

Two fixes to /flow.svg:

- Cropping: viewBox was 720x220 but content (the patch label + the
  diagonal arrow) sat at y=226, clipped on every render. Widened to
  720x260 and moved labels into bounds.
- Dark mode invisibility: SVG is embedded via <img>, which sandboxes
  it from host-page CSS variables. `currentColor` defaults to
  black, invisible against the dark theme background. Switch to
  explicit `prefers-color-scheme` media query inside the SVG with
  light/dark hex tokens.
Reposition the binpitch landing page from CLI-only to 'any binary' —
Electron apps, CLIs, agents, game updaters. Lead with a measured
download comparison instead of an abstract '90% savings' claim.

Hero graph: getsentry/cli 0.38.0 to 0.39.0 (sentry-linux-x64) shows a
31.83 MB full gzipped binary versus a 2.58 MB binpatch patch (8.1%
ratio, 92% saved). Numbers come from a new bench/sentry-cli-bench.mjs
reproducible script that downloads the real upstream artifacts, applies
the published TRDIFF10 patch through applyPatchChainInMemory, and
verifies the SHA-256 of the reconstructed binary. The script is linked
from the homepage so anyone can re-run it.

'When to reach for binpatch' is now a Tabs component with four
positioning angles (Self-updating CLI / Electron-Tauri / Agent-daemon
/ Game-native) instead of a single CardGrid. 'What you save' stays a
CardGrid but with measured numbers instead of percentages.

Each page now exposes its raw markdown source at /<slug>.md via a
Starlight Footer override and an Astro API endpoint. The link is
base-path aware so PR previews keep working. Useful for LLM
scraping, copy-as-markdown, and humans who prefer the raw source.

Also includes light edits to architecture.md, faq.md, contributing.md,
and README.md dropping CLI-only framing.
@github-actions

github-actions Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-07-30 18:05 UTC

@BYK BYK closed this Jul 30, 2026
@BYK
BYK deleted the docs/any-binary-rebrand-v2 branch July 31, 2026 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant