From b5d167f58a423cb0003714eceeb72172d1726473 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Sat, 12 Jan 2019 22:27:09 +0100 Subject: [PATCH] Add default favicon for documentation --- src/librustdoc/html/layout.rs | 4 +++- src/librustdoc/html/render.rs | 6 ++++-- src/librustdoc/html/static/favicon.ico | Bin 0 -> 23229 bytes src/librustdoc/html/static_files.rs | 2 ++ 4 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 src/librustdoc/html/static/favicon.ico diff --git a/src/librustdoc/html/layout.rs b/src/librustdoc/html/layout.rs index b7af28fbcc8a..c34dcbbb672e 100644 --- a/src/librustdoc/html/layout.rs +++ b/src/librustdoc/html/layout.rs @@ -191,7 +191,9 @@ pub fn render( description = page.description, keywords = page.keywords, favicon = if layout.favicon.is_empty() { - String::new() + format!(r#""#, + static_root_path=static_root_path, + suffix=page.resource_suffix) } else { format!(r#""#, layout.favicon) }, diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index d050b706f103..b64ac9509631 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -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 @@ impl Context { 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 index 0000000000000000000000000000000000000000..b8ad23769ac8d06eb5973bfb3d2acbf385240f98 GIT binary patch literal 23229 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