Content Updates

This site now has a single content sync pipeline so the timeline, stream, personal page, and related generated data stay aligned.

Source of truth

Do not manually edit these generated files unless you have a very specific reason:

Update locally

Fetch external sources and rebuild everything:

python3 scripts/sync_site_data.py

Rebuild only derived files from the current local data:

python3 scripts/sync_site_data.py --skip-fetch

What gets rebuilt

GitHub Actions

Typical update flow

  1. Edit the source files you actually own, such as _posts/, _data/career.yml, publications/index.markdown, or the manual data YAML files.
  2. Run python3 scripts/sync_site_data.py --skip-fetch if you only changed local source files.
  3. Run python3 scripts/sync_site_data.py if you want fresh external data too.
  4. Review the generated diffs, especially _data/timeline.json.
  5. Commit the source changes and the regenerated data together.