diff --git a/apps/website/scripts/README.md b/apps/website/scripts/README.md new file mode 100644 index 00000000000..3420245b118 --- /dev/null +++ b/apps/website/scripts/README.md @@ -0,0 +1,83 @@ +# Website Scripts + +## `refresh-ashby-snapshot.ts` + +Pulls the latest job postings from Ashby and writes +`src/data/ashby-roles.snapshot.json`. Invoked by the `Release: Website` +GitHub Actions workflow; also runnable locally via +`pnpm --filter @comfyorg/website ashby:refresh-snapshot`. + +## `process-videos.sh` + +Generates multi-resolution VP9/WebM + H.264/MP4 variants and a poster +frame for marketing videos using `ffmpeg`. Run **locally** before +uploading the outputs to `media.comfy.org`; this is not wired into CI. + +```sh +apps/website/scripts/process-videos.sh \ + ./video-sources \ + ./dist/videos \ + "640 960 1280 1920" +``` + +### Output + +For each source video at `./video-sources/foo.mp4`, you get: + +```text +foo-640.webm foo-640.mp4 +foo-960.webm foo-960.mp4 +foo-1280.webm foo-1280.mp4 +foo-1920.webm foo-1920.mp4 +foo-poster.jpg +``` + +The naming convention is enforced by `buildVideoSources()` in +`src/utils/video.ts`, which the `` Vue component uses to +emit `` URLs. + +### Pairing with `` + +Once the assets are uploaded, render them with: + +```vue + +``` + +### `` vs `` + +- **`SiteVideo`** — lightweight multi-source `