pnpm install
pnpm start
Push to the default branch, the website will be deployed automatically by the Deploy workflow.
Docusaurus builds one locale after another, and this site has 13 of them, so the
workflow builds each locale in its own job instead. The translations are
downloaded from Crowdin once, by a job of its own that shares them with the
rest, and each locale job runs docusaurus build --locale <locale>. That
download is reused for an hour, because Crowdin rate limits how often it will
export a project and the default branch is deployed more often than that. The
resulting trees are stitched back together by scripts/assemble-site.mjs and
shipped to Vercel with vercel deploy --prebuilt, as a single deployment.
Because of that, Vercel's own git integration is turned off (see
git.deploymentEnabled in vercel.json) and the workflow needs
these secrets in the deploy environment: VERCEL_TOKEN, VERCEL_ORG_ID,
VERCEL_PROJECT_ID, and CROWDIN_PERSONAL_TOKEN.
Pull requests get an English-only build test rather than a preview deployment: deploying from a pull request would mean handing the credentials of the live site to the code being reviewed. To see a change served, start the Deploy workflow by hand with the "Publish on pnpm.io" box unticked, which returns a preview URL instead of publishing.
The locales are listed in locales.json, together with the name Crowdin uses for each of them. Adding a locale there adds a build job for it.
If changes should be done to the search index, submit the changes here to the docsearch-configs repository.