12 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
3c0d7d96d5 refactor: move website subsites into site/ directory
Move about/, community/, landing/, newsletter/ into site/ to
declutter the repo root. Instructors stays top-level as curriculum
content alongside book/, kits/, labs/, etc.

- Create unified site-preview-dev.yml (replaces 3 individual workflows)
- Create site-publish-live.yml for live deployment of all site subsites
- Add deploy_site and deploy_instructors to publish-all-live.yml
- Update all workflow paths, _quarto.yml relative paths, and scripts
- Fix landing page skip-list to include about/community/newsletter
- Update .gitignore newsletter paths
2026-03-21 09:22:23 -04:00
github-actions[bot]
176bac269d chore: sync 1 newsletter post(s) from Buttondown [automated] 2026-03-21 06:14:59 +00:00
Vijay Janapa Reddi
05d97db43f feat(website): add About, Community pages and redesign Newsletter
New subsites:
- /about/ — Mission, Team, Contributors (auto-pulled from GitHub API),
  Adopters, Press, License sections with card-based design
- /community/ — Programs (TinyML4D, SciTinyML, Show & Tell, edX),
  Events calendar, Global Network map, Partners

Newsletter redesign:
- Buttondown API sync script (scripts/sync_newsletter.py) pulls
  published emails as .md files with auto-categorization and
  guest author detection
- Grid layout with banner images from Buttondown
- Embedded subscribe triggers shared subscribe-modal.js
- Dynamic stats (_stats.yml) updated by sync workflow
- Daily sync workflow at 6am UTC with build + deploy pipeline

Infrastructure:
- Navbar updated with anchor links (#mission, #team, #events, etc.)
- Subscribe button triggers shared modal across all subsites
- Contributors auto-update workflow generates about/contributors.json
- Deploy workflows for about/ and community/ subsites
- merge_contributors.py merges GitHub API with .all-contributorsrc
2026-03-20 14:44:49 -04:00
Vijay Janapa Reddi
301679cd4d feat(subsites): standardize layout, fonts, and navbar across all portals
- Remove hero/splash layouts from slides, instructors, newsletter
- Switch all subsites to default Quarto layout (sidebar + TOC) matching kits pattern
- Add Google Fonts (Inter + JetBrains Mono) to slides portal
- Change instructors and interviews navbar from dark to light for consistency
- Replace indigo accent with crimson in instructors SCSS to match ecosystem
- Add slide preview carousel with 7 actual Beamer slide renders across Vol I and Vol II
2026-03-20 10:58:00 -04:00
Vijay Janapa Reddi
665af60f85 refactor(site): use native Quarto metadata-files for shared navbar
Replace the generate-navbar.py script approach with direct metadata-files
references to navbar-common.yml. Quarto natively merges navbar arrays,
so site-local dropdowns defined inline in each _quarto.yml get appended
to the shared navbar automatically.

- Delete generate-navbar.py script (no longer needed)
- Delete all _navbar-generated.yml and _navbar-local.yml files
- Each subsite now references ../book/quarto/config/shared/html/navbar-common.yml
  directly via metadata-files
- Sites with local dropdowns (slides, instructors, mlsysim) define them inline
  in their _quarto.yml navbar.left — Quarto merges with the shared left items
- Zero tooling, zero generated files, zero maintenance scripts
2026-03-19 10:48:41 -04:00
Vijay Janapa Reddi
5790e2706c feat(site): centralize navbar across all subsites
Single source of truth for the navigation bar in navbar-common.yml.
New 5-dropdown structure: Read | Build | Teach | Community | About.

- Add generate-navbar.py script to merge shared + site-local dropdowns
- Add _navbar-local.yml for slides, instructors, mlsysim (site-specific menus)
- Generate _navbar-generated.yml for all 6 subsites (committed, no CI changes needed)
- Strip hardcoded navbars from all _quarto.yml configs (landing, vol1, vol2, slides,
  instructors, mlsysim, kits, labs, newsletter)
- Add community/ and about/ paths to rewrite-dev-urls.sh for dev preview

To update navbar: edit navbar-common.yml, run generate-navbar.py --all, commit.
2026-03-19 10:41:25 -04:00
Vijay Janapa Reddi
bfb9aecbeb chore: update CI workflows, Quarto configs, and landing site
Update labs preview/publish workflows. Add config entries across all
Quarto sub-sites. Update landing site index and codespell ignore list.
2026-03-18 14:53:03 -04:00
Vijay Janapa Reddi
d69de1f6f1 refactor(labs): align docs with actual architecture, remove internal files from tracking
- Update PROTOCOL.md and TEMPLATE.md to reflect the 4-5 Part tabbed
  structure (replacing stale 2-Act spec), fix duration targets to 45-55 min
- Fix Vol 2 index.qmd: correct all 16 lab link slugs, titles, and count
- Rewrite labs README from placeholder to full 33-lab inventory
- Move PROTOCOL.md and TEMPLATE.md canonical copies to .claude/docs/labs/,
  leave thin pointers in labs/
- Move internal planning docs (lab plans, review notes, audit reports,
  AI prompts, content strategy) from tracked dirs to .claude/docs/
- Add internal doc paths to .gitignore to prevent future leakage
2026-03-16 18:14:34 -04:00
Vijay Janapa Reddi
863d7d8e63 fix: rename MLSYSIM to MLSys·IM in navbar across kits and newsletter 2026-03-15 09:27:10 -04:00
Vijay Janapa Reddi
e38c7b9af8 docs(mlsysim): add SVG figures for paper and newsletter 2026-03-12 16:04:50 -04:00
Vijay Janapa Reddi
c0560a402a feat(mlsysim): add ecosystem workflows, navbar integration, and variable-driven CI
- Add mlsysim-validate-dev, mlsysim-preview-dev, and mlsysim-publish-live workflows
- Move mlsysim docs config to config/ dir with symlink (matching kits/labs pattern)
- Add MLSYSIM to ecosystem navbar across all 7 site configs
- Add mlsysim/ URL rewrite to book-preview-dev for dev site
- Replace hardcoded paths with GitHub variables in kits and labs workflows
- New repo variables: MLSYSIM_ROOT, MLSYSIM_DOCS, DEV_MLSYSIM_PATH, KITS_ROOT,
  KITS_DOCS, LABS_ROOT, LABS_DOCS
2026-03-12 16:04:49 -04:00
Vijay Janapa Reddi
aa0c690a6f feat: add newsletter system with Buttondown integration and CLI commands
Adds newsletter infrastructure: CLI commands (new, list, preview, publish,
fetch, status) integrated into binder, Quarto archive site config for
mlsysbook.ai/newsletter/, and 12-month editorial content plan. Drafts
are gitignored for private local writing; sent newsletters are committed
as the public archive.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:22:52 -05:00