GitHub pull requests are the normal way to update the website. Avoid pushing directly to main unless you are explicitly doing a maintainer release.
git switch main
git pull
git switch -c update-my-profile
git branch --show-current # should not print "main"Use a short branch name that describes the change:
update-jainta-profile
add-smartsp-news
add-new-publication
refresh-project-images
Use the relevant section doc:
- update profiles
- update research
- update news
- update publications
- update courses and lab info
- assets and media
Preview locally with:
npm run devnpm run lint
npm run lint:links
npx tsx scripts/validate-themes.ts
npm run buildIf your change only edits docs, npm run build is still useful but less critical. For site content changes, run it.
git status
git diffMake sure the diff contains only intended changes.
Do not include:
.DS_Store- local screenshots unless they are meant to become site assets
- private notes
- raw full-size images that are not used by the site
- secrets or credentials
Stage only the files you intentionally changed:
git add src/data/profiles/my_id.json public/images/team/my-photo.jpg
git commit -m "Update My Name profile"Good commit messages:
Update Sayom profile
Add SmartSP 2025 publication
Add KPCW interview news story
Refresh research theme images
git push -u origin update-my-profileOpen a pull request on GitHub.
In the PR description, include:
- What changed
- Which page(s) to review
- Whether you ran
npm run build - Any open questions
Before requesting review:
- The page renders locally.
- JSON is valid.
- Images load.
- Links go where expected.
- Text is factual and public-safe.
npm run buildpasses for content or code changes.
GitHub Pages deploys from main. See deployment.md for the deployment flow.