You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is Just the Docs (a documentation theme) still the right engine for what is really an interactive textbook? Several V2.0 pain points trace back to JtD/Jekyll being a docs tool rather than a textbook/interactive-content platform. This issue is to evaluate alternatives and decide before we invest heavily in JtD-specific implementations of #99/#100/#101.
Requirements (what the engine must serve)
Maximum interactivity — now a first-class goal. Many newer lessons embed p5.js sketches; we want rich, ideally native/inline interactive content (live, possibly editable sketches), not just third-party iframes.
Strong — island components can run p5 sketches inline/natively; great a11y/SEO/perf
Markdown/MDX, math via remark/KaTeX, cross-refs via plugins
Medium-high (MDX, strip Liquid)
Docusaurus (React/MDX)
Strong — React components for live sketches/simulators; versioning, Algolia search
Good, app-like
High (JS toolchain, MDX)
Quarto
Moderate — raw HTML/OJS/iframe; p5 not a first-class component
Best academic fit: native cross-refs (#101), executable Python for signals/, citations, PDF/ePub
Medium-high
Material for MkDocs
Weak-moderate — manual JS/iframes
Lowest-friction upgrade; great search/a11y/admonitions
Medium (convert Liquid + front matter)
The core tension
The "best interactive engine" (Astro/Starlight or Docusaurus — native p5/components) and the "best academic-textbook engine" (Quarto — math, cross-refs, executable code) pull in different directions. Given interactivity is now a stated priority, Astro + Starlight and Quarto are the two strongest candidates; the decision hinges on which axis dominates.
Decide this (or explicitly defer it) before sinking effort into JtD-specific versions of #99/#101.
Proposed next step
Low-risk proof-of-concept: port one module to the top candidate(s) and compare real rendered output + authoring feel + how cleanly p5 embeds become native. Suggested pilot module: signals/ (worst-maintained today and exercises math + executable Python), and/or a p5-heavy communication/ lesson to test interactivity.
Tasks
Confirm hard requirements + rank them (interactivity vs. academic rigor vs. migration cost)
Build a Quarto PoC of one module
Build an Astro/Starlight PoC of one p5-heavy lesson
The question
Is Just the Docs (a documentation theme) still the right engine for what is really an interactive textbook? Several V2.0 pain points trace back to JtD/Jekyll being a docs tool rather than a textbook/interactive-content platform. This issue is to evaluate alternatives and decide before we invest heavily in JtD-specific implementations of #99/#100/#101.
Requirements (what the engine must serve)
signals/module has Jupyter/Python content).Current state (what we'd migrate from / costs)
remote_theme; ~100 Markdown lesson pages, heavy inline HTML, MathJax ($$...$$only), custom CSS, callouts.editor.p5js.orgsketches (iframes) hosted in a personal p5 editor account.emgithub.comembeds fetch.inofiles live at view time (already migrated once whengist-itdied — see Decide code-embedding strategy (single source of truth vs. alternatives) #100).Candidate engines (with the interactivity lens)
signals/, citations, PDF/ePubThe core tension
The "best interactive engine" (Astro/Starlight or Docusaurus — native p5/components) and the "best academic-textbook engine" (Quarto — math, cross-refs, executable code) pull in different directions. Given interactivity is now a stated priority, Astro + Starlight and Quarto are the two strongest candidates; the decision hinges on which axis dominates.
Relationship to other issues
This is upstream of:
Decide this (or explicitly defer it) before sinking effort into JtD-specific versions of #99/#101.
Proposed next step
Low-risk proof-of-concept: port one module to the top candidate(s) and compare real rendered output + authoring feel + how cleanly p5 embeds become native. Suggested pilot module:
signals/(worst-maintained today and exercises math + executable Python), and/or a p5-heavycommunication/lesson to test interactivity.Tasks