svgbobdoc

docs.rs

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.

Usage

Add the following line to Cargo.toml.

toml [dependencies] svgbobdoc = { version = "0.2", features = ["enable"] }

transform_mdstr!

Wrap doc comments with #[doc = transform_mdstr!(...)]. Use svgbob code blocks to write ASCII diagrams.

#[doc = svgbobdoc::transform_mdstr!(
/// Some structure.
///
/// ```svgbob
///  .--------------------.
///  | Diagrams here      |
///  `--------------------'
/// ```
)]
pub struct TestStruct {}

See the example directory for a complete example.

#[transform] (deprecated)

Add the attribute #[svgbobdoc::transform] to the items to documentate. Use svgbob code blocks to write ASCII diagrams.

#[svgbobdoc::transform]
/// Some structure.
///
/// ~~~svgbob
///  .--------------------.
///  | Diagrams here      |
///  `--------------------'
/// ~~~
pub struct TestStruct {}

Limitation: This method does not work with inner attributes, meaning it's unusable for a crate-level documentation.

Tips

License: MIT/Apache-2.0