Skip to content

Conversation

@jeremymanning
Copy link
Member

Summary

  • News feed with Bluesky integration (Issue updates to the news feed #9): Added a spreadsheet-driven news feed that can display both manual entries and embedded Bluesky posts
  • CV trainee sync (Issue sync mentored trainees lists from CV to people.xlsx #10): Scripts to synchronize mentored trainees between JRM_CV.tex and people.xlsx
  • People page improvements: Sorted members by role/join date, added hand-drawn borders to profile photos, placeholder image for members without photos
  • Mobile fixes: Fixed jump-link text wrapping on people/publications pages

Changes

News Feed (Issue #9)

  • New data/news.xlsx spreadsheet for news entries
  • scripts/build_news.py to generate news.html from spreadsheet
  • js/bluesky-feed.js for embedding Bluesky posts
  • templates/news.html template

CV Sync (Issue #10)

  • scripts/sync_cv_people.py to sync trainees between CV and spreadsheet
  • scripts/parse_cv_trainees.py for parsing CV trainee entries

People Page

  • Members sorted by role (grad students first) then by join date
  • Hand-drawn borders added to new profile photos
  • build_people.py uses placeholder.png for members without images
  • Converted HEIC/JPEG photos to PNG format

Bug Fixes

  • Fixed mobile reflow for jump links (white-space wrapping)

Test plan

  • Verify news.html displays correctly with news entries
  • Verify Bluesky embeds load properly
  • Verify people.html shows correct member ordering
  • Verify placeholder images appear for members without photos
  • Test mobile view for jump-link wrapping

🤖 Generated with Claude Code

jeremymanning and others added 8 commits December 17, 2025 22:57
- Convert news page to spreadsheet-based generation (data/news.xlsx)
- Add build_news.py script for generating news.html from template
- Integrate Bluesky feed showing @contextlab.bsky.social posts
- Add two-column layout: news (2/3) and scrollable Bluesky feed (1/3)
- Add 4 new news items (Claudia joining, Scientific American, tenure, NSF CAREER)
- Update people.xlsx with new lab member (Claudia Gonciulea)
- Add 16 tests for news build functionality
- Update CI workflow to include news in auto-build

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Created scripts/parse_cv_trainees.py to parse mentorship section from CV
- Created scripts/sync_cv_people.py for CV-to-spreadsheet synchronization
- Created scripts/fix_members.py to update members based on current roster
- Updated CV with new members and end dates for alumni
- Updated people.xlsx with 27 active members (3 grad, 24 undergrad)
- Regenerated people.html from updated spreadsheet

New active members added:
- Claudia Gonciulea (grad student)
- Aidan Miller, Alishba Tahir, Azaire Andre, Ellie Mattox, Emmy Thornton,
  Evan McDermid, Jackson C. Sandrich, Luca Gandrud, Will Lehman (undergrads)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The jump links at the top of people.html and publications.html were
getting cut off on mobile due to white-space: nowrap. Added mobile
override to allow wrapping with proper line-height.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Sort members sheet by role (grad students first) then join date
- Add hand-drawn borders to profile photos: ben_hanson, ellie_mattox,
  andrew_richardson, claudia_gonciulea, placeholder
- Convert HEIC/JPEG photos to PNG format
- Update build_people.py to use placeholder.png for members without images
- Regenerate people.html with sorted members and placeholder defaults

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@jeremymanning jeremymanning merged commit cf21c48 into main Dec 19, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants