Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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 (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-07-11T07:23:31.000Z (4 months ago)
- Last Synced: 2024-07-11T08:43:38.320Z (4 months ago)
- Language: R
- Homepage: https://fmmattioni.github.io/downloadthis/
- Size: 21.8 MB
- Stars: 144
- Watchers: 3
- Forks: 3
- Open Issues: 3
-
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
[![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html#stable)
[![CRAN status](https://www.r-pkg.org/badges/version-ago/downloadthis)](https://CRAN.R-project.org/package=downloadthis)
[![R build status](https://github.com/fmmattioni/downloadthis/workflows/R-CMD-check/badge.svg)](https://github.com/fmmattioni/downloadthis)
[![Monthly downloads badge](https://cranlogs.r-pkg.org/badges/last-month/downloadthis?color=blue)](https://CRAN.R-project.org/package=downloadthis)
[![Total downloads badge](https://cranlogs.r-pkg.org/badges/grand-total/downloadthis?color=blue)](https://CRAN.R-project.org/package=downloadthis)
[![Codecov test coverage](https://codecov.io/gh/fmmattioni/downloadthis/branch/master/graph/badge.svg)](https://app.codecov.io/gh/fmmattioni/downloadthis?branch=master)
[![R-CMD-check](https://github.com/fmmattioni/downloadthis/actions/workflows/R-CMD-check.yaml/badge.svg)](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.