如何正确重写R&x27;s函数图标()是否包含字体图标?

如何正确重写R&x27;s函数图标()是否包含字体图标?,r,shiny,font-awesome,R,Shiny,Font Awesome,这是基于另一个线程的后续问题,该线程询问相同的问题: 我尝试了公认的答案,但它只适用于免费图标。不渲染其他图标,即不显示任何内容 下面是我试图重写自定义my_icon(),从上面链接的线程“分叉”的失败尝试。我的目标是在假设iconClass应该是,例如,fas-fa-alien,fal,fad的情况下,正确地解释pro图标类 我的改变仍然没有效果。专业图标一直没有出现。所以我肯定错过了一些基本的东西 请注意,我将/www/shared更改为/shared/,以避免出现警告: 警告:发现应用程序

这是基于另一个线程的后续问题,该线程询问相同的问题:

我尝试了公认的答案,但它只适用于免费图标。不渲染其他图标,即不显示任何内容

下面是我试图重写自定义
my_icon()
,从上面链接的线程“分叉”的失败尝试。我的目标是在假设
iconClass
应该是,例如,
fas-fa-alien
fal
fad
的情况下,正确地解释pro图标类

我的改变仍然没有效果。专业图标一直没有出现。所以我肯定错过了一些基本的东西

请注意,我将
/www/shared
更改为
/shared/
,以避免出现警告:

警告:发现应用程序的www/目录的子目录与其他资源URL前缀冲突。考虑重命名这些目录:“www/共享”

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

前缀这个问题是一年前提出的,但如果其他人正在寻找答案:有一个模块可以解决这个问题。
shinny::icon()
实现在内部使用
fau i()
,但是如果你自己调用
fau i()
,你应该能够使用“
html\u依赖项”
”添加“pro”图标参数。从文档中,参数:

提供了使用自定义
html_依赖项
对象(通过调用
htmltools::htmlDependency()
创建)而不是函数提供的对象(该函数使用Font Aoem的免费资产并捆绑在包中)的机会.自定义
html\u依赖项
对象在您从Font-awome
支付图标或希望自定义使用的图标资产(例如,woff、woff2、eot等)时非常有用。默认情况下,这是
NULL
,函数在其中内部生成
html\u依赖项


这个问题是一年前提出的,但如果其他人正在寻找答案:有一个模块可以解决这个问题。
shinny::icon()
实现在内部使用
fau i()
,但是如果您自己调用
fau i()
,您应该能够使用“
html\u依赖项”
”添加“pro”图标参数。从文档中,参数:

提供了使用自定义
html_依赖项
对象(通过调用
htmltools::htmlDependency()
创建)而不是函数提供的对象(该函数使用Font Aoem的免费资产并捆绑在包中)的机会.自定义
html\u依赖项
对象在您从Font-awome
支付图标或希望自定义使用的图标资产(例如,woff、woff2、eot等)时非常有用。默认情况下,这是
NULL
,函数在其中内部生成
html\u依赖项

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) & is.null(class)) {
    prefix_class <- prefix
    iconClass <- paste0(prefix_class, " ", prefix, "-", name)
  } else if (!is.null(name) & !is.null(class)) {
    iconClass <- paste0(prefix, '-', name)
    iconClass <- paste(class, iconClass)
  }

  # print(iconClass)
  iconTag <- tags$i(class = iconClass)
  if (lib == "font-awesome") {
    htmlDependencies(iconTag) <- htmlDependency("font-awesome", 
                                                "5.13.0", "./shared/fontawesome", 
                                                stylesheet = c("css/all.min.css"))
  }
  htmltools::browsable(iconTag)
}