Another good documentation choices is Racket’s scribble^1. I like that you can embed Racket code directly into the text, and the language oriented programming of Racket means the syntax is more ergonomic than other systems. There is also pollen^2 but that is more set up for online books by default
1. https://docs.racket-lang.org/scribble/
2. https://docs.racket-lang.org/pollen/