This is an experiment in developing a new and better RAIDOC.
Limitations of the current RAIDOC:
- relies on fragile monkey-patching of a third-party Python markdown parser to achieve desired functionality
- very slow, no incremental compilation/caching
- Both RAIMAD documentation and the custom markdown parser extensions / static site builder are stored in one repo
- Sample code cells in documentation run in same Python interpreter as the markdown parser/static site builder code leading to very non-obvious pitfalls, such as state getting smuggled accross cells in arcane ways and not all STDOUT getting captured correctly
This repo is an experiment in building a rust-based documentation system for raimad that (hopefully):
- does not fighting against its markdown parser
- runs cells in a separate Python process (perhaps maybe even some WASM or embedded type of Python instead of CPYthon..?) allowing for better control and proper capturing of STDOUT/STDERR
- has incremental compilation
- Is decoupled from RAIMAD and may be re-used for other projects
I made a "throw everything at a wall and see what sticks" dockerfile for this project to be able to play around with different things more easily. It's huge -- gcc, make, multiple Rust toolchains, Golang, Python, and misc dev tools. So ~18 min build time (on my HDD and 4-core CPU) and ~5GB final size. Optimized dockerfile for CI/CD will follow.