diff --git a/src/librustdoc/html/layout.rs b/src/librustdoc/html/layout.rs index 7b4781870de..8395b0686e1 100644 --- a/src/librustdoc/html/layout.rs +++ b/src/librustdoc/html/layout.rs @@ -10,6 +10,7 @@ use std::fmt; use std::io; +use std::path::PathBuf; use externalfiles::ExternalHtml; @@ -31,7 +32,7 @@ pub struct Page<'a> { pub fn render( dst: &mut io::Write, layout: &Layout, page: &Page, sidebar: &S, t: &T, - css_file_extension: bool) + css_file_extension: bool, themes: &[PathBuf]) -> io::Result<()> { write!(dst, @@ -48,7 +49,9 @@ r##" - + {themes} + + {css_extension} @@ -182,6 +185,12 @@ r##" after_content = layout.external_html.after_content, sidebar = *sidebar, krate = layout.krate, + themes = themes.iter() + .filter_map(|t| t.file_stem()) + .filter_map(|t| t.to_str()) + .map(|t| format!(r#""#, + page.root_path, t)) + .collect::(), ) } diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index 9993823c580..4a56dbac50e 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -1224,7 +1224,8 @@ impl<'a> SourceCollector<'a> { }; layout::render(&mut w, &self.scx.layout, &page, &(""), &Source(contents), - self.scx.css_file_extension.is_some())?; + self.scx.css_file_extension.is_some(), + &self.scx.themes)?; w.flush()?; self.scx.local_sources.insert(p.clone(), href); Ok(()) @@ -1588,7 +1589,8 @@ impl Context { layout::render(writer, &self.shared.layout, &page, &Sidebar{ cx: self, item: it }, &Item{ cx: self, item: it }, - self.shared.css_file_extension.is_some())?; + self.shared.css_file_extension.is_some(), + &self.shared.themes)?; } else { let mut url = self.root_path(); if let Some(&(ref names, ty)) = cache().paths.get(&it.def_id) { diff --git a/src/librustdoc/html/static/storage.js b/src/librustdoc/html/static/storage.js index 7e384a64c0a..0aa1065b378 100644 --- a/src/librustdoc/html/static/storage.js +++ b/src/librustdoc/html/static/storage.js @@ -31,14 +31,6 @@ function getCurrentValue(name) { function switchTheme(styleElem, mainStyleElem, newTheme) { styleElem.href = mainStyleElem.href.replace("rustdoc.css", newTheme + ".css"); updateLocalStorage('theme', newTheme); - /*var elem = document.getElementsByTagName('body')[0]; - if (elem) { - updateLocalStorage('background', getComputedStyle(elem)['background-color']); - }*/ } -/*var elem = document.getElementsByTagName('body')[0]; -if (elem) { - var value = -}*/ switchTheme(currentTheme, mainTheme, getCurrentValue('theme') || 'main');