diff --git a/scala3doc/resources/dotty_res/favicon.ico b/scala3doc/resources/dotty_res/favicon.ico new file mode 100644 index 000000000000..96b12b511b33 Binary files /dev/null and b/scala3doc/resources/dotty_res/favicon.ico differ diff --git a/scala3doc/src/dotty/dokka/preprocessors/ScalaResourceInstaller.scala b/scala3doc/src/dotty/dokka/preprocessors/ScalaResourceInstaller.scala index 17879af5073a..151094880d01 100644 --- a/scala3doc/src/dotty/dokka/preprocessors/ScalaResourceInstaller.scala +++ b/scala3doc/src/dotty/dokka/preprocessors/ScalaResourceInstaller.scala @@ -12,7 +12,7 @@ class ScalaResourceInstaller(args: Args) extends PageTransformer: new RendererSpecificResourcePage(resourceName, java.util.ArrayList(), RenderingStrategy$Copy(s"/dotty_res/$resourceName")) override def invoke(input: RootPageNode): RootPageNode = - val defaultResources = input.getChildren.asScala ++ Seq("fonts", "images", "styles", "scripts", "hljs").map(dottyRes) + val defaultResources = input.getChildren.asScala ++ Seq("fonts", "images", "styles", "scripts", "hljs", "favicon.ico").map(dottyRes) val newResources = projectLogo ++ defaultResources ++ Seq(dynamicJsData) input.modified(input.getName, newResources.asJava) diff --git a/scala3doc/src/dotty/renderers/ScalaHtmlRenderer.scala b/scala3doc/src/dotty/renderers/ScalaHtmlRenderer.scala index ada77dc0d100..03cf4d873965 100644 --- a/scala3doc/src/dotty/renderers/ScalaHtmlRenderer.scala +++ b/scala3doc/src/dotty/renderers/ScalaHtmlRenderer.scala @@ -284,6 +284,7 @@ class ScalaHtmlRenderer(ctx: DokkaContext, args: Args) extends HtmlRenderer(ctx) meta(charset := "utf-8"), meta(name := "viewport", content := "width=device-width, initial-scale=1"), title(pageTitle), + link(rel := "shortcut icon", `type` := "image/x-icon", href := resolveLink(page)("favicon.ico")), linkResources(page, resources.asScala).toSeq, script(raw(s"""var pathToRoot = "${getLocationProvider.pathToRoot(page)}";""")) ),