Добавить логотип владельца авторских прав или спонсора в pkgdown index.html

#html #r #graphical-logo #pkgdown

#HTML #r #графический-логотип #pkgdown

Вопрос:

Я хотел бы добавить логотип владельца авторских прав / спонсора на статическую веб-страницу пакета R, который я поддерживаю. Веб-страница создается с помощью pkgdown.

Я вижу, что на их статических веб-страницах все пакеты tidyverse имеют логотип RStudio в конце списка разработчиков, напримерhttps://dplyr.tidyverse.org /. Я просмотрел несколько конфигурационных файлов yaml и просмотрел исходный код pkgdown, но, похоже, не смог отследить, где это указано, хотя я могу определить это в сгенерированных pkgdown HTML-файлах; и я могу сказать, что это извлекается с этого URLhttps://www.tidyverse.org/rstudio-logo.svg;

Затем я попытался указать ‘Rstudio’ в качестве авторов моего пакета, и я увидел логотип! Я полагаю, что это каким-то образом жестко запрограммировано в pkgdown, т. Е. Когда одним из авторов в описании является ‘RStudio’, логотип извлекается из приведенного выше URL.

Как я могу добиться чего-то подобного с моим собственным логотипом, размещенным локально или в URL?

Ответ №1:

Хорошо, я на самом деле недостаточно эффективно «просмотрел» (т. е. переписал) исходный код pkgdown. Действительно, логотип RStudio, а также ссылка на личную веб-страницу Хэдли Уикхема и Консорциума R указаны по умолчанию и могут быть найдены в build-home-authors.R . Это помогло мне выяснить, что имя записи yaml, которое я ищу, — html. Мое решение приведено ниже. Я добавляю дополнительный раздел «авторы» в _pkgdown.yml, чтобы перезаписать распечатку по умолчанию для спонсора (или любого другого разработчика, если на то пошло)

 authors:
   Funder’s Name:
     html: "<img src='man/figures/funderslogo.png' height='24' alt='LogoFnd’/> "
     href: https://fundersurl.com
  

Комментарии:

1. Еще одно замечание. Приведенные выше строки в . файл yml определяет относительный путь к корню исходного кода пакета. The index.html найдет логотип, потому что он создан из README.md (или альтернативы), найденные в корневом каталоге. Однако существует множество других index.html файлы, по одному для каждой вкладки веб-страницы, которым также нужен логотип для нижнего колонтитула. Они находятся внутри docs / и не могут видеть относительный путь выше. Одно из решений — то, которое я использовал, — заменить приведенную выше строку на img src='funderslogo.png и поместить копию png в docs / и остальные его дочерние файлы (не так много, скорее всего, 3 или 4).

Ответ №2:

@maria-kalimeri, спасибо за ответ; однако при обработке цитат допущены опечатки. Вот обновленная версия.

 authors:
   Funder_first_name Funder_last_name: 
     html: "<img src='man/figures/funderslogo.png' height='72' alt='Funder name'/>"
     href: "https://fundersurl.com"
  

ПРИМЕЧАНИЕ

  • Это должно быть добавлено в _pkgdown.yml
  • Funder_first_name и Funder_lastname должны совпадать с теми, которые указаны в person( "Funder_first_name", "Funder_last_name", role = c('fnd')) файле ОПИСАНИЯ.
  • Может иметь только одно название Funder_name
  • Обратитесь к этой странице https://pkgdown.r-lib.org/reference/build_home.html?q=Funder#yaml-config-authors