Skip to content

Commit

Permalink
Call initSidebarItems in root module of crate
Browse files Browse the repository at this point in the history
  • Loading branch information
Stupremee committed May 15, 2021
1 parent 75da570 commit aaf0ff8
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 3 deletions.
11 changes: 8 additions & 3 deletions src/librustdoc/html/render/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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>");
}
Expand Down
2 changes: 2 additions & 0 deletions src/librustdoc/html/render/write_shared.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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)?;
}
Expand Down
1 change: 1 addition & 0 deletions src/librustdoc/html/static/sidebar-items.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
initSidebarItems({});
3 changes: 3 additions & 0 deletions src/librustdoc/html/static_files.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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");
}

0 comments on commit aaf0ff8

Please sign in to comment.