Announcing litter-dox Clean [literate programming](https://en.wikipedia.org/wiki/Literate_programming) for Rust programmers, without the odour. If you ever wanted to refer to a snippet of code in docs and have it remain in sync with the actual code, this may be for you. `#[litter]` creates and hash-versions a snippet: ```rust use litter_dox::litter; #[litter(name: "fibonacci")] fn fibonacci_n(n: u32) -> u32 { ... } ``` Which looks like this: ````md ### Source Fragment: `fibonacci` ```rust /// Returns n-th Fibonacci number. fn fibonacci_n(n: u32) -> u32 { if n <= 1 { return n; } fibonacci_n(n - 1) + fibonacci_n(n - 2) } ``` [← Back to documentation](../README.md#fibonacci) ```` The `#[litter]` macro won't overwrite the snippet if it is up to date. You can then refer to the fragment by name: ```text A reference to [complicated code](litdox/fibonacci.md) ``` But wait, there's more! For maximum convenience, add `litter_anchors!()` to your code to automatically get anchors added to all your links!…