Как создать таблицу значков и текста в Rmarkdown

#html-table #r-markdown

#html-таблица #r-markdown

Вопрос:

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

введите описание изображения здесь

Я могу сделать это, как показано ниже, но код в моем .Rmd файле излишне сложный, что затрудняет добавление новых книг. Как я могу упростить этот код в чанках? Я использую несколько функций, определенных ниже

 ```{r do-books, echo=FALSE}
width <- "160px"
tab(class="cellpadding", width="800px",
  tr(
    tabfig("fox", "images/books/car-3e.jpg", 
           "https://us.sagepub.com/en-us/nam/an-r-companion-to-applied-regression/book246125", width=width),
    tabtxt("Fox amp; Weisberg,",  a("An R Companion to Applied Regression",
                             href="https://us.sagepub.com/en-us/nam/an-r-companion-to-applied-regression/book246125"),
           ". A comprehensive introduction to linear models, regression diagnostics, etc.", br()
           # "Course notes at", aself("http://ccom.unh.edu/vislab/VisCourse/index.html")
           )
    ),

  tr(
    tabfig("Wickham", "images/books/ggplot-book-2ndEd.jpg", 
           "https://www.springer.com/gp/book/9780387981413", width=width),
    tabtxt("Hadley Wickham,",  a("ggplot2: Elegant Graphics for Data Analysis",
           href="https://www.springer.com/gp/book/9780387981413"),
           ". The printed version of the ggplot2 book. The 3rd edition is online at",
           a("https://ggplot2-book.org/", href= "https://ggplot2-book.org/")
           )
    )
  )
```
  

Функции tabfig и tabtext определены в исходном файле:

 library(htmltools)
# table tags
tab <- function (...)
  tags$table(...)

td <- function (...) 
  tags$td(...)
tr <- function (...) 
  tags$tr(...)

# an <a> tag with href as the text to be displayed
aself <- function (href, ...)
  a(href, href=href, ...)

# thumnail figure with href in a table column / row
tabfig <- function(name, img, href, ...) {
  td(
    a(class = "thumbnail", title = name, href = href,
      img(src = img, ...)
    )
  )
}
tabtxt <- function(text, ...) {
  td(text, ...)
}