]> git.lizzy.rs Git - rust.git/commitdiff
Add default favicon for documentation
authorGuillaume Gomez <guillaume1.gomez@gmail.com>
Sat, 12 Jan 2019 21:27:09 +0000 (22:27 +0100)
committerGuillaume Gomez <guillaume1.gomez@gmail.com>
Sun, 20 Jan 2019 20:47:43 +0000 (21:47 +0100)
src/librustdoc/html/layout.rs
src/librustdoc/html/render.rs
src/librustdoc/html/static/favicon.ico [new file with mode: 0644]
src/librustdoc/html/static_files.rs

index b7af28fbcc8ae1ca97d93d0dbf22c90deab7681b..c34dcbbb672e9b8753d784dbe9687171faed258f 100644 (file)
@@ -191,7 +191,9 @@ pub fn render<T: fmt::Display, S: fmt::Display>(
     description = page.description,
     keywords = page.keywords,
     favicon   = if layout.favicon.is_empty() {
-        String::new()
+        format!(r#"<link rel="shortcut icon" href="{static_root_path}favicon{suffix}.ico">"#,
+                static_root_path=static_root_path,
+                suffix=page.resource_suffix)
     } else {
         format!(r#"<link rel="shortcut icon" href="{}">"#, layout.favicon)
     },
index d050b706f1031ae6955d2126f70fa2b773ccca59..b64ac9509631b467de0c0e66991404f625ace555 100644 (file)
@@ -793,6 +793,10 @@ fn write_shared(
         write(cx.dst.join(&format!("rust-logo{}.png", cx.shared.resource_suffix)),
               static_files::RUST_LOGO)?;
     }
+    if (*cx.shared).layout.favicon.is_empty() {
+        write(cx.dst.join(&format!("favicon{}.ico", cx.shared.resource_suffix)),
+              static_files::RUST_FAVICON)?;
+    }
     write(cx.dst.join(&format!("brush{}.svg", cx.shared.resource_suffix)),
           static_files::BRUSH_SVG)?;
     write(cx.dst.join(&format!("wheel{}.svg", cx.shared.resource_suffix)),
@@ -1999,8 +2003,6 @@ fn krate(self, mut krate: clean::Crate) -> Result<(), Error> {
         themes.push(PathBuf::from("settings.css"));
         let mut layout = self.shared.layout.clone();
         layout.krate = String::new();
-        layout.logo = String::new();
-        layout.favicon = String::new();
         try_err!(layout::render(&mut w, &layout,
                                 &page, &sidebar, &settings,
                                 self.shared.css_file_extension.is_some(),
diff --git a/src/librustdoc/html/static/favicon.ico b/src/librustdoc/html/static/favicon.ico
new file mode 100644 (file)
index 0000000..b8ad237
Binary files /dev/null and b/src/librustdoc/html/static/favicon.ico differ
index bd048d2ec9742e664b2f741ec582ec4bb5ca3dc2..a1d8cfacc54ada112d34a7cb52037559b4c522bd 100644 (file)
@@ -53,6 +53,8 @@
 
 /// The contents of `rust-logo.png`, the default icon of the documentation.
 pub static RUST_LOGO: &'static [u8] = include_bytes!("static/rust-logo.png");
+/// The contents of `favicon.ico`, the default favicon of the documentation.
+pub static RUST_FAVICON: &'static [u8] = include_bytes!("static/favicon.ico");
 
 /// The built-in themes given to every documentation site.
 pub mod themes {