17 Commits

Author SHA1 Message Date
Farhan Asghar
4c23996839 fix(slides): readable inventory tables on landing page in dark mode (#1641)
The .inv-table cells on slides/index.qmd hardcoded light-mode colors,
leaving the What's Included and Related Resources rows with text that
disappears on the dark background. Added dark-mode overrides for
column text, row hover, and last-column action links.
2026-05-04 07:54:14 -04:00
Vijay Janapa Reddi
1471546113 fix(quarto-sites): harden dark-mode sidebar across 7 sites
Extends PR #1633's instructors fix to the rest of the Quarto ecosystem.
Quarto renders floating sidebars with `<a class="sidebar-link">` and
`<a class="sidebar-item-toggle">` directly (not nested inside an
`.sidebar-item a` wrapper), so the legacy selector missed all real DOM
nodes.

Sites updated:
* slides, interviews, tinytorch/quarto, mlsysim/docs: full hardening
  (toggle, leaf-link, active-state, search input, TOC rail).
* labs, kits, book/quarto: added missing search-input theming
  (core sidebar and TOC fix already present from earlier work).

Each site's accent color is preserved: indigo for instructors and
interviews, pink for slides, amber for tinytorch, cyan for mlsysim,
teal for kits and labs, crimson for book.
2026-05-03 08:29:15 -04:00
Vijay Janapa Reddi
6a21714a18 feat(slides): add dark mode support to match ecosystem navbar
Add dark-mode.scss and enable dark theme in _quarto.yml so the slides
portal has the same dark mode toggle as all other Quarto sites.
Uses brightened Deep Rose (#F472B6) accent for dark backgrounds.
2026-04-18 09:50:59 -04:00
Vijay Janapa Reddi
eec7e47929 refactor(styles): unify mobile responsive rules via shared/_mobile.scss
Replace duplicated navbar/mobile responsive rules in satellite sites
(instructors, kits, labs, mlsysim, slides) with a single import of
shared/styles/partials/_mobile.scss. Removes ~169 lines of copy-pasted
CSS that would drift out of sync when the shared partial is updated.

- instructors: remove rogue desktop padding, add _mobile import
- kits: remove ~50 lines of duplicated mobile rules, add _mobile import
- labs: remove ~55 lines of duplicated mobile rules, add _mobile import
- mlsysim: remove ~55 lines of duplicated mobile rules, add _mobile import
- slides: add _mobile import (had no mobile rules before)
2026-04-17 16:19:18 -04:00
Vijay Janapa Reddi
dbb146240a refactor(styles): unify all subsite navbars via shared/_navbar.scss
Every subsite now sets $accent to its brand color and imports
shared/styles/partials/_navbar.scss instead of duplicating the
~40-line navbar block locally. Single source of truth for link
color, hover/active states, brand image height, icon-collapse
media query, and color-scheme toggle.

Drift fix: before this, instructors had font-size: 0.9rem +
weight 500 (making navbar look smaller than peer sites) and
slides had no navbar CSS at all (fell back to Bootstrap defaults).
Both now match the ecosystem.

Also renames $accent in labs/style.scss (previously hot pink
#e94560, used only by .coming-badge) to $coming-badge-pink to
free $accent for the ecosystem convention.

Net: -168 lines of duplicated SCSS across 6 files.
2026-04-17 10:14:06 -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
7d713a6028 feat(slides): add gray backup slide styling to Beamer theme
Add \mlsysbackup command to beamerthememlsys.sty that provides:
- Gray header bar (same size as crimson) with "Volume | Chapter | Backup"
- Gray section divider page matching the regular section page style
- Gray underline on frame titles instead of crimson
- Footer with "Backup" label appended

Update 01_introduction.tex to use the new command and drop redundant
"Backup:" prefix from frame titles.
2026-03-18 14:22:42 -04:00
Vijay Janapa Reddi
e4b4d2ede2 feat(slides): deep rose theme, fixed links, PDF build + release workflow
Portal site improvements:
- Deep Rose (#BE185D) accent color — distinct from all ecosystem sites
- Layout matches instructors site pattern (dark hero band, inventory tables)
- All PDF links point to GitHub Releases (not placeholder #)
- Source links point to dev branch (not main)
- Fixed teaching guide section anchors
- Added shared logo and SCSS following ecosystem pattern

CI/CD workflows:
- slides-build-pdfs.yml: Compiles all 35 decks with xelatex + inkscape
  Uploads PDFs as workflow artifacts (30-day retention)
- slides-publish-live.yml: Builds PDFs, creates GitHub Release with
  zip archives (All/Vol1/Vol2) + individual chapter PDFs, deploys portal
- slides-validate-dev.yml: SVG XML check, LaTeX syntax, Quarto build
- slides-preview-dev.yml: Portal preview deployment on dev push
2026-03-16 16:08:31 -04:00
Vijay Janapa Reddi
31ec8051c9 fix(slides): fix overflows, add make check, improve header and margins
- Fix 5 overflowing slides (down from 8 to 3, all under 6pt)
- Add make check: builds all chapters, fails if overflow > 10pt
- Increase SVG-to-PDF DPI to 300 for crisp text
- Frame margins 0.5cm via setbeamersize
- Strut-based header centering without smoothbars
2026-03-16 16:08:31 -04:00
Vijay Janapa Reddi
f5c5769a70 fix(slides): add frame margins and fix header centering
- Set text margin left/right to 0.6cm so content doesn't sit flush
  against slide edges (fixes text clipping on right side)
- Clean section nav: strut-based centering, no mini frame dots
- Drop smoothbars outer theme that caused rendering issues
2026-03-16 16:08:31 -04:00
Vijay Janapa Reddi
fe19030d41 style(vol2): automatically fix text overlapping with lines/arrows across all SVGs 2026-03-16 16:08:31 -04:00
Vijay Janapa Reddi
a2000fea41 style(vol2): manually fix overlapping text and overly thick arrows in diagrams 2026-03-16 16:08:31 -04:00
Vijay Janapa Reddi
69556d76c6 style(vol2): standardize all 220 SVGs to textbook style guide
- Enforced 680x460 viewBox and white background
- Mapped 90+ non-standard colors to semantic palette
- Scaled down oversized fonts to 12px max (except titles/symbols)
- Standardized border radii to rx=4
- Injected missing standard arrow markers
- Auto-centered text and snapped orthogonal lines
2026-03-16 16:08:30 -04:00
Vijay Janapa Reddi
f576017d66 fix(slides): center section names in header bar, keep crimson theme only
Adjust ht/dp ratio and add raisebox to vertically center section
navigation text within the crimson header band. Previously text sat
closer to the bottom edge.
2026-03-16 16:08:30 -04:00
Vijay Janapa Reddi
bb511533f0 feat(slides): add Harvard SEAS logos (full lockup + shield)
- logo-harvard.png: full horizontal lockup with text (for title slides)
- logo-seas-shield.png: shield only (for footer/corner placement)
2026-03-16 16:08:30 -04:00
Vijay Janapa Reddi
9137e7a8af fix(slides): center section names in header bar, keep crimson theme only
- Add vertical centering to headline beamercolorbox (center option)
- Increase header bar height for better breathing room (3.0ex+1.0ex)
- Remove midnight, minimal, nature variant themes (keeping crimson only)
2026-03-16 16:08:30 -04:00
Vijay Janapa Reddi
f1b4c02892 feat(slides): add slide infrastructure and Ch1 gold standard deck
Slide system for the ML Systems textbook:
- Beamer theme with crimson accents, branded footer, numbered section pages
- 3 variant themes: midnight (dark), minimal (clean), nature (earth tones)
- Ch1 Introduction gold standard deck (31 frames, 14 SVG diagrams)
- Self-contained chapter structure: all images in <chapter>/images/

Also fixes broken YAML in interviews-welcome workflow.
2026-03-16 16:08:30 -04:00