about summary refs log tree commit diff
path: root/src/librustdoc/html
diff options
context:
space:
mode:
Diffstat (limited to 'src/librustdoc/html')
-rw-r--r--src/librustdoc/html/layout.rs25
-rw-r--r--src/librustdoc/html/render.rs20
-rw-r--r--src/librustdoc/html/static/down-arrow.svg2
-rw-r--r--src/librustdoc/html/static/main.js8
-rw-r--r--src/librustdoc/html/static/rustdoc.css6
-rw-r--r--src/librustdoc/html/static/themes/dark.css6
-rw-r--r--src/librustdoc/html/static/themes/light.css6
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; }