Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Favicon in Shiny

Tags:

r

favicon

shiny

I wanted to add a favicon to my WebApp

I'm using this line, but it doesn't work:

HTML("<link rel=\"icon\" type=\"image/png\" href=\"image.png\" />")

inside the ui.R script and outside the shinyUI() function. Also I have the image.png where the server.R and ui.R are. (I've also tried putting it inside the folder /www )

Do you know how to do it? Thanks

like image 512
Geiser Avatar asked May 07 '15 08:05

Geiser


4 Answers

If you're using a local runapp, then putting one in /www/favicon.ico should work, I believe.

You could also insert this somewhere in your UI:

tags$head(tags$link(rel="shortcut icon", href="URL-to-favicon"))

Joe Cheng

like image 60
zx8754 Avatar answered Nov 01 '22 02:11

zx8754


You can convert your favicon into base64 text (check favicon.cc website, they already do it) and write:

ui <- function(){tagList(

fluidPage(


titlePanel(
  windowTitle = "Title that appears in the browser bar",
  title = tags$head(tags$link(rel="icon", 
                              href="data:image/x-icon;base64,AAABAAEAEBAQAAEAetc", 
                              type="image/x-icon")
                    )),

sidebarLayout( sidebarPanel(
like image 43
Giancarlo Tamburello Avatar answered Nov 01 '22 00:11

Giancarlo Tamburello


A possible problem the OP is having is that the favicon filename should be favicon.ico and not image.png.

Some additional details here: favicon.png vs favicon.ico - why should I use PNG instead of ICO?

The important part being:

All modern browsers (tested with Chrome 4, Firefox 3.5, IE8, Opera 10 and Safari 4) will always request a favicon.ico unless you've specified a shortcut icon via . So if you don't explicitly specify one, it's best to always have a favicon.ico file, to avoid a 404.

like image 3
petbadger Avatar answered Nov 01 '22 01:11

petbadger


I was able to get favicon to work in r shiny using this code on both internet explorer and chrome:

ui <- fluidPage(
  titlePanel(
    windowTitle = "NOAA",
    title = tags$head(tags$link(rel="shortcut icon", 
                                href="https://www.noaa.gov/sites/all/themes/custom/noaa/favicon.ico", 
                                type="image/vnd.microsoft.icon")))
###... rest of code
)

server <- function(input, output, session) {
###... rest of code
}

runApp(shinyApp(ui = ui, server = server), launch.browser = TRUE)
like image 2
Emms Avatar answered Nov 01 '22 00:11

Emms