A personal fork of CalculusWithJuliaNotes.jl — John Verzani's excellent "Calculus with Julia" notes, readable at calculuswithjulia.github.io.
This fork exists to (gradually, chapter by chapter) port the notes' code off Python-backed SymPy onto pure-Julia Symbolics.jl/Nemo.jl, using the companion package CalculusWithJuliaSquared.jl (itself a pure-Julia fork of CalculusWithJulia.jl). It is for personal study use — not intended as a PR back upstream. During the transition both CalculusWithJulia (upstream, for unported chapters) and CalculusWithJuliaSquared (for ported ones) are dependencies; the port is complete when CalculusWithJulia and SymPy can be removed.
- Content lives in
quarto/(.qmdfiles); build withquarto render/ preview withquarto previewfrom that directory - View built pages over HTTP, not by opening the file — see below
- Interactive figures need the global
Plotly, which Quarto's requirejs otherwise prevents plotly from defining;_quarto.ymlworks around this viainclude-in-header. Ifplotly()figures ever go blank while GR/static ones still show, check that workaround first (see.github/instructions/porting.instructions.md, "Blank figure gaps") - Spell check locally with
typos(brew install typos-cli; config in_typos.toml) — run it before committing; there is no CI spell check
Always view built pages over HTTP — never by opening the .html from disk. Interactive (plotly()) figures are JavaScript; a page can look complete in the HTML source and still show blank gaps in a browser. Only a served page proves it actually renders.
Rendered output lands in quarto/_book/ (gitignored). Serve it with LiveServer.jl — the same tool used for Documenter previews in the other study repos (see the documenter-jl-conventions skill), which also auto-refreshes when you re-render:
# one-time: a shared env for the tool, so no repo dependency is added
julia --project=@liveserver -e 'using Pkg; Pkg.add("LiveServer")'
# serve the built book (run from the repo root)
julia --project=@liveserver -e 'using LiveServer; serve(dir="quarto/_book", port=8001)'Then open http://localhost:8001. Re-run quarto render to rebuild; LiveServer picks up the change and refreshes the page.
Two alternatives: quarto preview from quarto/ serves and rebuilds on edit (best while actively writing a chapter, but it re-executes cells, which is slow for heavy chapters); or, with no Julia startup at all, python3 -m http.server 8765 --bind 127.0.0.1 from quarto/_book/.