https://github.com/fmmattioni/downloadthis
Implement Download Buttons in rmarkdown 💾
https://github.com/fmmattioni/downloadthis
Last synced: 3 months ago
JSON representation
Implement Download Buttons in rmarkdown 💾
- Host: GitHub
- URL: https://github.com/fmmattioni/downloadthis
- Owner: fmmattioni
- License: other
- Created: 2020-02-04T15:07:26.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-14T15:15:55.000Z (4 months ago)
- Last Synced: 2024-10-16T16:59:41.678Z (4 months ago)
- Language: R
- Homepage: https://fmmattioni.github.io/downloadthis/
- Size: 21.9 MB
- Stars: 147
- Watchers: 2
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.Rmd
- Changelog: NEWS.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- jimsghstars - fmmattioni/downloadthis - Implement Download Buttons in rmarkdown 💾 (R)
README
---
output: github_document
always_allow_html: true
---```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```# downloadthis
[](https://lifecycle.r-lib.org/articles/stages.html#stable)
[](https://CRAN.R-project.org/package=downloadthis)
[](https://github.com/fmmattioni/downloadthis)
[](https://CRAN.R-project.org/package=downloadthis)
[](https://CRAN.R-project.org/package=downloadthis)
[](https://app.codecov.io/gh/fmmattioni/downloadthis?branch=master)
[](https://github.com/fmmattioni/downloadthis/actions/workflows/R-CMD-check.yaml)The goal of `downloadthis` is to implement download buttons in HTML output from RMarkdown without the need for `runtime:shiny`.
## Installation
You can install the released version of `downloadthis` from [CRAN](https://CRAN.R-project.org/package=downloadthis) with:
``` r
install.packages("downloadthis")
```You can install the development version of `downloadthis` from [GitHub](https://github.com/fmmattioni/downloadthis/) with:
``` r
# install.packages("remotes")
remotes::install_github("fmmattioni/downloadthis")
```## Introduction
This package builds the download button in R Markdown using [bsplus](https://github.com/ijlyttle/bsplus), and it was inspired on [this post](https://yihui.org/en/2018/07/embed-file/) from [Yihui Xie](https://github.com/yihui).
`r emo::ji("white_check_mark")` `{downloadthis}` now uses [font-awesome icons v.6.5.2](https://fontawesome.com/)
## Usage
### Data frames, lists, or any R object
```{r eval=FALSE}
library(downloadthis)mtcars %>%
download_this(
output_name = "mtcars data set",
output_extension = ".csv",
button_label = "Download data",
button_type = "warning",
has_icon = TRUE,
icon = "fa fa-save"
)
``````{r eval=FALSE}
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 = "success",
has_icon = TRUE,
icon = "fa fa-save"
)
```### Web address
```{r eval=FALSE}
## 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
```{r eval=FALSE}
## One file example
download_file(
path = system.file("assets/css/all.min.css", package = "downloadthis"),
output_name = "CSS file from downloadthis",
button_label = "Download css file",
button_type = "danger",
has_icon = TRUE,
icon = "fa fa-save",
self_contained = FALSE
)
```### Local directory
```{r eval=FALSE}
## Directory path as an example
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
)
```## Vignettes
* [Introduction to downloadthis](https://fmmattioni.github.io/downloadthis/articles/downloadthis.html)
* [Button types](https://fmmattioni.github.io/downloadthis/articles/button_types.html)
* [Customizing buttons with css](https://fmmattioni.github.io/downloadthis/articles/customization.html)## Related work
* [xfun](https://github.com/yihui/xfun): The `xfun` package provides links instead of buttons for local files and directories.
## Code of Conduct
Please note that this project is released with a [Contributor Code of Conduct](https://www.contributor-covenant.org/version/1/0/0/code-of-conduct.html).
By participating in this project you agree to abide by its terms.