Skip to content

Commit 1d3edc0

Browse files
authored
doc: Inline and feature-gate documentation in the supercrate (#347)
1 parent 73f3794 commit 1d3edc0

File tree

2 files changed

+30
-3
lines changed

2 files changed

+30
-3
lines changed

Cargo.toml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,6 @@ history = ["gloo-history"]
5858
worker = ["gloo-worker"]
5959
net = ["gloo-net"]
6060

61-
[package.metadata.docs.rs]
62-
features = ["futures"]
63-
6461
[workspace]
6562
members = [
6663
"crates/timers",
@@ -78,3 +75,10 @@ members = [
7875
"examples/markdown",
7976
"examples/clock",
8077
]
78+
79+
# Passing arguments to the docsrs builder in order to properly document cfg's.
80+
# More information: https://docs.rs/about/builds#cross-compiling
81+
[package.metadata.docs.rs]
82+
all-features = true
83+
rustdoc-args = ["--cfg", "docsrs"]
84+
rustc-args = ["--cfg", "docsrs"]

src/lib.rs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,50 @@
22
//! with Rust and WebAssembly.
33
44
#![deny(missing_docs, missing_debug_implementations)]
5+
#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
56

67
// Re-exports of toolkit crates.
78
#[cfg(feature = "console")]
9+
#[cfg_attr(docsrs, doc(cfg(feature = "console")))]
10+
#[doc(inline)]
811
pub use gloo_console as console;
912
#[cfg(feature = "dialogs")]
13+
#[cfg_attr(docsrs, doc(cfg(feature = "dialogs")))]
14+
#[doc(inline)]
1015
pub use gloo_dialogs as dialogs;
1116
#[cfg(feature = "events")]
17+
#[cfg_attr(docsrs, doc(cfg(feature = "events")))]
18+
#[doc(inline)]
1219
pub use gloo_events as events;
1320
#[cfg(feature = "file")]
21+
#[cfg_attr(docsrs, doc(cfg(feature = "file")))]
22+
#[doc(inline)]
1423
pub use gloo_file as file;
1524
#[cfg(feature = "history")]
25+
#[cfg_attr(docsrs, doc(cfg(feature = "history")))]
26+
#[doc(inline)]
1627
pub use gloo_history as history;
1728
#[cfg(feature = "net")]
29+
#[cfg_attr(docsrs, doc(cfg(feature = "net")))]
30+
#[doc(inline)]
1831
pub use gloo_net as net;
1932
#[cfg(feature = "render")]
33+
#[cfg_attr(docsrs, doc(cfg(feature = "render")))]
34+
#[doc(inline)]
2035
pub use gloo_render as render;
2136
#[cfg(feature = "storage")]
37+
#[cfg_attr(docsrs, doc(cfg(feature = "storage")))]
38+
#[doc(inline)]
2239
pub use gloo_storage as storage;
2340
#[cfg(feature = "timers")]
41+
#[cfg_attr(docsrs, doc(cfg(feature = "timers")))]
42+
#[doc(inline)]
2443
pub use gloo_timers as timers;
2544
#[cfg(feature = "utils")]
45+
#[cfg_attr(docsrs, doc(cfg(feature = "utils")))]
46+
#[doc(inline)]
2647
pub use gloo_utils as utils;
2748
#[cfg(feature = "worker")]
49+
#[cfg_attr(docsrs, doc(cfg(feature = "worker")))]
50+
#[doc(inline)]
2851
pub use gloo_worker as worker;

0 commit comments

Comments
 (0)