Commit Graph

39 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
e5b3902e3f refactor(infra): deploy book to /book/, remove Netlify, use Cloudflare
- Deploy textbook to /book/ subdirectory instead of root
- Remove Netlify config (netlify.toml, _redirects files)
- Remove Netlify badges from footer, index, and acknowledgements
- Add root index.html redirect to /book/ as fallback
- Simplify deployment (no more tinytorch/kits preservation needed)
- Update 404.qmd with correct paths
- Each subsite now deploys to its own directory:
  /book/ (textbook), /kits/ (hardware), /tinytorch/ (framework)
2026-01-06 11:02:13 -05:00
Vijay Janapa Reddi
2f9bde47ea cleanup: remove macOS metadata files from kits
Remove 23 accidentally committed ._*xref.json files that are
macOS resource fork metadata. These files serve no purpose in
the repository and clutter the codebase.
2026-01-04 07:21:37 -05:00
Vijay Janapa Reddi
63a7984c87 feat(kits): add dev preview announcement banner 2025-12-30 22:29:23 -05:00
Vijay Janapa Reddi
9b4888f0ea feat: ecosystem consistency improvements
- Add custom 404 pages for Kits, Collabs, and TinyTorch
- Update OG images to use high-res book cover (1200x630px)
- Add PWA support with site.webmanifest and apple-touch-icon
- Enable TOC for Collabs (was disabled)
- Move subscribe-modal.js to _brand as shared asset
- Add theme-color meta tags matching project accent colors
2025-12-30 22:23:09 -05:00
Vijay Janapa Reddi
fddbca7e2f Add Open Graph and Twitter Card metadata to all Quarto sites
- Book: site-url, description, og:image with cover art
- Kits: site-url, description, og:image with favicon
- Collabs: site-url, description, og:image with favicon

Enables proper social media previews when sharing links on
LinkedIn, Twitter, Facebook, Discord, Slack, etc.
2025-12-30 22:00:11 -05:00
Vijay Janapa Reddi
fc971d47d3 Unify navbar, fonts, and styles across book, kits, and collabs
- Add Google Fonts loading (Inter, JetBrains Mono) to all projects
- Align typography and navbar styling across ecosystem
- Update _brand/base.scss as canonical reference for shared styles
- Update _brand/tokens.scss to match book crimson accent
- Add consistent mobile responsive styles to collabs
- Document architecture for maintaining style consistency
2025-12-30 21:41:48 -05:00
Vijay Janapa Reddi
22ae3d92a9 docs: reframe README as AI engineering discipline flagship
- Add punch line and mission statement establishing AI engineering
- Rename "About This Project" to "About the Ecosystem"
- Update Learning Stack diagram with systems-focused descriptions
- Move "Start Here" earlier for immediate action orientation
- Add Research to Teaching Loop section under What Makes This Different
- Expand Support section with mission tracking and impact explanation
- Update book/README.md with detailed learning content
- Update kits/README.md with consistent template structure
- Fix all kits links to use mlsysbook.ai/kits
- Change voice from "I" to "we" throughout
2025-12-29 23:53:05 -05:00
Vijay Janapa Reddi
21f444d45e fix: add favicon config to Kits and Co-Labs html configs 2025-12-29 22:27:06 -05:00
Vijay Janapa Reddi
cba96cbd29 style: ensure subscribe button matches other navbar icons across all projects 2025-12-28 20:37:01 -05:00
Vijay Janapa Reddi
2cd085b22e style: add consistent dark/light mode toggle icons to kits and collabs 2025-12-28 20:22:22 -05:00
Vijay Janapa Reddi
91ebd7b7ed feat: add Co-Labs placeholder infrastructure
- Add collabs/ directory with Quarto project configuration
- Create landing page with "Coming 2026" placeholder content
- Add CI/CD workflow for dev deployment (collabs-publish-dev.yml)
- Update navbar in book and kits to link to /collabs/
- Add .gitignore to exclude tex build artifacts from book
2025-12-28 15:21:51 -05:00
Vijay Janapa Reddi
d4edaea714 style: unify subscribe modal branding and use relative navbar links
- Update all subscribe modals to show just "MLSysBook" branding
- Change navbar project links to relative paths for dev site compatibility
- Update book, kits, and tinytorch configs consistently
2025-12-28 15:04:02 -05:00
Vijay Janapa Reddi
8b93b586d7 refactor(kits): update CI/CD workflows and add README
- Change workflow icon to 📦 (package)
- Update dev workflow to deploy via SSH to dev repo
- Use DEV_KITS_PATH variable for consistency
- Add README.md with quick start and directory structure
2025-12-28 14:01:08 -05:00
Vijay Janapa Reddi
849c69a8a9 feat(ci): add PDF build and publish workflow for Hardware Kits
- Create kits-build-pdfs.yml using Docker container with TeX Live
- Update kits-publish-dev.yml to build PDF and deploy with site
- Update kits-publish-live.yml to build PDF and deploy with site
- Add Downloads menu to navbar with Hardware Kits PDF link
- Add _redirects for /kits/pdf shortcut
2025-12-28 13:38:47 -05:00
Vijay Janapa Reddi
0492ebaaac feat(kits): add custom TikZ cover page with circuit board design
- Create custom LaTeX cover page using labdivision-style circuit decorations
- Use teal brand color with traces, nodes, and subtle geometric background
- Display HARDWARE/KITS title on two lines with authors and companion text
- Remove titlepage extension config in favor of custom LaTeX implementation
- Add titlepage-bg.tex for potential future background customization
2025-12-28 13:25:55 -05:00
Vijay Janapa Reddi
959c6cbedf style: redesign Kits PDF cover per MIT Press guidance
- Remove background image (was too similar to main textbook)
- Use teal (#0d9488) solid color cover with white text
- Update author attribution: 'Marcelo Rovai, with Vijay Janapa Reddi'
- Add 'A Companion to Introduction to Machine Learning Systems' tagline
- Creates distinct visual identity while maintaining series connection
2025-12-28 12:10:39 -05:00
Vijay Janapa Reddi
6a1e477510 fix: use Arabic page numbers throughout Kits PDF
- Remove Roman numeral frontmatter/mainmatter switching
- Set Arabic page numbering in before-body-includes.tex
- Simplify chapter command to just reset footnote counter
- All pages now use regular numbers (1, 2, 3...) not (i, ii, iii...)
2025-12-28 12:06:02 -05:00
Vijay Janapa Reddi
c9d0daf8d7 feat: add cover background image to Kits PDF
- Copy cover-image-transparent.png from book
- Add coverpage-bg-image and bg-image positioning config
- Add coverpage-author array for proper cover formatting
- Creates visual consistency with main textbook
2025-12-28 11:28:32 -05:00
Vijay Janapa Reddi
46aa5281da fix: add titlepage-pdf format check to inject_parts filter
The filter was only checking for 'pdf' format but we render with
'--to titlepage-pdf', so the filter wasn't activating
2025-12-28 11:25:41 -05:00
Vijay Janapa Reddi
920b1a418b fix: correct PDF config for part filter and author formatting
- Fix filter-metadata format for inject_parts.lua (nested under filter-metadata.part-summaries)
- Change author to array format for proper newline separation
- Update titlepage elements with separate author lines
2025-12-28 11:24:15 -05:00
Vijay Janapa Reddi
8327c98696 feat: add subscribe popup modal to Kits site
- Copy subscribe-modal.js from book
- Update navbar Subscribe link to use local #subscribe
- Add script include to HTML format config
- Modal now opens in-place instead of redirecting to mlsysbook.ai
2025-12-28 11:21:54 -05:00
Vijay Janapa Reddi
f87c88f699 refactor: switch from profiles to symlink config approach for PDF builds
- Move _quarto.yml to config/_quarto-html.yml
- Move profile PDF config to config/_quarto-pdf.yml
- Create symlink _quarto.yml -> config/_quarto-html.yml
- Update Makefile to switch configs via symlink (matches book approach)
- This fixes the per-file PDF rendering issue caused by profile merging
2025-12-28 11:17:30 -05:00
Vijay Janapa Reddi
4509f1142a fix: correct PDF build command for unified book output
- Use 'quarto render --profile pdf' instead of '--to titlepage-pdf'
- Rename format from titlepage-pdf to pdf (extension adds titlepage filters)
- Profile approach works correctly with book project type
2025-12-28 11:10:23 -05:00
Vijay Janapa Reddi
3b10cb2b18 style: update Kits PDF cover to match book's title structure
Cover now reads 'Hands-On Labs for Machine Learning Systems' mirroring
the book's 'Introduction to Machine Learning Systems' format
2025-12-28 11:05:12 -05:00
Vijay Janapa Reddi
5bdec81783 refactor: simplify PDF profile to use only titlepage-pdf format
- Remove redundant standard PDF format from profile
- Update Makefile to use 'quarto render --to titlepage-pdf --profile pdf'
- Streamline build process to single PDF format with cover page
2025-12-28 11:02:37 -05:00
Vijay Janapa Reddi
5ed5095118 feat: add titlepage-pdf support for Kits PDF build
Copy mlsysbook-ext/titlepage extension from book and configure
titlepage-pdf format with custom cover page for Hardware Kits PDF.

Build with: quarto render --to titlepage-pdf --profile pdf
2025-12-28 10:59:41 -05:00
Vijay Janapa Reddi
628344883a feat: add dark mode support to Kits site
Create dark-mode.scss with teal accent color adaptation and configure
Quarto to enable light/dark theme toggle matching the Book behavior.
2025-12-28 10:53:46 -05:00
Vijay Janapa Reddi
312f7c8dbd docs: add purchase links to platform overview pages
Add "Where to Buy" section to each hardware platform overview page
with direct links to official vendors and current pricing.
2025-12-28 10:06:40 -05:00
Vijay Janapa Reddi
91241ce9ad docs: add textbook connection to Kits opening paragraph 2025-12-28 10:00:10 -05:00
Vijay Janapa Reddi
47cfa50b55 style: remove top margin from carousel caption bar 2025-12-28 09:59:51 -05:00
Vijay Janapa Reddi
1dd5d4897e fix: update hardware kit prices to December 2025 values
Updated prices across all pages based on current retailer pricing:
- XIAOML Kit: ~$40 (was $15-50)
- Grove Vision AI V2: ~$25 (was $20-30)
- Arduino Nicla Vision: ~$95 (was $100-120)
- Raspberry Pi: $60-145 (reflects 2025 price increases)

Also fixed carousel caption bar padding for even spacing.
2025-12-28 08:19:14 -05:00
Vijay Janapa Reddi
baf11336f8 refactor: improve Kits content organization per MIT Press standards
Getting Started:
- Restructured as step-by-step guide (Select → Setup → Choose Lab → Start)
- Added textbook connection section for academic context
- Clearer prerequisite expectations

Platforms:
- Renamed title from "Hardware Kits" to "Hardware Platforms" (avoid site title collision)
- Removed system requirements (moved to IDE Setup where they belong)
- Focused purely on hardware specifications and comparisons

IDE Setup:
- Added System Requirements section (moved from Platforms)
- Streamlined introduction
- Now contains all setup-related prerequisites in one place

Style:
- Improved carousel caption bar legibility (bolder text, larger font)
2025-12-27 18:07:54 -05:00
Vijay Janapa Reddi
754bd218df refactor: reorganize Kits content structure
Replaced old content files with new streamlined organization:
- getting-started.qmd: Concise hardware selection and lab navigation
- platforms.qmd: Detailed hardware specs and comparisons
- ide-setup.qmd: Development environment setup procedures

Removed old files:
- ide_setup.qmd (replaced by ide-setup.qmd)
- kits.qmd (content moved to platforms.qmd)
- labs.qmd (content redistributed)

Getting Started is now action-oriented rather than pedagogical.
2025-12-27 18:00:29 -05:00
Vijay Janapa Reddi
f771df2d72 style: update Kits navbar to match ecosystem structure
Unified navbar with Projects dropdown matching Book:
- Textbook
- TinyTorch
- Hardware Kits (current)
- Co-Labs (Coming 2026)
2025-12-27 18:00:18 -05:00
Vijay Janapa Reddi
773f45550f feat: add hardware carousel and enhanced styling to Kits landing page
Enhanced index.qmd with:
- Bootstrap carousel showing hardware platforms
- Teal caption bar with centered text
- Platform cards with images and pricing
- Capability grid with emojis
- Ecosystem links section
- PDF-compatible fallback content

Updated style.scss with carousel, platform cards, and capability styling.
2025-12-27 18:00:07 -05:00
Vijay Janapa Reddi
a9a1c562c3 feat: add standalone PDF build infrastructure for Kits
Created independent build system for Hardware Kits PDF output:
- Added PDF profile (_quarto/profiles/pdf/_quarto.yml)
- Copied tex files with teal branding (#0d9488)
- Added inject_parts.lua filter for part summaries
- Updated Makefile with html and pdf targets

Usage: make pdf (or quarto render --profile pdf)
2025-12-27 17:59:58 -05:00
Vijay Janapa Reddi
dcdacd8483 style: unify navbar with Projects dropdown across ecosystem
Both Book and Kits now have identical navbar structure:
- [Projects▼] dropdown with Textbook, Hardware Kits, TinyTorch
- [Downloads▼] with PDF and EPUB
- Star, Support, Subscribe, GitHub (same order)
- Same title: "Machine Learning Systems"

This follows UX best practice for multi-project ecosystems:
consistent navigation with only accent color differentiating projects.
2025-12-24 15:50:44 -05:00
Vijay Janapa Reddi
107cdbe744 style: unify kits styling with book, matching navbar and accent colors
- Create _brand/base.scss as shared base stylesheet for all projects
- Update kits/assets/styles/style.scss to match book styling with teal accent
- Unify kits navbar with book navbar (same icons, dropdowns, footer)
- Both projects now have identical structure, only accent color differs:
  - Book: Harvard Crimson (#A51C30)
  - Kits: Teal (#148F77)
- Add consistent page footer with copyright and links
2025-12-24 15:41:40 -05:00
Vijay Janapa Reddi
029d99fb81 refactor: extract hardware labs to standalone kits project
Monorepo restructuring for better build performance and separation of concerns:

- Create kits/ as standalone Quarto project with teal accent styling
- Add _brand/ directory with shared design tokens (tokens.scss)
- Move labs from book/quarto/contents/labs/ to kits/contents/
- Remove labs sections (Parts VII-XII) from book sidebar
- Add CI/CD workflows for kits (kits-publish-live.yml, kits-publish-dev.yml)
- Update netlify.toml redirects: /labs -> /kits/
- Add Volume I/II test sidebar config for future use

Deployment URLs:
- Textbook: mlsysbook.ai/
- Kits: mlsysbook.ai/kits/
- TinyTorch: mlsysbook.ai/tinytorch/

All three projects build independently and successfully.
2025-12-24 10:54:41 -05:00