Introduction to downloadthis

This package provides a wrapper around bsplus::bs_button(), which has to goal to provide a download button in HTML outputs from R Markdown without the need to have runtime: shiny.

Currently, the download buttons functionality (embedded files) is not supported in Internet Explorer.

Please, refer to the Customizing buttons with css vignette for tips on how to customize the buttons.


You can easily produce a download button as follows:

Data frames

Passing a data frame to the function

Lists (only .xlsx and .rds are supported)

Passing a list with data frames to the function

Passing a named list with data frames to the function

R Objects

In case you want to make any R object available for download, you may use the .rds extension.

vector_example <- 1:10
linear_model <- lm(mpg ~ gear, data = mtcars)

list(mtcars, iris, vector_example, linear_model) %>%
  download_this(
    output_name = "datasets, vector, and linear model",
    output_extension = ".rds",
    button_label = "Download as rds",
    button_type = "warning",
    has_icon = TRUE,
    icon = "fa fa-save"
  )

Web address

## Link in Github repo
download_link(
  link = "https://github.com/fmmattioni/downloadthis/raw/master/inst/example/file_1.pdf",
  button_label = "Download pdf file",
  button_type = "danger",
  has_icon = TRUE,
  icon = "fa fa-save",
  self_contained = FALSE
)

Local files

Single file

Multiple files

Local directory

download_dir(
  path = system.file("assets", package = "downloadthis"),
  output_name = "example dir",
  button_label = "Download directory",
  button_type = "success",
  has_icon = TRUE,
  icon = "fa fa-save",
  self_contained = FALSE
)