https://github.com/rstudio/shiny/blob/174a1fe83437008bca69e48fe346470e5c09ecb9/R/bootstrap.R#L1547
Я заметил, что в последних нескольких версиях, которые они выпустили, произошли огромные изменения в шрифтовых значках, документация для icons()
теперь неверна, так как большинство значков, перечисленных в их проводнике, не будут загружаться при использовании. в блестящем приложении.
Пожалуйста, обновите файлы шрифтов font-awesome или новую реализацию svg.
По какой ссылке вы переходите к списку иконок Font Awesome? Если перейти на веб-сайт Font Awesome 4.7, см. https://fontawesome.com/v4.7.0/ , все перечисленные значки должны работать с icon()
. Обновления в Font Awesome 5 не являются тривиальными. На данный момент лучшим решением может быть убедиться, что документация Shiny указывает на веб-сайт Font Awesome 4.7.
Некоторые примечания относительно FA 4 и 5: https://www.drupal.org/project/fontawesome/issues/2930071
Просто добавьте +1 к этому запросу.
Это сбивает с толку блестящими страницами справки, указывающими на страницу значков, где 90% из них непригодны для использования, без четкого указания (для новых пользователей), почему некоторые из них не будут / не будут работать.
Я только что внес некоторые изменения в форк https://github.com/JesseVent/shiny/commit/9ce6f87094ba5f6d4ca00455296a02d83454172d , которые работают, сборка проходит все тесты и проверки CRAN. Так что может быть что-то, на что стоит обратить внимание. К сожалению, я не смог придумать способ обеспечить резервную поддержку для 4.7.0, кроме использования документа сопоставления в файле csv.
Кажется, работает довольно хорошо в сценариях, которые я тестировал, определенно рендерится в приложении. Надеюсь, поможет.
icon <- function(name, class = NULL, lib = "font-awesome", style="fas") {
prefixes <- list(
"font-awesome" = "fa",
"glyphicon" = "glyphicon"
)
prefix <- prefixes[[lib]]
# determine stylesheet
if (is.null(prefix)) {
stop("Unknown font library '", lib, "' specified. Must be one of ",
paste0('"', names(prefixes), '"', collapse = ", "))
}
# Add fallback support for 4.7.0 by checking for legacy icons names and replacing with 5.2.0 names
if ( prefix == "fa" && !is.null(name)) {
mapfile <- system.file("www","shared","font-awesome", "fa-mapping.csv", package = "shiny")
fa_lookup <- read.csv(mapfile, stringsAsFactors = FALSE)
match <- match(name, fa_lookup$v4_name)
prefix_tag <- NA
if (!is.na(match)) {
match <- as.numeric(match)
name <- fa_lookup$v5_name[match]
prefix_tag <- fa_lookup$prefix[match]
}
if (is.na(prefix_tag)) prefix_tag <- style
}
# build the icon class (allow name to be null so that other functions
# e.g. buildTabset can pass an explicit class value)
iconClass <- ""
if (!is.null(name)) {
# support for glyphicon
if(prefix != "fa") iconClass <- paste0(prefix, " ", prefix, "-", name)
# new font-awesome format
if(prefix == "fa") iconClass <- paste0(prefix_tag, " ", prefix, "-", name)
}
if (!is.null(class)) iconClass <- paste(iconClass, class)
iconTag <- tags$i(class = iconClass)
# font-awesome needs an additional dependency (glyphicon is in bootstrap)
if (lib == "font-awesome") {
htmltools::htmlDependency("font-awesome", "5.2.0", c(href="shared/font-awesome"), script = "js/all.js")
}
iconTag
}
* checking for code/documentation mismatches ... OK
* checking Rd \usage sections ... OK
* checking Rd contents ... OK
* checking for unstated dependencies in examples ... OK
* checking examples ... OK
* checking for unstated dependencies in ‘tests’ ... OK
* checking tests ...
* Running ‘test-all.R’ OK
* DONE
Status: 1 NOTE
checking installed package size ... NOTE
R CMD check results
0 errors | 0 warnings | 1 note
R CMD check succeeded
Мы решили обновиться до версии 5.3.1 и включить замечательную прокладку совместимости v4. Это должно гарантировать, что все смогут использовать новые значки без нарушения работы существующих приложений (хотя некоторые новые причудливые функции в fontawesome 5 будут недоступны — надеюсь, вы сможете использовать их с помощью пакетов rstudio/fontawesome илиropenscilabs/icon) .
Самый полезный комментарий
Мы решили обновиться до версии 5.3.1 и включить замечательную прокладку совместимости v4. Это должно гарантировать, что все смогут использовать новые значки без нарушения работы существующих приложений (хотя некоторые новые причудливые функции в fontawesome 5 будут недоступны — надеюсь, вы сможете использовать их с помощью пакетов rstudio/fontawesome илиropenscilabs/icon) .