Skip to content

Latest commit

 

History

History
53 lines (33 loc) · 4.35 KB

CONTRIBUTING.md

File metadata and controls

53 lines (33 loc) · 4.35 KB

Suggestions and updates

This book contains our guidelines for packages contributed to the rOpenSci suite of packages. They are always a work in progress - corrections, suggestions and general improvements are welcome as issue submissions in this repository. Open discussions are welcome in our forum. You can also suggest changes by editing the .Rmd files that are at the root of this repository and submitting a pull request.
An "edit" button in all book chapters will take you directly to the relevant page on GitHub to make such changes. Please target your pull requests to the main branch.

Technical details

Deployment is done via GitHub Actions. The book has a production version and a development version. Both are updated when there are changes in their sources but also once a day to ensure the reviewers list is up to date (data pulled from Airtable).

  • prod.yml: whenever there's a GitHub release, the book is built and its content is then pushed to the gh-pages branch. That branch serves ropensci.github.io/dev_guide which is redirected to https://devguide.ropensci.org/

  • scheduled-manual-main.yml: once a day the book is built with the source from the latest release (see "Checkout latest release tag" step) and pushed to the gh-pages branch.

  • dev.yml: whenever there's a push to the default branch main, and once a day, the book is built and its content is then pushed to the dev-site branch that gets deployed to Netlify.

  • pr.yml: whenever there's a pull request to the default branch main, the book is built and its content is deployed via Netlify.

Refer to this blog post for more details and resources about bookdown deployment on GitHub Actions.

Notes for associate editors

If you're an associate editor, you can also push directly to main for small fixes. We shall use PRs to main for discussing larger updates.

If you're an associate editor and you want to render the book locally you need to install Quarto and the other dependencies stated in DESCRIPTION in particular use pak::pak("bergant/airtabler"), and get and store an Airtable API key following their instructions (if you're not an editor, you don't have access to our Airtable base but you can still build the book, although the Airtable info will be missing). Then use babelquarto::render_book() and the book will be generated in the _book folder; you can open the book by for instance running servr::httw("_book").

How to maintain translations

Any commit to main that edits a page with translations (say, index.Rmd) needs to also update the translations. If you have a PR open, with commits to a chapter in one language you can either provide your own translations, generate automated translations, or request translations from the maintenance team.

  • For your own translations, follow the guidance in the rOpenSci Localization and Translation Guidelines

  • To generate automated translations, you can use the {babeldown} package, wheich requires an API key from DeepL. babeldown::deepl_update() generates translations to edited sections of the .Rmd (see this blog post), and should be used once per translated langauge.

  • If you are unable to provide your own or automated translations, for support for complex translations, or just tiny changes, (one sentence or so), tag the @ropensci/dev-guide team in your PR to request support from the maintainer team.

The PR will require a reviewer for each language.

Meta

All of the content of this repository is licensed CC-BY-SA.

You can cite this book using its Zenodo metadata and DOI.