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.
Add the following line to Cargo.toml
.
[dependencies]
svgbobdoc = { version = "0.2", features = ["enable"] }
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.
-
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