Skip to content

Publish the website from apps/landing, with captures made by the showcase - #15

Merged
nicksan222 merged 12 commits into
mainfrom
landing-site
Oct 4, 2026
Merged

nicksan222 merged 12 commits into
mainfrom
landing-site

Conversation

@nicksan222

@nicksan222 nicksan222 commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

What and why

Website: https://nicksan222.github.io/study/ (Italian: https://nicksan222.github.io/study/it/)

Publishes Study's website from apps/landing (Astro on Bun, GitHub Pages under /study/), with every capture of the app made by the showcase rather than by hand.

  • Captures maintain themselves. study-showcase now makes the docs' stills and clips as well as the demo GIF, on its private desktop from the seeded sample. None is committed: the new Landing workflow makes them all on every push to main, and just landing makes any that are missing. A test fails if the site names a capture that is not a scene, or a scene is never shown; a production build fails if a capture is missing for any language or theme.
  • Brand assets are built, not stored. The social card (per language), favicon and Apple touch icon are drawn at build time from the logo masters and a real capture. The site reads fonts and icons from study-ui/assets, so nothing is copied.
  • Checks. just check and CI now type-check the website (just landing-check, a new parallel site job that Test and build waits for). Docs pages must exist in both languages.
  • The app. Shows Study's logo; Activity lists jobs waiting for setup under Queued.
  • Repository. Desktop packaging moves under apps/desktop; the old Demo workflow and the committed assets/demo.gif go, and the README shows the GIF from the site. A "site" role joins the agent team, limited to scenes for captures.

Note: the website's house icon is now the app's filled glyph. The README's demo GIF resolves once the first Landing deploy runs.

Checklist

  • just check passes.
  • Any new visible text is in study-localization, in English and Italian.
  • For a change to the interface, a screenshot is below. (The site's captures are made on deploy; just landing serves them locally.)

The installer configuration, plists, icon and release script belong to
the desktop app, beside its code. release.sh still runs from the
repository root, where Cargo and dist/ live.
The highlighter tile with the open book replaces the "S" placeholder in the
welcome tour and leads both title bars. The masters live in assets/logo;
the app rasterises them in colour at the device pixels they cover, the
simplified mark under 40 design pixels. A test keeps the installers' icon
equal to the full mark and writes the new one when the mark changes.
Waiting jobs matched no filter but All. A test now checks that every job
status falls in exactly one group.
`just docs-media` plays scripted scenes on the showcase's private desktop
in each language and theme: lossless WebP stills taken once the screen
settles, and short MP4 clips with a poster. The desktop now takes a
screen size and scale (the GIF's 1080p, the docs' 1440x900 at 2x), the
tour can drag, and readiness checks look for contrast so they work in
light and dark. `missing` makes only the scenes with a file missing, so a
fresh checkout captures everything and a warm one nothing. The demo GIF
moves to the website's public folder.
An Astro site on Bun, published to GitHub Pages under /study: the landing
page and one docs page per feature, in English and Italian. Nothing on it
is drawn by hand. Its captures of the app are the showcase's scenes, made
on every deploy and never committed; the favicon, home-screen icon and
link previews are drawn at build time from the logo masters, the app's
fonts and a capture of a session; the fonts and icons are study-ui's own
files.

A published build shows only the exact capture for a page's language and
theme, so one that failed to be made fails the deploy. A test in
study-showcase checks that every capture the site names is a scene of the
right kind, and that every scene is shown. `just check` and CI type-check
the site with `astro check`.

The README's demo GIF moves to the site, so the Demo workflow and the
committed GIF go.
The lead starts it in the shared optional slot when a delivered change or a release alters what the website says or shows. It changes the site and the docs' scenes, never a capture by hand, keeps English and Italian equal and invents no claims.
Without script the passage's highlights are plain words and the four pieces show one after another, so they no longer claim to be buttons and tab panels that do nothing. The scripts that make them work now give them those roles.
The sidebar's sections are declared once, beside the schema that checks them, and the build fails when a docs page exists in only one language, naming the file to add.
The three image sizes hints were numbers worked out by hand from each crop and the panel's
columns, so a new crop meant redoing them. Learn now derives them from the crop boxes and the
panel's width, giving the same values.
Three landing sections defined or inlined their own copy of anchor.ts's relayout. They now
import it; only Download's inline script, which cannot import, still dispatches the event.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 4, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-04T19:03:55.998564Z 55fd626 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@nicksan222
nicksan222 merged commit 008d3fb into main Oct 4, 2026
5 checks passed
@nicksan222
nicksan222 deleted the landing-site branch October 4, 2026 19:02
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