The subtitle script injected the 'Machine Learning Systems' link as a
sibling of the logo <img>, which sits inside Quarto's
<a class="sidebar-logo-link"> wrapper. That nested our anchor inside the
logo anchor (invalid HTML), so clicking it fired the outer logo link
(./index.html) instead of navigating to the book. Insert the subtitle
after the logo anchor as a child of .sidebar-header so the link works.
The version chip keys off subtitle.parentNode and is fixed by the same move.
Two related fixes to the chip JS in sidebar-subtitle.html:
1. Bump the chip's literal from v0.1.10 to v0.1.11 to match the actual current release. The v0.1.11 publish-live (commit 3449ee7050) bumped settings.ini and the README badge but did not propagate to the chip, so the live site shows the announcement bar saying 'v0.1.11 released' next to a chip still saying v0.1.10. The companion ci(tinytorch-publish-live) commit on this branch adds the missing UPDATE_VERSION sed step so this never drifts again.
2. Remove the version reference from the doc comment ('The chip's v0.1.10 ...' → 'The chip's version literal ...') so the comment no longer needs to be bumped alongside the literal. The // TINYTORCH_VERSION_CHIP sed marker is still anchored on the literal line and is the single source the workflow targets.
Adds a small amber pill below the existing "A Build-It-Yourself
Companion to..." subtitle showing "🔥 TinyTorch v0.1.10 →", linked to
the GitHub Releases page filtered for tinytorch tags.
Why: the previous sidebar had no persistent version indicator, and
the announcement-bar approach was rejected (see config/announcement.yml
header note: "Release news belongs in a changelog, not in the always-
visible nav bar"). The sidebar subtitle area is the natural home for
this kind of meta-info — sticky on desktop, not competing with content,
and follows the existing JS injection pattern.
Design choices:
- "🔥 TinyTorch" prefix + visual divider above the pill prevent the
reader from parsing "v0.1.10" as the textbook's version (which
would be wrong — the textbook is versioned by Volume).
- Amber border + amber text + faint amber background match the
TinyTorch brand color used throughout the announcement bar and
accent system.
- target="_blank" + rel="noopener" — the chip leaves the docs site,
so external-link semantics apply.
- !important on color rules because Quarto's link styles otherwise
win at higher specificity (matches the existing `.sidebar-subtitle
a:hover` pattern in this file).
Version source: hardcoded as "v0.1.10" with a TINYTORCH_VERSION_CHIP
sed marker. The tinytorch-publish-live workflow's UPDATE_VERSION step
already syncs 6 files (pyproject.toml, settings.ini, install.sh,
announcement, README badge, init); adding this file to that step is
a follow-up. For now, manual updates on each release.
Verified in Playwright on index + tito/milestones, light + dark mode.
Computed color rgb(212, 116, 12) light / rgb(245, 158, 11) dark; href
points to releases?q=tinytorch as intended.
Brings the TinyTorch lab guide's Quarto project in line with
book/quarto/, the only other in-tree Quarto publication that builds
both web and PDF outputs from a single source. The previous name had
three redundancies:
- already under tinytorch/, so "site-" prefix wasn't disambiguating
- also produces the PDF lab guide, so "site-" was misleading
- the top-level site/ dir made "site-quarto" read as "the site's
quarto config" rather than "the tinytorch site, in quarto"
After this rename the convention is straightforward:
book/quarto/ -> the textbook (web + PDF)
tinytorch/quarto/ -> the TinyTorch lab guide (web + PDF)
mlsysim/docs/ -> mlsysim API reference (kept as docs/, since it
really is API reference, not a publication)
Touches 7 GitHub workflows, both .gitignore files, the rename target's
own self-references (Makefile, _quarto.yml configs, STYLE.md,
measure-pdf-images.py), and 6 copies of subscribe-modal.js plus a few
shared scripts/configs whose comments documented the old path.
Verified: rebuilt pdf/TinyTorch-Guide.pdf (2.1M) cleanly from the new
location with 'make pdf' from tinytorch/quarto/.