如何正确重写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)
}