diff options
Diffstat (limited to 'src/librustdoc/html')
| -rw-r--r-- | src/librustdoc/html/layout.rs | 25 | ||||
| -rw-r--r-- | src/librustdoc/html/render.rs | 20 | ||||
| -rw-r--r-- | src/librustdoc/html/static/down-arrow.svg | 2 | ||||
| -rw-r--r-- | src/librustdoc/html/static/main.js | 8 | ||||
| -rw-r--r-- | src/librustdoc/html/static/rustdoc.css | 6 | ||||
| -rw-r--r-- | src/librustdoc/html/static/themes/dark.css | 6 | ||||
| -rw-r--r-- | src/librustdoc/html/static/themes/light.css | 6 |
7 files changed, 53 insertions, 20 deletions
diff --git a/src/librustdoc/html/layout.rs b/src/librustdoc/html/layout.rs index cf0267c1a8e..987cec6fbfa 100644 --- a/src/librustdoc/html/layout.rs +++ b/src/librustdoc/html/layout.rs @@ -25,10 +25,15 @@ pub struct Page<'a> { } pub fn render<T: fmt::Display, S: fmt::Display>( - dst: &mut dyn io::Write, layout: &Layout, page: &Page, sidebar: &S, t: &T, - css_file_extension: bool, themes: &[PathBuf]) - -> io::Result<()> -{ + dst: &mut dyn io::Write, + layout: &Layout, + page: &Page, + sidebar: &S, + t: &T, + css_file_extension: bool, + themes: &[PathBuf], + generate_search_filter: bool, +) -> io::Result<()> { let static_root_path = page.static_root_path.unwrap_or(page.root_path); write!(dst, "<!DOCTYPE html>\ @@ -81,10 +86,7 @@ pub fn render<T: fmt::Display, S: fmt::Display>( <nav class=\"sub\">\ <form class=\"search-form js-only\">\ <div class=\"search-container\">\ - <div>\ - <select id=\"crate-search\">\ - <option value=\"All crates\">All crates</option>\ - </select>\ + <div>{filter_crates}\ <input class=\"search-input\" name=\"search\" \ autocomplete=\"off\" \ spellcheck=\"false\" \ @@ -214,6 +216,13 @@ pub fn render<T: fmt::Display, S: fmt::Display>( root_path=page.root_path, extra_script=e) }).collect::<String>(), + filter_crates=if generate_search_filter { + "<select id=\"crate-search\">\ + <option value=\"All crates\">All crates</option>\ + </select>" + } else { + "" + }, ) } diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index c5847d36146..184d5b24d6e 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -133,6 +133,9 @@ struct SharedContext { /// Optional path string to be used to load static files on output pages. If not set, uses /// combinations of `../` to reach the documentation root. pub static_root_path: Option<String>, + /// If false, the `select` element to have search filtering by crates on rendered docs + /// won't be generated. + pub generate_search_filter: bool, } impl SharedContext { @@ -500,6 +503,7 @@ pub fn run(mut krate: clean::Crate, extern_html_root_urls, resource_suffix, static_root_path, + generate_search_filter, .. } = options; @@ -528,6 +532,7 @@ pub fn run(mut krate: clean::Crate, themes, resource_suffix, static_root_path, + generate_search_filter, }; // If user passed in `--playground-url` arg, we fill in crate name here @@ -1099,7 +1104,8 @@ themePicker.onblur = handleThemeButtonsBlur; try_err!(layout::render(&mut w, &cx.shared.layout, &page, &(""), &content, cx.shared.css_file_extension.is_some(), - &cx.shared.themes), &dst); + &cx.shared.themes, + cx.shared.generate_search_filter), &dst); try_err!(w.flush(), &dst); } } @@ -1372,7 +1378,8 @@ impl<'a> SourceCollector<'a> { layout::render(&mut w, &self.scx.layout, &page, &(""), &Source(contents), self.scx.css_file_extension.is_some(), - &self.scx.themes)?; + &self.scx.themes, + self.scx.generate_search_filter)?; w.flush()?; self.scx.local_sources.insert(p.clone(), href); Ok(()) @@ -1974,7 +1981,8 @@ impl Context { try_err!(layout::render(&mut w, &self.shared.layout, &page, &sidebar, &all, self.shared.css_file_extension.is_some(), - &self.shared.themes), + &self.shared.themes, + self.shared.generate_search_filter), &final_file); // Generating settings page. @@ -1994,7 +2002,8 @@ impl Context { try_err!(layout::render(&mut w, &layout, &page, &sidebar, &settings, self.shared.css_file_extension.is_some(), - &themes), + &themes, + self.shared.generate_search_filter), &settings_file); Ok(()) @@ -2055,7 +2064,8 @@ impl Context { &Sidebar{ cx: self, item: it }, &Item{ cx: self, item: it }, self.shared.css_file_extension.is_some(), - &self.shared.themes)?; + &self.shared.themes, + self.shared.generate_search_filter)?; } 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/down-arrow.svg b/src/librustdoc/html/static/down-arrow.svg index a2d9a37dde0..c0f59f0c36f 100644 --- a/src/librustdoc/html/static/down-arrow.svg +++ b/src/librustdoc/html/static/down-arrow.svg @@ -1 +1 @@ -<?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg height="128px" id="Layer_1" style="enable-background:new 0 0 128 128;" version="1.1" viewBox="0 0 128 128" width="128px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g><line style="fill:none;stroke:#2F3435;stroke-width:12;stroke-linecap:square;stroke-miterlimit:10;" x1="111" x2="64" y1="40.5" y2="87.499"/><line style="fill:none;stroke:#2F3435;stroke-width:12;stroke-linecap:square;stroke-miterlimit:10;" x1="64" x2="17" y1="87.499" y2="40.5"/></g></svg> \ No newline at end of file +<?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg height="128px" id="Layer_1" style="enable-background:new 0 0 128 128;" version="1.1" viewBox="-30 -20 176 176" width="128px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g><line style="fill:none;stroke:#2F3435;stroke-width:12;stroke-linecap:square;stroke-miterlimit:10;" x1="111" x2="64" y1="40.5" y2="87.499"/><line style="fill:none;stroke:#2F3435;stroke-width:12;stroke-linecap:square;stroke-miterlimit:10;" x1="64" x2="17" y1="87.499" y2="40.5"/></g></svg> \ No newline at end of file diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index 02ffcf478f9..75b0f5df0d8 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -2422,9 +2422,11 @@ if (!DOMTokenList.prototype.remove) { return; } var crates_text = []; - for (var crate in crates) { - if (crates.hasOwnProperty(crate)) { - crates_text.push(crate); + if (crates.length > 1) { + for (var crate in crates) { + if (crates.hasOwnProperty(crate)) { + crates_text.push(crate); + } } } crates_text.sort(function(a, b) { diff --git a/src/librustdoc/html/static/rustdoc.css b/src/librustdoc/html/static/rustdoc.css index 0b0acafb755..2cc0b5e30b8 100644 --- a/src/librustdoc/html/static/rustdoc.css +++ b/src/librustdoc/html/static/rustdoc.css @@ -649,7 +649,7 @@ a { box-sizing: border-box !important; outline: none; border: none; - border-radius: 0 1px 1px 0; + border-radius: 1px; margin-top: 5px; padding: 10px 16px; font-size: 17px; @@ -659,6 +659,10 @@ a { width: 100%; } +#crate-search + .search-input { + border-radius: 0 1px 1px 0; +} + .search-input:focus { border-radius: 2px; border: 0; diff --git a/src/librustdoc/html/static/themes/dark.css b/src/librustdoc/html/static/themes/dark.css index 215c833ee0d..1390be70063 100644 --- a/src/librustdoc/html/static/themes/dark.css +++ b/src/librustdoc/html/static/themes/dark.css @@ -182,7 +182,7 @@ a.test-arrow { .search-input { color: #111; - box-shadow: 1px 0 0 1px #000, 0 0 0 2px transparent; + box-shadow: 0 0 0 1px #000, 0 0 0 2px transparent; background-color: #f0f0f0; } @@ -190,6 +190,10 @@ a.test-arrow { border-color: #008dfd; } +#crate-search + .search-input { + box-shadow: 1px 0 0 1px #000, 0 0 0 2px transparent; +} + .stab.unstable { background: #FFF5D6; border-color: #FFC600; color: #404040; } .stab.internal { background: #FFB9B3; border-color: #B71C1C; color: #404040; } .stab.deprecated { background: #F3DFFF; border-color: #7F0087; color: #404040; } diff --git a/src/librustdoc/html/static/themes/light.css b/src/librustdoc/html/static/themes/light.css index d955cd162b0..2b04dd2388d 100644 --- a/src/librustdoc/html/static/themes/light.css +++ b/src/librustdoc/html/static/themes/light.css @@ -183,7 +183,7 @@ a.test-arrow { .search-input { color: #555; - box-shadow: 1px 0 0 1px #e0e0e0, 0 0 0 2px transparent; + box-shadow: 0 0 0 1px #e0e0e0, 0 0 0 2px transparent; background-color: white; } @@ -191,6 +191,10 @@ a.test-arrow { border-color: #66afe9; } +#crate-search + .search-input { + box-shadow: 1px 0 0 1px #e0e0e0, 0 0 0 2px transparent; +} + .stab.unstable { background: #FFF5D6; border-color: #FFC600; } .stab.internal { background: #FFB9B3; border-color: #B71C1C; } .stab.deprecated { background: #F3DFFF; border-color: #7F0087; } |
