This website is built using Docusaurus, a modern static website generator.
$ yarn
$ yarn start
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
$ yarn build
This command generates static content into the build directory and can be
served using any static contents hosting service.
Using SSH:
$ USE_SSH=true yarn deploy
Not using SSH:
$ GIT_USER=<Your GitHub username> yarn deploy
If you are using GitHub pages for hosting, this command is a convenient way to
build the website and push to the gh-pages branch.
This project uses Docusaurus + TypeScript. A few useful developer commands:
- Install dependencies
yarn install --inline-builds- Run local dev server
yarn start- Build static site
yarn build- Run TypeScript typecheck
yarn typecheckIf you see errors like "'Link' cannot be used as a JSX component" or other
errors that reference node_modules/.../@types/react, this usually means there
are multiple copies or incompatible versions of @types/react in the dependency
tree.
How to fix (what we applied in this repo):
- Ensure top-level
package.jsonuses React 18 and matching@types/react. - Use Yarn overrides to pin a single version across the tree (already in this repo):
"overrides": {
"react": "18.3.1",
"react-dom": "18.3.1",
"@types/react": "18.3.24"
}- Reinstall dependencies to hoist the chosen versions:
rm -rf node_modules .yarn/cache
yarn install --inline-builds- If you still see nested
@types/reactin some package, you can:
- temporarily set
skipLibCheck: trueintsconfig.json(done here) to avoid noise from library types; - or use
patch-packageto remove or align nested type packages; - or contact the dependency maintainer if they ship incompatible embedded type definitions.
Notes in this repo:
tsconfig.jsoncontainsskipLibCheck: trueand@site/*path mapping to make local imports resolve correctly for Docusaurus.- We keep React at v18 + matching @types; avoid upgrading to React 19 unless all major deps (Docusaurus and others) support it.