An open API service indexing awesome lists of open source software.

https://github.com/yvt/svgbobdoc

Rust procedural macro that renders ASCII diagrams in doc comments as SVG images.
https://github.com/yvt/svgbobdoc

Last synced: over 1 year ago
JSON representation

Rust procedural macro that renders ASCII diagrams in doc comments as SVG images.

Awesome Lists containing this project

README

          

# svgbobdoc

[docs.rs](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.73 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