From aaf0ff83fb5473a1bd73f9062e168a7e183c444f Mon Sep 17 00:00:00 2001 From: Justus K Date: Fri, 14 May 2021 22:45:00 +0200 Subject: [PATCH] Call `initSidebarItems` in root module of crate --- src/librustdoc/html/render/mod.rs | 11 ++++++++--- src/librustdoc/html/render/write_shared.rs | 2 ++ src/librustdoc/html/static/sidebar-items.js | 1 + src/librustdoc/html/static_files.rs | 3 +++ 4 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 src/librustdoc/html/static/sidebar-items.js diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs index 5b54b32e4ddea..f4a84efb5971d 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, + "", + relpath, cx.shared.resource_suffix + ); } else { - write!(buffer, "", path = relpath); + write!(buffer, "", relpath); } + // Closes sidebar-elems div. buffer.write_str(""); } diff --git a/src/librustdoc/html/render/write_shared.rs b/src/librustdoc/html/render/write_shared.rs index d0518cb6862fe..ec54d94726eab 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 0000000000000..81172ba0d9280 --- /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 1abb1f7294a18..4e3d5ff0a4a5a 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"); }