editor_options: markdown: wrap: sentence
{=html}
<!-- This CONTRIBUTING.md is adapted from:
https://gist.github.com/peterdesmet/e90a1b0dc17af6c12daf6e8b2f044e7c
https://github.com/ropensci/skimr/blob/main/.github/CONTRIBUTING.md#understanding-the-scope-of-skimr
usethis::use_tidy_contributing()
-->
First of all, thanks for considering contributing to mregions2!
mregions2 is an open source project maintained by the data managers of Marine Regions, who are quite busy updating maritime boundaries and curating the database and really appreciate any help.
There are several ways you can contribute to this project. If you want to know more about why and how to contribute to open source projects like this one, see this Open Source Guide.
Think mregions2 is useful? Let others discover it, by telling them in person, via Twitter or a blog post.
Using mregions2 for a paper you are writing? Consider citing it.
Using mregions2 and got stuck? Browse the documentation to see if you can find a solution. Still stuck? Post your question as an issue on GitHub. While we cannot offer user support, we'll try to do our best to address it, as questions often lead to better documentation or the discovery of bugs.
Want to ask a question in private? Contact Marine Regions by email.
Have an idea for a new mregions2 feature? Take a look at the documentation and issue list to see if it isn't included or suggested yet. If not, suggest your idea as an issue on GitHub. While we can't promise to implement your idea, it helps to: * Explain in detail how it would work. * Keep the scope as narrow as possible.
See below if you want to contribute code for your idea as well.
Using mregions2 and discovered a bug? That's annoying! Don't let others have the same experience and report it as an issue on GitHub so we can fix it. A good bug report makes it easier for us to do so. Please include:
Output of sessionInfo()
A minimal example made with reprex.
Any details about your local setup that might be helpful in troubleshooting.
Noticed a typo on the website? Think a function could use a better example? Good documentation makes all the difference, so your help to improve it is very welcome!
This website is generated with pkgdown
.
That means we don't have to write any html: content is pulled together from documentation in the code, vignettes, Markdown files, the package DESCRIPTION
and _pkgdown.yml
settings.
If you know your way around pkgdown
, you can propose a file change to improve documentation.
If not, report an issue and we can point you in the right direction.
Functions are described as comments near their code and translated to documentation using roxygen2
.
If you want to improve a function description: 1.
Go to R/
directory in the code repository.
2.
Look for the function inside the files.
3.
Propose a file change to update the function documentation in the roxygen comments (starting with #'
).
Care to fix bugs or implement new functionality for mregions2? Awesome! 👏 Have a look at the issue list and leave a comment on the things you want to work on. See also the development guidelines below.
We try to follow the GitHub flow for development.
git pull upstream main
..Rproj
).devtools::check()
and aim for 0 errors and warnings.We follow the tidyverse style guide for new code.
To any new commits, please abide by the Conventional Commits specification.
{width="350"}
Please try to provide 100% test coverage for any submitted code and always check that existing tests continue to pass. If you are a beginner and need help with writing a test, mention this in the issue and we will try to help.
We use testthat for unit tests and httptest2 to mock-up HTTP requests.
New contributions that affect any functionality regarding HTTP requests must be properly mocked up using httptest2.
In addition, we also add the same test without mocking to ./real-tests/
to check if the API response is still the same.
We follow the recommendations of the book HTTP testing in R.
Please note that the mregions2 project is released with a Contributor Code of Conduct. By contributing to this project you agree to abide by its terms.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.