Documentation is essential for new learners and experienced programmers alike. It helps make our community inclusive by extending a friendly hand to those who are less familiar with p5.js. It also helps us find the bugs and issues with the code itself, because we test and try things out as we document.
There are several ways to contribute to documentation:
If you're just getting started, one really helpful way you can contribute is by opening issues for documentation needs. If you notice a typo, a missing or broken example, or a function description that is confusing, open an issue for it! Please include a link to the page that needs fixing so we can find it easily.
Read through the reference, and look for typos, broken examples, or confusing documentation. If it's a straightforward fix, go ahead and work on it! If it's a more involved question that requires discussion, create an issue.
- Here are instructions for getting setup for the first time with the p5.js repo.
- The reference is built from the inline documentation in the source code (found in the
src/
folder). - Here is information on how to update or add inline documentation and examples.
- If you find errors with the spanish documentation, there are instructions to update this here.
- Community-maintained Typescript definitions are here.
While the examples in the reference are meant to be very simplistic snippets of code, it is also useful to have longer, more complex examples.
- Currently we are working on porting the examples from the processing examples page to the p5.js examples page. If you would like to help with this, please see the instructions here.
- Alternatively, you can create your own set of examples and publish them independently anywhere you like. If you share them online tag @p5xjs or email [email protected] to let us know, and we will share far and wide! This guide to embedding p5.js may be useful for posting your examples online.
- If you find bugs in p5.js along the way, please log them in the issues.
- If you are new to p5.js, this is a great place to start. Try making something yourself, then making a tutorial to teach others to do it too.
- Currently we are working on porting the tutorials from the processing tutorials page to the p5.js learn page. If you would like to help with this, please see the tutorial on making tutorials here.
- We also welcome tutorials on different subjects. You can publish these anywhere, in any format you like. If you share them online tag @p5xjs or email [email protected] to let us know, and we will share far and wide! We especially encourage tutorials created with a specific audience or use case in mind (ex: p5 for journalists, activists, poets, kids, seniors, dreamers, in a different language, etc). We like to consider, who does not already feel welcome or included in the p5 community, and can we use learning as an invitation? What is the language you use to communicate with your audience and make them feel known? Feel free to be experimental with your format. Check out Sharon De La Cruz's talk on Code Slang for inspiration.
- If you find bugs in p5.js along the way, please log them in the issues.
- Read the p5.js community statement
- Optional: Check out the contributor docs to get an overview of the repository and learn how to build the code (if relevant for you).
- All discussion happens on github issues, so there's no slack/gitter/etc channel you need to join.
- Add your name to the contributors list in the readme.md file! Instructions here.
- And of course, if you're more of a bug fixer kind of person, feel free to jump into any of the issues!