diff --git a/.gitleaksignore b/.gitleaksignore index 8f0adb1b..7636c6d4 100644 --- a/.gitleaksignore +++ b/.gitleaksignore @@ -1,2 +1,4 @@ 0e7070138c71b77563f40ed5835535bae02e6f0d:scripts/test-render.mjs:generic-api-key:400 7e52c8555c74565850efe78d41ad4a8fd676cdbf:scripts/test-render.mjs:generic-api-key:406 +52451f6cd78a942408602b8c1ca67eb85ba74eea:scripts/test-vm-identity.mjs:generic-api-key:505 +52451f6cd78a942408602b8c1ca67eb85ba74eea:scripts/test-vm-identity.mjs:generic-api-key:510 diff --git a/site/README.md b/site/README.md index 37c0ef1f..eb182f42 100644 --- a/site/README.md +++ b/site/README.md @@ -6,11 +6,11 @@ The marketing page for Bops: plain HTML and CSS (no build step), from the Paper python3 -m http.server 4321 --directory site # then open http://localhost:4321 ``` -- `index.html`: the page. Mascots and icons are SVG symbols defined once at the top. +- `index.html`: the page. Mascots and icons are SVG symbols defined once at the top. Boppy is drawn as the app icon draws it; the hero's and the badge's Boppy are their own copies, so their eyes (and the hero's mouth) can move. - `styles.css`: everything visual. Colors are the app's: ink `#0A0A0A`, highlighter `#E9FF3B`, paper white. - `main.js`: the illustrated scenes (hero cards, badge, thread) keep their designed size and scale down to fit smaller screens. Below 1180 px the fit is content-aware (it crops a scene's empty margins, so the scene draws larger), and on phones `styles.css` recomposes the hero and the thread into a narrower layout of the same parts. From 1180 px up the page renders exactly as before. - `lanyard.js`: the badge in "Hire a bot" drops onto its lanyard (with a little wind) the first time it scrolls into view, then swings when you hover, drag or tap it (a few springs and a CSS 3D transform). At rest, with reduced motion or without JavaScript it is exactly the static design. -- `notes.js`: music notes drift out of the hero Boppy's headphones; clicking or tapping it makes a burst of them. Off with reduced motion. +- `notes.js`: music notes drift out of the hero Boppy's headphones; clicking or tapping it makes a burst of them. It sings along (its mouth, a flat line as it listens, opens with the notes), its eyes follow the pointer and blink, and it squints happily in a burst. Off with reduced motion. - `download.js`: the three Download for Mac buttons go to `/download/Bops.dmg`. On a Mac they open Get First Access first: leave an email (it goes to PostHog) or skip, and either way the download starts and the card says so. At the card's foot, What's new in the newest release: its version and lines from `/download/latest.json` (written with each release by Orgo's `scripts/download-publish.sh`, in its private OrgoAI/bops-secrets), left out when that can't be read. Anywhere else (iPhone, iPad, Android, Windows, Linux) they open a short note to get Bops on a Mac instead, with Send to my Mac (the share sheet, so AirDrop or Messages) and Copy link. An Intel Mac in Chrome gets the note's Apple silicon version. Without JS the buttons simply download. Test it with `node scripts/test-site.mjs`. - Pricing (`#pricing`, linked from the nav): Free, Pro and Max in exactly the app's words (`PLAN_CARDS` in `lib/plan-includes.ts`, which the app's Settings shows); `scripts/test-site.mjs` fails when the two differ. Change the plans there and here together. - PostHog: the snippet in `index.html` sends to Orgo's production project, with `site: bops.bot` on every event. The card's events are `bops_download_click` (with which button: nav, hero or footer), `bops_download_email` (and an identify by the email), `bops_download_skip_email` and `bops_download_note` (the non-Mac or Intel note). Every call is guarded, so a blocker can't break the buttons. diff --git a/site/apple-touch-icon.png b/site/apple-touch-icon.png index 5acf70a1..8d9b2f61 100644 Binary files a/site/apple-touch-icon.png and b/site/apple-touch-icon.png differ diff --git a/site/boppy.svg b/site/boppy.svg index d58953c4..703c4ce1 100644 --- a/site/boppy.svg +++ b/site/boppy.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/site/download.js b/site/download.js index 408c769a..28232bbe 100644 --- a/site/download.js +++ b/site/download.js @@ -36,7 +36,7 @@ }; const CLOSE = ''; - const DISC = ''; + const DISC = ''; const canShare = typeof navigator.share === "function"; let note, title, body, share, copy, anyway, status, opener, copyTimer; let access, ask, form, email, error, done, doneTitle, from; diff --git a/site/index.html b/site/index.html index 80975ba6..cc3ee795 100644 --- a/site/index.html +++ b/site/index.html @@ -14,17 +14,17 @@ - + - + - +
- +