Skip to content

Commit

Permalink
add more vignette/README guidance cf ropensci/software-review-meta#55
Browse files Browse the repository at this point in the history
  • Loading branch information
maelle committed Jun 27, 2018
1 parent 8bfc1b1 commit dbeb036
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 15 deletions.
2 changes: 1 addition & 1 deletion index.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,4 @@ The rOpenSci editorial team.

_If you want to contribute to this book (suggestions, corrections) please refer to [its GitHub repository](https://github.com/ropensci/dev_guide) in particular [the contributing guidelines](https://github.com/ropensci/dev_guide#contributing). Thanks!_

_We are thankful for all authors, reviewers and guest editors for helping us improve the system and this guide over the years. Thanks also to the following persons who made direct edits to this guide here or in its former home at ropensci/onboarding or ropensci/packaging_guide: [Katrin Leinweber](https://github.com/katrinleinweber), [John Baumgartner](https://github.com/johnbaums), [François Michonneau](https://github.com/fmichonneau), [Christophe Dervieux](https://github.com/cderv), [Lorenzo Busetto](https://github.com/lbusett), [Ben Marwick](https://github.com/benmarwick), [Nicholas Horton](https://github.com/nicholasjhorton), [Chris Kennedy](https://github.com/ck37), [mark padgham](https://github.com/mpadge), [Jeroen Ooms](https://github.com/jeroen), [Sean Hughes](https://github.com/seaaan), [Jan Gorecki](https://github.com/jangorecki), [Joseph Stachelek](https://github.com/jsta), [Dean Attali](https://github.com/daattali), [Julia Gustavsen](https://github.com/jooolia), [Nicholas Tierney](https://github.com/njtierney), [Rich FitzJohn](https://github.com/richfitz), [Tiffany Timbers](https://github.com/ttimbers), [Hilmar Lapp](https://github.com/hlapp). Please tell us if we forgot to acknowledge your contribution!_
_We are thankful for all authors, reviewers and guest editors for helping us improve the system and this guide over the years. Thanks also to the following persons who made direct edits to this guide here or in its former home at ropensci/onboarding or ropensci/packaging_guide: [Katrin Leinweber](https://github.com/katrinleinweber), [John Baumgartner](https://github.com/johnbaums), [François Michonneau](https://github.com/fmichonneau), [Christophe Dervieux](https://github.com/cderv), [Lorenzo Busetto](https://github.com/lbusett), [Ben Marwick](https://github.com/benmarwick), [Nicholas Horton](https://github.com/nicholasjhorton), [Chris Kennedy](https://github.com/ck37), [Mark Padgham](https://github.com/mpadge), [Jeroen Ooms](https://github.com/jeroen), [Sean Hughes](https://github.com/seaaan), [Jan Gorecki](https://github.com/jangorecki), [Joseph Stachelek](https://github.com/jsta), [Dean Attali](https://github.com/daattali), [Julia Gustavsen](https://github.com/jooolia), [Nicholas Tierney](https://github.com/njtierney), [Rich FitzJohn](https://github.com/richfitz), [Tiffany Timbers](https://github.com/ttimbers), [Hilmar Lapp](https://github.com/hlapp), [Miles McBain](https://github.com/milesmcbain), [Bryce Mecum](https://github.com/amoeba), [Jonathan Carroll](https://github.com/jonocarroll/), [Carl Boettiger](https://github.com/cboettig/). Please tell us if we forgot to acknowledge your contribution!_
35 changes: 21 additions & 14 deletions pkg_building.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,17 @@ We recommend you to use the [`codemetar` package](https://github.com/ropensci/co

## README

* All packages should have a README file, named `README.md`, in the root of the repository. The README should include, from top to bottom (see [this example](https://github.com/karthik/badge-test/)):
* All packages should have a README file, named `README.md`, in the root of the repository. The README should include, from top to bottom:

* The package name
* Badges for continuous integration and test coverage, the badge for rOpenSci peer-review once it has started (see below), a repostatus.org badge, and any other badges
* Short description of goals of package, with descriptive links to all vignettes (renderred, i.e. readable, cf [the documentation website section](#website)) unless the package is small and there's only one vignette repeating the README.
* Installation instructions
* Any additional setup required (authentication tokens, etc)
* Brief demonstration usage
* If applicable, how the package compares to other similar packages and/or how it relates to other packages
* Citation information

```
* The package name
* Badges for continuous integration and test coverage, the badge for rOpenSci peer-review once it has started (see below), a repostatus.org badge, and any other badges
* Short description of the package
* Installation instructions
* Brief demonstration usage
* If applicable, how the package compares to other similar packages and/or how it relates to other packages
* Citation information
```

If you use another repo status badge such as a [lifecycle](https://www.tidyverse.org/lifecycle/) badge, please also add a [repostatus.org](http://www.repostatus.org/) badge. [Example of a repo README with two repo status badges](https://github.com/ropensci/ijtiff#ijtiff-).

Expand Down Expand Up @@ -91,7 +91,7 @@ can be found at *link*.

* Add a code of conduct and contribution guidelines, cf [this section of the book](#friendlyfiles).

* See the [gistr README](https://github.com/ropensci/gistr#gistr) for a good example README to follow.
* See the [`gistr` README](https://github.com/ropensci/gistr#gistr) for a good example README to follow for a small package, and [`bowerbird` README](https://github.com/ropensci/bowerbird) for a good example README for a larger package.

## Documentation

Expand All @@ -101,9 +101,15 @@ can be found at *link*.

* The package should contain top-level documentation for `?foobar`, (or `?foobar-package` if there is a naming conflict). Optionally, you can use both `?foobar` and `?foobar-package` for the package level manual file, using `@aliases` roxygen tag. `usethis::use_package_doc()` adds the template for the top-level documentation.

* The package should contain at least one vignette providing an introduction to the primary package functions and use cases.
* The package should contain at least one vignette providing a substantial coverage of package functions, illustrating realistic use cases and how functions are intended to interact. If the package is small, the vignette and the README can have the same content.

* As is the case for a README, top-level documentation or vignettes may be the first point of entry for users. If your package connects to a data source or online service, or wraps other software, it should provide enough information for users to understand the nature of the data, service, or software, and provide links to other relevant data and documentation. For instance, a the vignette intro or documentation should not merely read, "Provides access to GooberDB," but also include, "..., an online repository of Goober sightings in South America. More information about GooberDB, and documentation of database structure and metadata can be found at *link*.
* As is the case for a README, top-level documentation or vignettes may be the first point of entry for users. If your package connects to a data source or online service, or wraps other software, it should provide enough information for users to understand the nature of the data, service, or software, and provide links to other relevant data and documentation. For instance, a the vignette intro or documentation should not merely read, "Provides access to GooberDB," but also include, "..., an online repository of Goober sightings in South America. More information about GooberDB, and documentation of database structure and metadata can be found at *link*. Any vignette should outline prerequisite knowledge to be able to understand vignette up front.
💯
* The general vignette should present a series of examples progressing in complexity from basic to advanced usage.

* Functionality likely to be used by only more advanced users or developers might be better put in a separate vignette (i.e. programming/NSE with dplyr).

* The vignette(s) should include citations to software and papers where appropriate.

* We request all submissions to use `roxygen2` for documentation. `roxygen2` is [an R package](http://cran.r-project.org/web/packages/roxygen2/index.html) that automatically compiles `.Rd` files to your `man` folder in your package from simple tags written above each function.

Expand All @@ -120,7 +126,8 @@ can be found at *link*.
## Documentation website {#website}

We recommend creating a documentation website for your package using [`pkgdown`](https://github.com/hadley/pkgdown). [Here](http://enpiar.com/2017/11/21/getting-down-with-pkgdown/) is a good tutorial to get started with `pkgdown`.

When your package has many functions, use grouping in the reference: see the example of [`drake` website](https://ropensci.github.io/drake/reference/index.html) and [associated config file
](https://github.com/ropensci/drake/blob/master/_pkgdown.yml).
You could use the [`tic` package](https://github.com/ropenscilabs/tic) for automatic deployment of the package's website, see [this example repo](https://github.com/krlmlr/tic.package). This would save you the hassle of running (and remembering to run) `pkgdown::build_site()` yourself every time the site needs to be updated. First refer to our [chapter on continuous integration](#ci) if you're not familiar with continuous integration/Travis.

## Authorship
Expand Down

0 comments on commit dbeb036

Please sign in to comment.