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.
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.
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.
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)
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.
- 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
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.
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
- 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
- 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
- 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
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.
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.