diff options
| author | Justus K <justus.k@protonmail.com> | 2021-05-14 22:45:00 +0200 |
|---|---|---|
| committer | Justus K <justus.k@protonmail.com> | 2021-05-15 19:26:36 +0200 |
| commit | aaf0ff83fb5473a1bd73f9062e168a7e183c444f (patch) | |
| tree | 5734a46402c8f15ad986ca0c91ba9ddcd94c0385 | |
| parent | 75da570d784a798a34ff1e5048cd9a6a2fb23170 (diff) | |
| download | rust-aaf0ff83fb5473a1bd73f9062e168a7e183c444f.tar.gz rust-aaf0ff83fb5473a1bd73f9062e168a7e183c444f.zip | |
Call `initSidebarItems` in root module of crate
| -rw-r--r-- | src/librustdoc/html/render/mod.rs | 11 | ||||
| -rw-r--r-- | src/librustdoc/html/render/write_shared.rs | 2 | ||||
| -rw-r--r-- | src/librustdoc/html/static/sidebar-items.js | 1 | ||||
| -rw-r--r-- | src/librustdoc/html/static_files.rs | 3 |
4 files changed, 14 insertions, 3 deletions
diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs index 5b54b32e4dd..f4a84efb597 100644 --- a/src/librustdoc/html/render/mod.rs +++ b/src/librustdoc/html/render/mod.rs @@ -1745,12 +1745,17 @@ fn print_sidebar(cx: &Context<'_>, it: &clean::Item, buffer: &mut Buffer) { ty = it.type_(), path = relpath ); + if parentlen == 0 { - // There is no sidebar-items.js beyond the crate root path - // FIXME maybe dynamic crate loading can be merged here + write!( + buffer, + "<script defer src=\"{}sidebar-items{}.js\"></script>", + relpath, cx.shared.resource_suffix + ); } else { - write!(buffer, "<script defer src=\"{path}sidebar-items.js\"></script>", path = relpath); + write!(buffer, "<script defer src=\"{}sidebar-items.js\"></script>", relpath); } + // Closes sidebar-elems div. buffer.write_str("</div>"); } diff --git a/src/librustdoc/html/render/write_shared.rs b/src/librustdoc/html/render/write_shared.rs index d0518cb6862..ec54d94726e 100644 --- a/src/librustdoc/html/render/write_shared.rs +++ b/src/librustdoc/html/render/write_shared.rs @@ -225,6 +225,8 @@ pub(super) fn write_shared( )?; write_minify("search.js", static_files::SEARCH_JS)?; write_minify("settings.js", static_files::SETTINGS_JS)?; + write_minify("sidebar-items.js", static_files::sidebar::ITEMS)?; + if cx.shared.include_sources { write_minify("source-script.js", static_files::sidebar::SOURCE_SCRIPT)?; } diff --git a/src/librustdoc/html/static/sidebar-items.js b/src/librustdoc/html/static/sidebar-items.js new file mode 100644 index 00000000000..81172ba0d92 --- /dev/null +++ b/src/librustdoc/html/static/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({}); diff --git a/src/librustdoc/html/static_files.rs b/src/librustdoc/html/static_files.rs index 1abb1f7294a..4e3d5ff0a4a 100644 --- a/src/librustdoc/html/static_files.rs +++ b/src/librustdoc/html/static_files.rs @@ -130,4 +130,7 @@ crate mod source_code_pro { crate mod sidebar { /// File script to handle sidebar. crate static SOURCE_SCRIPT: &str = include_str!("static/source-script.js"); + + /// Top Level sidebar items script which will load a sidebar without items. + crate static ITEMS: &str = include_str!("static/sidebar-items.js"); } |
