An open API service indexing awesome lists of open source software.

https://github.com/neurogenomics/templateR

Self-updating template for developing R packages.
https://github.com/neurogenomics/templateR

bioconductor cran-r documentation github-actions r r-package templates

Last synced: 6 months ago
JSON representation

Self-updating template for developing R packages.

Awesome Lists containing this project

README

        

---
title: "`r read.dcf('DESCRIPTION', fields = 'Package')[1]`"
author: "`r rworkflows::use_badges()`"
date: "

README updated: `r format( Sys.Date(), '%b-%d-%Y')`

"
output:
github_document
---

```{r, echo=FALSE, include=FALSE}
pkg <- read.dcf("DESCRIPTION", fields = "Package")[1]
title <- gsub("\n"," ",read.dcf("DESCRIPTION", fields = "Title")[1])
description <- gsub("\n"," ",read.dcf("DESCRIPTION", fields = "Description")[1])
URL <- read.dcf('DESCRIPTION', fields = 'URL')[1]
owner <- strsplit(URL,"/")[[1]][4]
repo <- strsplit(URL,"/")[[1]][5]
```

**\<---⬇️⬇️⬇️(Start of section that can be deleted after forking the template)⬇️⬇️⬇️---\>**

## Citation

If you use the `templateR` R package template,
or any of the [`rworkflows`](https://github.com/neurogenomics/rworkflows) suite tools,
please cite:

> Brian M. Schilder, Alan E. Murphy, & Nathan G. Skene (2023) The rworkflows suite: automated continuous integration for quality checking, documentation website creation, and containerised deployment of R packages, Research Square; https://doi.org/10.21203/rs.3.rs-2399015/v1

## Setup

`templateR` is a template designed to make developing new R packages easy by providing:

- **DESCRIPTION, vignettes/, tests/, R/, man/, inst/**: Basic skeleton for the package itself.
- **README.Rmd**: Auto-populates based on the *DESCRIPTION* file (that can be knit to create *README.md*). Also contains [badges](https://github.com/GuangchuangYu/badger) that automatically update themselves.
- **inst/hex/hexSticker.Rmd**: Template for creating [hex stickers](https://github.com/GuangchuangYu/hexSticker).
- **.github/workflows/\*.yml**: [GitHub Actions](https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions) workflow files that will automatically trigger code checks and pushing images to [DockerHub](https://hub-stage.docker.com/) every time you make a push to your GitHub repo (from [`rworkflows`](https://github.com/neurogenomics/rworkflows)).
- **inst/CITATION** : Allows users of your package to call `citation("")`. Also used to auto-populate the *README.Rmd*.

To get started, simply click on the green **Use this template** button
at the top right of the `templateR` repo.

### GitHub Secrets

To use certain features of `rworkflows`, you may need to set up one or more [GitHub Secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets):

- `PAT_GITHUB` [Optional]: Can grant access to private repos on GitHub
Actions. You can generate your very own Personal Authentication Token
with `usethis::create_github_token()`. See the [GitHub
docs](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)
for details.
- `DOCKER_TOKEN` [Optional]: Allows GitHub Actions to push to a
[DockerHub](https://hub.docker.com) account.

### GitHub Pages

The [GitHub Actions](https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions) workflows included in this template will automatically create a documentation website for your package via [GitHub Pages](https://pages.github.com/).

After the **`rworkflows` action** has successfully run on Ubuntu for the
first time, a new branch will appear in your repo called "gh-pages".

**\<---⬆️⬆️⬆️(End of section that can be deleted after forking the template)⬆️⬆️⬆️---\>**

## ``r pkg``: `r gsub("\n","",title)`

### `r gsub("\n","",description)`

If you use ``r pkg``, please cite:

> `r utils::citation(pkg)$textVersion`

## Installation

```R
if(!require("remotes")) install.packages("remotes")

remotes::install_github("`r paste(owner,repo,sep='/')`")
library(`r pkg`)
```
## Documentation

### [Website](https://`r owner`.github.io/`r repo`)
### [Getting started](https://`r owner`.github.io/`r repo`/articles/`r pkg`)


## Session Info

```{r}
utils::sessionInfo()
```