mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-05-07 02:03:55 -05:00
Adopt the shared release-versioning pattern. Pure additions: no
existing build steps, configs, or sources are touched. The 6-place
manual version sprawl in the publish workflow stays as-is —
pyproject.toml remains the canonical source the manifest READS from.
quarto/_quarto.yml:
- <meta name="release-manifest" content="/tinytorch/release-manifest.json">
added to include-in-header so the pill's runtime fetch resolves
correctly under /tinytorch/.
- shared/release/release-pill.html added to include-after-body so
every rendered page carries the pill in the DOM.
.github/workflows/tinytorch-publish-live.yml:
- New "📦 Emit release manifest" step inserted between the slide-deck
download and the gh-pages deploy. Runs scripts/version/release.py
compute-hash over modules/, quarto/ (excluding _build), pyproject.toml,
MANIFEST.in. Writes release-manifest.json into the site build dir
so it deploys at /tinytorch/release-manifest.json.
The pill is best-effort chrome — silent if the manifest is missing,
which keeps preview-dev and local renders from breaking. Production
publishes always emit it before deploy, so the live site shows
"TinyTorch v0.1.10 · Apr 28, 2026" in the footer once this lands.
288 lines
10 KiB
YAML
288 lines
10 KiB
YAML
# =============================================================================
|
|
# TINYTORCH WEBSITE CONFIGURATION (Quarto)
|
|
# =============================================================================
|
|
# Educational ML framework: "Build Your Own ML Framework From Scratch"
|
|
# Part of the MLSysBook ecosystem: mlsysbook.ai/tinytorch/
|
|
# =============================================================================
|
|
|
|
project:
|
|
type: website
|
|
output-dir: _build
|
|
# Quarto only auto-copies files it sees referenced from rendered qmd output.
|
|
# Assets here are pulled in explicitly:
|
|
# - assets/downloads/** PDF viewer asset (loaded from inside a `{=html}`
|
|
# script, which Quarto cannot statically resolve)
|
|
# and workflow-injected Guide / Paper PDFs.
|
|
# - install.sh Served at mlsysbook.ai/tinytorch/install.sh —
|
|
# users pipe it to bash for installation.
|
|
# - community/** Static community dashboard (HTML + JS), served
|
|
# at mlsysbook.ai/tinytorch/community/.
|
|
# install.sh and community/ moved here from the retired tinytorch/site/
|
|
# (Jupyter Book) tree so this quarto tree is the only source for
|
|
# anything published under /tinytorch/.
|
|
resources:
|
|
- assets/downloads/**
|
|
- install.sh
|
|
- community/**
|
|
|
|
website:
|
|
title: "TinyTorch"
|
|
description: >-
|
|
An interactive course for building machine learning systems from the ground up.
|
|
Learn by implementing your own PyTorch-style framework with hands-on coding,
|
|
real datasets, and production-ready practices.
|
|
site-url: https://mlsysbook.ai/tinytorch/
|
|
favicon: assets/images/favicon.svg
|
|
|
|
# Open Graph / Social Media metadata
|
|
open-graph:
|
|
locale: en_US
|
|
site-name: "Machine Learning Systems"
|
|
image: assets/images/logos/logo-tinytorch.png
|
|
twitter-card:
|
|
card-style: summary_large_image
|
|
image: assets/images/logos/logo-tinytorch.png
|
|
|
|
page-navigation: true
|
|
reader-mode: false
|
|
back-to-top-navigation: true
|
|
bread-crumbs: true
|
|
|
|
search:
|
|
keyboard-shortcut: ["/"]
|
|
|
|
# Shared navbar from navbar-common.yml (via metadata-files).
|
|
# Site-local dropdown for quick navigation within TinyTorch.
|
|
navbar:
|
|
logo: "assets/images/logo.png"
|
|
search: true
|
|
title: "Machine Learning Systems"
|
|
left:
|
|
- text: "TinyTorch"
|
|
menu:
|
|
- icon: fire
|
|
text: "TinyTorch Home"
|
|
href: ./index.qmd
|
|
- text: "Getting Started"
|
|
href: getting-started.qmd
|
|
- text: "Big Picture"
|
|
href: big-picture.qmd
|
|
- text: "---"
|
|
- text: "Foundation Tier"
|
|
href: tiers/foundation.qmd
|
|
- text: "Architecture Tier"
|
|
href: tiers/architecture.qmd
|
|
- text: "Optimization Tier"
|
|
href: tiers/optimization.qmd
|
|
- text: "Torch Olympics"
|
|
href: tiers/olympics.qmd
|
|
- text: "---"
|
|
- text: "Historical Milestones"
|
|
href: milestones/index.qmd
|
|
- text: "---"
|
|
- text: "TITO CLI"
|
|
href: tito/overview.qmd
|
|
- text: "Datasets Guide"
|
|
href: datasets.qmd
|
|
- text: "---"
|
|
# Guide and paper PDFs live next to the site they document, not
|
|
# in the shared Build menu. Both filenames match the artifacts
|
|
# injected by tinytorch-publish-live.yml during deploy.
|
|
- icon: file-pdf
|
|
text: "TinyTorch Guide (PDF)"
|
|
href: assets/downloads/TinyTorch-Guide.pdf
|
|
target: _blank
|
|
- icon: file-pdf
|
|
text: "TinyTorch Paper (PDF)"
|
|
href: assets/downloads/TinyTorch-Paper.pdf
|
|
target: _blank
|
|
|
|
sidebar:
|
|
- id: main
|
|
style: "floating"
|
|
background: light
|
|
logo: "assets/images/logos/logo-tinytorch-transparent.png"
|
|
collapse-level: 2
|
|
contents:
|
|
- text: "TinyTorch Home"
|
|
href: index.qmd
|
|
- text: "---"
|
|
- section: "🚀 Getting Started"
|
|
contents:
|
|
- href: preface.qmd
|
|
text: "Welcome"
|
|
- href: big-picture.qmd
|
|
text: "Big Picture"
|
|
- href: getting-started.qmd
|
|
text: "Quick Start"
|
|
|
|
- section: "🏗 Foundation Tier"
|
|
contents:
|
|
- href: tiers/foundation.qmd
|
|
text: "📖 Tier Overview"
|
|
- href: modules/01_tensor.qmd
|
|
text: "01. Tensor"
|
|
- href: modules/02_activations.qmd
|
|
text: "02. Activations"
|
|
- href: modules/03_layers.qmd
|
|
text: "03. Layers"
|
|
- href: modules/04_losses.qmd
|
|
text: "04. Losses"
|
|
- href: modules/05_dataloader.qmd
|
|
text: "05. DataLoader"
|
|
- href: modules/06_autograd.qmd
|
|
text: "06. Autograd"
|
|
- href: modules/07_optimizers.qmd
|
|
text: "07. Optimizers"
|
|
- href: modules/08_training.qmd
|
|
text: "08. Training"
|
|
|
|
# Milestones are intentionally OMITTED from the HTML sidebar — they
|
|
# interleaved between tiers and broke the Foundation -> Architecture
|
|
# -> Optimization -> Capstone reading flow that the sidebar is meant
|
|
# to communicate. They remain fully accessible via:
|
|
# 1. The top navbar's "Historical Milestones" entry (line 80 above)
|
|
# which routes to milestones/index.qmd (the hub page).
|
|
# 2. The PDF build (tinytorch/quarto/pdf/_quarto.yml), which
|
|
# interleaves them as separate `part:` blocks — that's the
|
|
# intended reading experience in print.
|
|
# Do not restore milestone sections to the HTML sidebar without
|
|
# rethinking that tier-flow design.
|
|
|
|
- section: "🏛️ Architecture Tier"
|
|
contents:
|
|
- href: tiers/architecture.qmd
|
|
text: "📖 Tier Overview"
|
|
- href: modules/09_convolutions.qmd
|
|
text: "09. Convolutions"
|
|
- href: modules/10_tokenization.qmd
|
|
text: "10. Tokenization"
|
|
- href: modules/11_embeddings.qmd
|
|
text: "11. Embeddings"
|
|
- href: modules/12_attention.qmd
|
|
text: "12. Attention"
|
|
- href: modules/13_transformers.qmd
|
|
text: "13. Transformers"
|
|
|
|
- section: "⏱️ Optimization Tier"
|
|
contents:
|
|
- href: tiers/optimization.qmd
|
|
text: "📖 Tier Overview"
|
|
- href: modules/14_profiling.qmd
|
|
text: "14. Profiling"
|
|
- href: modules/15_quantization.qmd
|
|
text: "15. Quantization"
|
|
- href: modules/16_compression.qmd
|
|
text: "16. Compression"
|
|
- href: modules/17_acceleration.qmd
|
|
text: "17. Acceleration"
|
|
- href: modules/18_memoization.qmd
|
|
text: "18. Memoization"
|
|
- href: modules/19_benchmarking.qmd
|
|
text: "19. Benchmarking"
|
|
|
|
- section: "🏅 Capstone"
|
|
contents:
|
|
- href: tiers/olympics.qmd
|
|
text: "📖 Competition Overview"
|
|
- href: modules/20_capstone.qmd
|
|
text: "20. Torch Olympics"
|
|
|
|
- section: "🎓 Conclusion"
|
|
contents:
|
|
- href: conclusion.qmd
|
|
text: "You Built Something Real"
|
|
|
|
- section: "🛠️ TITO CLI"
|
|
contents:
|
|
- href: tito/overview.qmd
|
|
text: "Command Overview"
|
|
- href: tito/modules.qmd
|
|
text: "Module Workflow"
|
|
- href: tito/milestones.qmd
|
|
text: "Milestone System"
|
|
- href: tito/data.qmd
|
|
text: "Progress & Data"
|
|
- href: tito/testing.qmd
|
|
text: "Developer Testing"
|
|
- href: tito/troubleshooting.qmd
|
|
text: "Troubleshooting"
|
|
|
|
- section: "📚 Reference"
|
|
contents:
|
|
- href: datasets.qmd
|
|
text: "Datasets Guide"
|
|
- href: resources.qmd
|
|
text: "Learning Resources"
|
|
|
|
- section: "🤝 Community"
|
|
contents:
|
|
- href: team.qmd
|
|
text: "Team"
|
|
- href: community.qmd
|
|
text: "Ecosystem"
|
|
- href: credits.qmd
|
|
text: "Acknowledgments"
|
|
|
|
page-footer:
|
|
left: |
|
|
© 2024-2026 Harvard University. Licensed under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC-BY-NC-SA 4.0</a>
|
|
center: |
|
|
Part of the <a href="https://mlsysbook.ai">Machine Learning Systems</a> textbook
|
|
right:
|
|
- icon: github
|
|
href: https://github.com/harvard-edge/cs249r_book
|
|
aria-label: "View source on GitHub"
|
|
- icon: star
|
|
href: https://github.com/harvard-edge/cs249r_book
|
|
aria-label: "Star this repository"
|
|
background: light
|
|
border: true
|
|
|
|
execute:
|
|
enabled: false
|
|
|
|
format:
|
|
html:
|
|
theme:
|
|
light:
|
|
- default
|
|
- assets/styles/style.scss
|
|
dark:
|
|
- default
|
|
- assets/styles/style.scss
|
|
- assets/styles/dark-mode.scss
|
|
respect-user-color-scheme: true
|
|
toc: true
|
|
toc-depth: 3
|
|
number-sections: false
|
|
code-copy: true
|
|
code-overflow: wrap
|
|
highlight-style:
|
|
light: github
|
|
dark: github-dark
|
|
link-external-icon: false
|
|
link-external-newwindow: true
|
|
anchor-sections: true
|
|
mermaid:
|
|
theme: default
|
|
include-in-header:
|
|
- file: ../../shared/config/site-head.html
|
|
- text: |
|
|
<link rel="apple-touch-icon" href="/assets/images/logos/logo-tinytorch.png">
|
|
<meta name="theme-color" content="#D4740C">
|
|
<!-- Release identity (rendered into the footer pill below).
|
|
The publish workflow drops release-manifest.json at
|
|
/tinytorch/release-manifest.json before deploy; preview
|
|
and local renders silently no-op. -->
|
|
<meta name="release-manifest" content="/tinytorch/release-manifest.json">
|
|
include-after-body:
|
|
- file: assets/scripts/subscribe-modal.js
|
|
- file: assets/scripts/ml-timeline.js
|
|
- file: assets/scripts/sidebar-subtitle.html
|
|
- file: ../../shared/release/release-pill.html
|
|
|
|
metadata-files:
|
|
- ../../shared/config/navbar-common.yml
|
|
- config/announcement.yml
|