gpt4 book ai didi

R Shiny : how to use fontawesome pro version with the icon function?

转载 作者:行者123 更新时间:2023-12-04 10:09:23 25 4
gpt4 key购买 nike

我正在通过 icon 在我的 Shiny 应用程序中使用超赞的图标功能。

我已经下载了 fontawesome 的专业版,并使用了这里的说明:shinydashboard some Font Awesome Icons Not Working用我的付费版本替换 Shiny 默认使用的免费版本(在 shiny\www\shared\font-awesome 内)。这在本地工作得很好,所有专业图标都显示在我的应用程序中。

但是,当我部署到 shinyapps.io 时,似乎 Shiny 又回到使用默认版本了。我确实尝试在 /www/ 中包含我的 pro 目录我的应用程序的文件夹,但没有成功。似乎没有办法告诉icon()查看本地版本的 fontawesome 的函数,例如 icon(...,lib=local) , 或 icon(...,lib=path_to_fa) ...

任何帮助将非常受欢迎。

最佳答案

诀窍是,在 htmlDependency 里面调用(在 icon() 函数中),删除 package = "shiny"并替换 "www/shared/fontawesome"通过我的 FA 文件夹的绝对路径(我还更新了版本号)。

编辑:更准确地说,下面是(非常轻微地)修改的图标功能:

my_icon = function (name, class = NULL, lib = "font-awesome") {

prefixes <- list(`font-awesome` = "fa", glyphicon = "glyphicon")
prefix <- prefixes[[lib]]
if (is.null(prefix)) {
stop("Unknown font library '", lib, "' specified. Must be one of ",
paste0("\"", names(prefixes), "\"", collapse = ", "))
}
iconClass <- ""
if (!is.null(name)) {
prefix_class <- prefix
#if (prefix_class == "fa" && name %in% font_awesome_brands) {
# prefix_class <- "fab"
#}
iconClass <- paste0(prefix_class, " ", prefix, "-", name)
}
if (!is.null(class))
iconClass <- paste(iconClass, class)
iconTag <- tags$i(class = iconClass)
if (lib == "font-awesome") {
htmlDependencies(iconTag) <- htmlDependency("font-awesome",
"5.7.2", "./www/shared/fontawesome/",
stylesheet = c("css/all.min.css"))
}
htmltools::browsable(iconTag)
}

除了注释掉一些行之外,我唯一改变的部分是 htmlDependency称呼。在原始函数中,它是:
htmlDependency("font-awesome", "5.3.1", "www/shared/fontawesome", package = "shiny",
stylesheet = c("css/all.min.css", "css/v4-shims.min.css")

关于R Shiny : how to use fontawesome pro version with the icon function?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55163719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com