Credits
The open-source projects, fonts, and openly licensed content that make bookSHelf possible.
bookSHelf stands on the shoulders of open-source projects — from in-browser math rendering to the animation engine behind every figure to the typefaces you’re reading right now. This page credits each one.
— Steven Huff, Curator
Source Texts
The openly licensed textbooks this project remixes.
- OpenStax — CC BY 4.0 — openstax.org. Source of Calculus Volume 1 (Strang & Herman).
- OpenIntro — CC BY-SA 4.0 — openintro.org. Source of Introduction to Statistics (Diez, Çetinkaya-Rundel & Barr).
Per-book attribution and CC BY notices are on each book’s own attribution page.
In-Browser Rendering
Libraries that ship into every page you read.
- KaTeX — MIT — katex.org. Inline and display math rendering on every book page — vendored offline under
docs/_vendor/so equations render without a network. Earlier editions used MathJax on some pages; the current pipeline renders all math with KaTeX.
Animation & Video
Every figure animation and section opener is built with these.
- Manim Community Edition — MIT — manim.community. The animation engine behind dual-theme figures and narrated section openers.
- FFmpeg — LGPL 2.1+ / GPL 2+ — ffmpeg.org. Muxes voiceover audio with Manim renders into the final MP4s.
- NumPy — BSD-3-Clause — numpy.org. Numerical scaffolding for plot helpers and figure scripts.
Themes, Templates & Slide Decks
The design languages behind the page themes and the per-section instructor decks — see them all on the Examples page.
- Open Design — MIT / Apache 2.0 — the template collection several bookSHelf theme and deck styles are adapted from: hps-academic-paper (Academic Paper), huashu-annual-letter (Annual Letter), fs-notebook-tabs (Notebook Tabs), Zhangzara html-ppt (Zhangzara Grid), kami-deck / doc-kami-parchment (kami and the bookSHelf house style), and deck-swiss-international. Palette and layout adaptations only; contrast values adjusted for WCAG where the originals fell short.
- kami by tw93 — MIT — github.com/tw93/kami. The upstream of the kami design language that the house theme grew from.
- html-anything (nexu-io) & guizang-ppt-skill (op7418) — MIT — upstream references of the Swiss International deck family.
- python-pptx — MIT — python-pptx.readthedocs.io — and Pillow — MIT-CMU — python-pillow.org. Export each HTML deck to PowerPoint and PDF for instructors.
Build & QA
Glue, testing, and dev tooling.
- Playwright — Apache 2.0 — playwright.dev. Headless browser used for UI verification and figure screenshots.
- Playwriter — MIT — github.com/remorses/playwriter. Stateful Chrome automation that drives the user’s real browser via Playwright snippets.
- browser-harness — MIT — github.com/browser-use/browser-harness. Thin CDP harness for connecting agents directly to a running Chrome instance.
- Biome — MIT — biomejs.dev. JavaScript linting and formatting.
- Requests — Apache 2.0 — requests.readthedocs.io. HTTP client for YouTube and TTS API lookups.
- PyYAML — MIT — pyyaml.org. Configuration files for the pipeline.
Studio Workbench
The open-source stack behind bookSHelf Studio — the desktop workbench used to author, edit, and publish every page.
- Electron — MIT — electronjs.org. The cross-platform shell that packages the Studio as a native desktop app.
- xterm.js — MIT — xtermjs.org. The in-app terminal that hosts the build and Claude command lines, with the fit and WebGL addons for crisp rendering.
- node-pty (lydell fork) — MIT — github.com/lydell/node-pty. Spawns and drives real native pseudo-terminals behind each Studio terminal pane.
- Dockview — MIT — dockview.dev. The tiled, dockable panel layout that organizes the terminal, editor, preview, and gallery blocks.
- CodeMirror 6 — MIT — codemirror.net. The source editor used for markdown, JSON, and YAML files, with the JSON, Markdown, and YAML language packages.
- MathLive — MIT — mathlive.io. The visual equation editor used to insert and correct LaTeX math inside the Studio and on-page.
- js-draw by Henry Heino — MIT — js-draw.com. The freeform drawing editor used to hand-annotate figures.
- Lucide — ISC — lucide.dev. The icon set used throughout the Studio interface, vendored inline.
AI Tutor
The open model runtime behind the in-page tutor.
- Ollama — MIT — ollama.com. Local and cloud runtime for the bring-your-own-key AI tutor endpoint.
Typography
Typefaces shipped or imported by the reader.
- Atkinson Hyperlegible — SIL Open Font License — brailleinstitute.org/freefont. Accessibility font option.
- Lexend — SIL Open Font License — fonts.google.com/Lexend. Accessibility font option.
- OpenDyslexic — Bitstream Vera license — opendyslexic.org. Dyslexia-friendly font option, served from jsDelivr.
- Google Fonts — fonts.google.com. CDN delivering the Atkinson Hyperlegible and Lexend accessibility typefaces. The book's primary display and body typefaces are vendored offline under
docs/_vendor/fonts/.
Read Aloud
The text-to-speech stack behind the ear-icon button.
- Speech Rule Engine — Apache 2.0 — github.com/zorkow/speech-rule-engine. Converts MathML expressions into spoken English (MathSpeak rules in nine locales) so the reader voices equations correctly instead of reading the raw KaTeX glyphs.
- kokoro-js — Apache 2.0 — github.com/hexgrad/kokoro. Browser bindings for the Kokoro 82M neural TTS, providing the “Heart” and “Michael” voice options.
- Kokoro-82M v1.0 — Apache 2.0 — huggingface.co/onnx-community/Kokoro-82M-v1.0-ONNX. The quantized ONNX weights served to the browser when a neural voice is selected.
- transformers.js — Apache 2.0 — github.com/huggingface/transformers.js. WASM/WebGPU model runtime that kokoro-js depends on; also caches the model weights in IndexedDB across sessions.
Inspirations — ideas borrowed, not code.
- article_to_speech — github.com/ayaanatifcodes/article_to_speech. The per-word highlighting plus autoscroll behaviour was inspired by this project’s README; the implementation here is independent.
License Notes
Where to find full license text.
Every project named above retains its original copyright; this page does not re-license any of them. Full license text accompanies each project at its linked source.
If a credit is missing, mislabeled, or out of date, please open an issue on the bookSHelf repository and it will be corrected.
Colophon
- Curated by Steven Huff, Left Hand Designs
- Per-book attribution — Calculus Volume 1 · Introduction to Statistics