# svgbobdoc
[](https://docs.rs/svgbobdoc/)
This crate provides a procedural macro that renders
ASCII diagrams in doc comments as SVG images using [`svgbob`].
*Requires Rust version 1.54 or later or equivalent nightly builds.*
[`svgbob`]: https://github.com/ivanceras/svgbob
## Usage
Add the following line to `Cargo.toml`.
```toml
[dependencies]
svgbobdoc = { version = "0.2", features = ["enable"] }
```
### `transform!`
Wrap doc comments with `#[doc = transform!(...)]`. Use `svgbob` code blocks to write ASCII diagrams.
#[doc = svgbobdoc::transform!(
/// Some structure.
///
/// ```svgbob
/// .--------------------.
/// | Diagrams here |
/// `--------------------'
/// ```
)]
pub struct TestStruct {}
See the `example` directory for a complete example.
### Tips
- Using this macro increases the compilation time. The `enable` Cargo feature can be used to turn off the transformation and the compilation of most dependent packages.
- A link reference definition (`[label]: data:...`) can be generated by providing a link label in a code fence header as in `~~~svgbob,[label]`.
License: MIT/Apache-2.0