Skip to content
Credits·Open Source·2026

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

01

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.

02

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

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

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

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

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

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

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 Fontsfonts.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/.
09

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.

10

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

Built in the open Credit where due