-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.Rmd
95 lines (66 loc) · 4.06 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
---
title: "`r read.dcf('DESCRIPTION', fields = 'Package')[1]`"
author: "`r rworkflows::use_badges()`"
date: "<h4>README updated: <i>`r format( Sys.Date(), '%b-%d-%Y')`</i></h4>"
output:
github_document
---
<!-- To modify Package/Title/Description/Authors fields, edit the DESCRIPTION file -->
```{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("<packageName>")`. 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:
<!-- Modify this by editing the file: inst/CITATION -->
> `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`)
<hr>
## Session Info
<details>
```{r}
utils::sessionInfo()
```
</details>