5 releases

new 0.2.2 Apr 19, 2024
0.2.1 Mar 31, 2024
0.2.0 Jan 12, 2024
0.1.1 Dec 29, 2023
0.1.0 Dec 29, 2023

#1325 in Procedural macros

Download history 50/week @ 2023-12-29 16/week @ 2024-01-12 2/week @ 2024-01-26 7/week @ 2024-02-02 13/week @ 2024-02-09 48/week @ 2024-02-16 62/week @ 2024-02-23 42/week @ 2024-03-01 15/week @ 2024-03-08 30/week @ 2024-03-15 47/week @ 2024-03-22 200/week @ 2024-03-29 34/week @ 2024-04-05

312 downloads per month
Used in 2 crates (via include-utils)

MIT/Apache

13KB
289 lines

Include utils

tests crates.io Documentation MIT/Apache-2 licensed

A more powerful replacement for the standard inlcude_str macros.

Often you only need a specific part of the file, e.g. relevant lines for an example, or section of README.md. This crate provides macros that can include only part of a file, similar to the mdbook specific feature.

Imagine that you want to include "usage" section from your repository readme file to the crate documentation. But you do not want to see in crate documentation some parts of readme file, like header, badges, etc. With the include_str macro you can only include the entire file content.

But with the include_md macro you can include only a specific section of the file.

Notes

  • Unlike the built-in macro, this macros uses the CARGO_MANIFEST_DIR as the current directory instead of the directory from which macro is called.

  • If the workspace feature is enabled, then if the file cannot be found relative to the CARGO_MANIFEST_DIR, it will be searhed relative to the cargo workspace root directory. It may be useful if you want to store your documentation in the single directory outside the crates. In this case you have to copy included directory to each crate before you publish it to the crates registry.

Usage

//! # Crate overview
//! 
#![doc = include_utils::include_md!("README.md:description")]
//!
//! ## Other section

lib.rs:

Internal proc macro for the include-utils crate.

Dependencies

~1–1.6MB
~33K SLoC