• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

source-academy / frontend / 28226005604

26 Jun 2026 08:15AM UTC coverage: 41.391% (-0.08%) from 41.469%
28226005604

push

github

web-flow
feat(textbook): add SICPy textbook route with dynamic welcomeText on home Tab (#3992)

* feat(textbook): add SICPy textbook route with dynamic nav button and TOC

- Add /sicppy route reusing the SICP JS renderer infrastructure
- Dynamic textbook nav button: shows selected language's textbook when
  textbookUrl is set in the language directory (routes to /sicppy for
  Python, /sicpjs for Source), falls back to 'SICP JS' otherwise
- SicpPyNavigationBar: secondary nav with TOC drawer + Prev/Next buttons
- TOC data (toc-py.json, toc-navigation-py.json) for chapters 1-4
- TableOfContentsHelperPy: getPrevPy/getNextPy helpers
- SicpPyToc: Blueprint Tree TOC navigating to /sicppy/ routes
- PYTHONINLINE tag handler in ParseJson (renders like JAVASCRIPTINLINE)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(textbook): address AI review findings

- Fix integer[] → number[] in SicpPyToc (integer is not a TS type)
- Add AbortController to sicppy fetch to prevent race condition on fast navigation
- Memoize textbookEntry in NavigationBar to avoid unnecessary re-renders

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: formatting, querySelector hash bug, topNavbarNavlinks, TocProps rename

- Fix document.querySelector(hash) crashing on section IDs starting with
  a digit (e.g. #1.1); use getElementById(hash.slice(1)) instead
- Add /sicppy to topNavbarNavlinks so navbar tracks active state on SICPy pages
- Rename TocProps -> Props in SicpPyToc per repo naming convention
- Run prettier across all changed files to fix format:ci failure

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: bump language-directory to 0.0.7

Picks up textbookUrl in ILanguageDefinition, resolving the tsc errors
on selectedLanguage.textbookUrl in NavigationBar.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: bump conductor to 0.5.0 to fix const enum runtime erasure

* feat(textbook): use textbook object from language-direct... (continued)

2592 of 7338 branches covered (35.32%)

Branch coverage included in aggregate %.

19 of 66 new or added lines in 9 files covered. (28.79%)

1 existing line in 1 file now uncovered.

6122 of 13715 relevant lines covered (44.64%)

27.13 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

20.0
/src/features/sicp/TableOfContentsHelperPy.ts


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc