Shiny: Пожелание: обновить шрифтовую версию

Созданный на 3 мар. 2018  ·  5Комментарии  ·  Источник: rstudio/shiny

https://github.com/rstudio/shiny/blob/174a1fe83437008bca69e48fe346470e5c09ecb9/R/bootstrap.R#L1547

Я заметил, что в последних нескольких версиях, которые они выпустили, произошли огромные изменения в шрифтовых значках, документация для icons() теперь неверна, так как большинство значков, перечисленных в их проводнике, не будут загружаться при использовании. в блестящем приложении.

Пожалуйста, обновите файлы шрифтов font-awesome или новую реализацию svg.

Самый полезный комментарий

Мы решили обновиться до версии 5.3.1 и включить замечательную прокладку совместимости v4. Это должно гарантировать, что все смогут использовать новые значки без нарушения работы существующих приложений (хотя некоторые новые причудливые функции в fontawesome 5 будут недоступны — надеюсь, вы сможете использовать их с помощью пакетов rstudio/fontawesome илиropenscilabs/icon) .

Все 5 Комментарий

По какой ссылке вы переходите к списку иконок 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) .

Была ли эта страница полезной?
0 / 5 - 0 рейтинги