Fasten even more theme switch · rust-lang/rust@5b85044 (original) (raw)
3 files changed
lines changed
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -10,6 +10,7 @@ | ||
10 | 10 | |
11 | 11 | use std::fmt; |
12 | 12 | use std::io; |
13 | +use std::path::PathBuf; | |
13 | 14 | |
14 | 15 | use externalfiles::ExternalHtml; |
15 | 16 | |
@@ -31,7 +32,7 @@ pub struct Page<'a> { | ||
31 | 32 | |
32 | 33 | pub fn render<T: fmt::Display, S: fmt::Display>( |
33 | 34 | dst: &mut io::Write, layout: &Layout, page: &Page, sidebar: &S, t: &T, |
34 | -css_file_extension: bool) | |
35 | +css_file_extension: bool, themes: &[PathBuf]) | |
35 | 36 | -> io::Result<()> |
36 | 37 | { |
37 | 38 | write!(dst, |
@@ -48,7 +49,9 @@ r##" | ||
48 | 49 | |
49 | 50 | |
50 | 51 | |
51 | - | |
52 | + {themes} | |
53 | + | |
54 | + | |
52 | 55 | |
53 | 56 | {css_extension} |
54 | 57 | |
@@ -182,6 +185,12 @@ r##" | ||
182 | 185 | after_content = layout.external_html.after_content, |
183 | 186 | sidebar = *sidebar, |
184 | 187 | krate = layout.krate, |
188 | + themes = themes.iter() | |
189 | +.filter_map(|t | |
190 | +.filter_map(|t | |
191 | +.map(|t | |
192 | + page.root_path, t)) | |
193 | +.collect::<String>(), | |
185 | 194 | ) |
186 | 195 | } |
187 | 196 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1224,7 +1224,8 @@ impl<'a> SourceCollector<'a> { | ||
1224 | 1224 | }; |
1225 | 1225 | layout::render(&mut w, &self.scx.layout, |
1226 | 1226 | &page, &(""), &Source(contents), |
1227 | -self.scx.css_file_extension.is_some())?; | |
1227 | +self.scx.css_file_extension.is_some(), | |
1228 | +&self.scx.themes)?; | |
1228 | 1229 | w.flush()?; |
1229 | 1230 | self.scx.local_sources.insert(p.clone(), href); |
1230 | 1231 | Ok(()) |
@@ -1588,7 +1589,8 @@ impl Context { | ||
1588 | 1589 | layout::render(writer, &self.shared.layout, &page, |
1589 | 1590 | &Sidebar{ cx: self, item: it }, |
1590 | 1591 | &Item{ cx: self, item: it }, |
1591 | -self.shared.css_file_extension.is_some())?; | |
1592 | +self.shared.css_file_extension.is_some(), | |
1593 | +&self.shared.themes)?; | |
1592 | 1594 | } else { |
1593 | 1595 | let mut url = self.root_path(); |
1594 | 1596 | if let Some(&(ref names, ty)) = cache().paths.get(&it.def_id) { |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -31,14 +31,6 @@ function getCurrentValue(name) { | ||
31 | 31 | function switchTheme(styleElem, mainStyleElem, newTheme) { |
32 | 32 | styleElem.href = mainStyleElem.href.replace("rustdoc.css", newTheme + ".css"); |
33 | 33 | updateLocalStorage('theme', newTheme); |
34 | -/*var elem = document.getElementsByTagName('body')[0]; | |
35 | - if (elem) { | |
36 | - updateLocalStorage('background', getComputedStyle(elem)['background-color']); | |
37 | - }*/ | |
38 | 34 | } |
39 | 35 | |
40 | -/*var elem = document.getElementsByTagName('body')[0]; | |
41 | -if (elem) { | |
42 | - var value = | |
43 | -}*/ | |
44 | 36 | switchTheme(currentTheme, mainTheme, getCurrentValue('theme') | |