Crates.io | docima |
lib.rs | docima |
version | 0.9.1 |
source | src |
created_at | 2021-08-14 14:28:36.017452 |
updated_at | 2021-08-22 13:38:50.248375 |
description | Generate images at build time & embed them in the Rust documentation |
homepage | |
repository | https://github.com/andamira/docima |
max_upload_size | |
id | 436324 |
size | 53,284 |
Generate images at build time for embedding in the Rust documentation.
The current API is going to evolve a lot while the major version number is 0.
png
→ base64
and saved as HTML
tags. E.g.:ImageFile::new()
.path("images/my_image.html")
.width(600)
.height(400)
.attr("title", "My image")
.attr("id", "image-01")
.attr("style", "display: block; margin:auto;")
.wrapper("div")
.wrapper_attr("style", "background-color:red; padding:3px;")
.overwrite(true)
.generate(my_image_generator_function)?;
#[doc = include_str!("../images/my_image.html") ]
cargo doc --open
There are several features that allows to customize the defaults.
not_default_overwrite
By default all images will always be generated even when the target file already exists. By using this feature you can avoid generation in case the file exists.
Note that you can always override the default by using the overwrite
method.
build_when_doc
By enabling this feature images will only be generated when the following doc
feature is also used.
This can be very useful in case you need to always overwrite the generated files but don't want to generate the images when normally compiling the source code.
doc
Use this feature manually, in conjunction to build_when_doc
.
You'll have to customize your setup using the the following example as a model:
Add to Cargo.toml
:
[features]
doc = ["docima/doc"]
[build-dependencies]
docima = { version = "*", features = ["build_when_doc"] }
Then the images will only be generated when you use this feature, like this:
doc --features=doc
For greater convenience you can create a new alias in .cargo/config.toml
:
[alias]
docdoc = "doc --features=doc"
You can refer to the crate documentation and the source code for more complete information and practical examples.