Я ищу аккуратный способ добавить гиперссылку, содержащую потрясающий значок, в таблицу Rmarkdown
(kable) - для включения в html bookdown
страницу.
В других частях моего документа я использовал пакет icon
, чтобы отобразить гиперссылочный значок (вне таблицы) с использованием стандартного синтаксиса уценки, например:
`r icon::fa("file-pdf", size = 5)](https://www.google.com/){target="_blank"}`
Но этот подход не работает, когда я попытался включить его как часть kable
.
```{r}
library(icon)
library(knitr)
library(tidyverse)
## note this code throws the following error: Error in
## as.data.frame.default(x[[i]], optional = TRUE, stringsAsFactors =
## stringsAsFactors) : cannot coerce class "c("knit_asis",
## "knit_icon")" to a data.frame
link_location <- "www.google.com"
data_test_1 <- data.frame(
file = c('Version 1', 'Version 2', 'Version 3'),
last_updated = Sys.Date(),
pdf_logo = icon::fa("file-pdf")) %>%
mutate(pdf_logo = cell_spec(pdf_logo,
link = link_location)) %>%
kable("html", escape = F, align = "c")
data_test_1
```
Пока чтоЯ нашел обходной путь, который включает загрузку файла .svg с замечательного веб-сайта и добавление его в качестве изображения.Это работает ... вроде, но я бы предпочел иметь возможность изменять размер значка и сделать его более легко воспроизводимым.
Это код моего текущего обходного пути.
```{r fontawesome_table ='asis'}
library(tidyverse)
library(kableExtra)
## download svg from location manually
https://fontawesome.com/icons/r-project?style=brands
data_test_2 <- data.frame(
file = c('Version 1', 'Version 2', 'Version 3'),
last_updated = Sys.Date(),
R_logo = "![](r-project-brands.svg)") %>%
mutate(R_logo = cell_spec(R_logo, link = "https://cran.r-
project.org/")) %>%
kable("html", escape = F, align = "c")
data_test_2
```
, который производит этот вывод ...
У кого-нибудь есть идеи, как мне можно либо отрегулировать размер значка в таблице, либо вызвать значок из другого пакета / css, чтобы создать более аккуратное решение?