docs(website): rebrand homepage around 'any binary' + raw .md endpoint - #35
Closed
BYK wants to merge 2 commits into
Closed
docs(website): rebrand homepage around 'any binary' + raw .md endpoint#35BYK wants to merge 2 commits into
BYK wants to merge 2 commits into
Conversation
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.
Contributor
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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)Reproducible benchmark (
bench/sentry-cli-bench.mjs)Iterates 8 adjacent
getsentry/clirelease pairs by default, downloads the real upstream.gz+.patchartifacts, applies the published TRDIFF10 patch throughapplyPatchChainInMemory, and SHA-256-verifies each reconstructed binary. Per-pair + aggregate (median, mean, min, max) stats emitted as JSON for graph generation. SetFROM/TOenv vars for single-pair mode.Raw markdown endpoint (
website/src/pages/[...slug].md.ts)Each page now exposes its raw markdown source at
/<slug>.mdvia an Astro API endpoint. Useful for:"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 buildclean (both default andDOCS_BASE_PATH=/_preview/pr-<n>/)hyperlink --sources src/content/docs dist-> 0 broken links across 1002 links from 123 filesnpm run typecheck+npm run testgreen (57 tests pass).mdendpoints return raw source withContent-Type: text/markdown/,/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