Static single-page launch site for /brag. Plain HTML/CSS/JS, no framework, no build step. This folder is the GitHub Pages deploy root.
python3 -m http.server 8000
open http://localhost:8000node ../scripts/check-docs.mjsThis verifies local docs links and media paths.
Fully self-contained — no build step. In the repo's Settings → Pages, set the source to Deploy from a branch, branch main, folder /docs.
The gallery videos ship committed, in two sets. The /brag-slim set is examples/horse-tinder/, examples/fish-flight-school/ and examples/taxi-for-taxis/; the /brag --full set is examples/full/<slug>/, which keeps the original version of each site next to the video made from it. Each demo includes its brag.mp4, a brag.jpg poster, and a site.jpg thumbnail. Heavy composition sources (brag-output-*/) are git-ignored.
-
Render the brag video and place
brag.mp4,brag.jpg(poster), andsite.jpg(thumbnail) underexamples/<slug>/, next to the demo'sindex.htmlandstyles.css. Pickbrag.jpgas the best frame, not an arbitrary one — grab the video's strongest settled beat (the hook line, or the hero/logo reveal) full-res with ffmpeg, then bake it as the video's frame 0 so idle thumbnails everywhere show it:# extract the best settled beat as the poster ffmpeg -ss 3.2 -i docs/examples/<slug>/brag.mp4 -frames:v 1 -q:v 2 docs/examples/<slug>/brag.jpg # replace only frame 0 with the poster (same duration, frames, and audio) cd docs/examples/<slug> ffmpeg -y -i brag.mp4 -i brag.jpg \ -filter_complex "[0:v][1:v]overlay=0:0:enable='eq(n,0)'[v]" \ -map "[v]" -map "0:a?" -c:v libx264 -crf 18 -preset slow -pix_fmt yuv420p \ -c:a copy -movflags +faststart brag.poster.mp4 && mv brag.poster.mp4 brag.mp4
-
Add a card in
index.htmlpointing at those paths. -
Un-ignore the slug in
.gitignoreand commit the assets.