# RFC Graph
Crates.io docs
How the rfc are referencing each other ? ```rs let (rfcs_linked, status) = rfc_graph::RfcGraph::get(5322, 3).await; println!("{rfcs:?} {status:?}"); ``` ```sh $> cargo run -- -h rfc-graph 0.1.1 USAGE: rfc-graph [OPTIONS] --root OPTIONS: -h, --help Print help information --recursion-max Number of recursive iteration max [default: 2] --root Number of the first rfc page in the graph (root) -V, --version Print version information ``` Output generated: * `cache.json` : a `HashMap>` with key is the rfc source and values are the rfc referenced * `input.dot` : a representation of the graph generated following the [dot format](https://graphviz.org/doc/info/lang.html) by [graphviz](https://graphviz.org/) * `output.svg` : a svg version of the dot graph ```sh $> cargo run -- --root 5322 --recursion-max 1 ``` ![rfc 5322 one recursion](docs/5322-level-1.svg) ```sh $> cargo run -- --root 5322 --recursion-max 2 ``` ![rfc 5322 two recursion](docs/5322-level-2.svg) The referencing in the rfcs are exponential, so you **might not** want to run with `--recursion-max 4` ## Color | Status | Color | | --------------------------------- | ------ | | Unknown | ⬜ | | Draft | 🟥 | | Informational | 🟧 | | Experimental | 🟨 | | Best Common Practice | 🟪 | | Proposed Standard | 🟦 | | Draft Standard (old designation) | :cyan: | | Internet Standard | 🟩 | | Historic | ⬛ | | Obsolete | 🟫 | Leaf node status is unknown as the web scraping is not done for them ## Next Features I would like to add the following features : * display the title of the rfc * improve the graph view (for huge graph readability) * render the status of the leaf node