diff --git a/README.md b/README.md index 81fccc0..f0b1eab 100644 --- a/README.md +++ b/README.md @@ -5,15 +5,18 @@ This crate provides a macro that extracts documentation comments from Cargo.toml -To use this crate, add `#![doc = document_features::document_features!()]` in your crate documentation. +To use this crate, add `#![cfg_attr(feature = "document-features", doc = document_features::document_features!())]` in your crate documentation. The `document_features!()` macro reads your `Cargo.toml` file, extracts feature comments and generates a markdown string for your documentation. Use `## ` and `#! ` comments in your Cargo.toml to document features, for example: ```toml +[package.metadata.docs.rs] +features = ["document-features"] # ensures that `document-features` is enabled when building docs + [dependencies] -document-features = "0.2" +document-features = { version = "0.2", optional = true } ## ... [features] diff --git a/lib.rs b/lib.rs index df3f6f8..bca147b 100644 --- a/lib.rs +++ b/lib.rs @@ -6,7 +6,7 @@ Document your crate's feature flags. This crates provides a macro that extracts "documentation" comments from Cargo.toml -To use this crate, add `#![doc = document_features::document_features!()]` in your crate documentation. +To use this crate, add `#![cfg_attr(feature = "document-features", doc = document_features::document_features!())]` in your crate documentation. The `document_features!()` macro reads your `Cargo.toml` file, extracts feature comments and generates a markdown string for your documentation. @@ -16,7 +16,7 @@ Basic example: //! Normal crate documentation goes here. //! //! ## Feature flags -#![doc = document_features::document_features!()] +#![cfg_attr(feature = "document-features", doc = document_features::document_features!())] // rest of the crate goes here. ``` @@ -48,6 +48,9 @@ in where they occur. Use them to group features, for example. name = "..." ## ... +[package.metadata.docs.rs] +all-features = true # ensures that `document-features` is enabled when building docs + [features] default = ["foo"] ##! This comments goes on top