Skip to content

Commit 2027dce

Browse files
authored
Merge branch 'develop' into translation-fix-lm
2 parents 433fb41 + c5bb0d5 commit 2027dce

11 files changed

+190
-90
lines changed

.github/CONTRIBUTING.md

+73-50
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,91 @@
1-
# Contributing to the p5.js Web Editor
1+
# Contributing to the p5.js Editor 📖 🐛 🎨
22

3-
Hello! We welcome community contributions to the p5.js Web Editor. Contributing takes many forms and doesn't have to be **writing code**, it can be **reporting bugs**, **proposing new features**, **creating UI/UX designs**, and **updating documentation**.
3+
Welcome to the Contributor Guidelines!
4+
5+
This document is for anyone interested in contributing to the p5.js Editor—whether you're new to open source, refreshing your memory on some technical steps, or curious about how the codebase works!
6+
7+
We believe that anyone can be a contributor; you don’t need to be an expert. We also know that not everyone has the same time, energy, or resources to spend, and that’s okay. We’re just glad you’re here!
8+
9+
This guide has been adapted from the Contributor Guidelines within the [Processing](https://github.com/processing/processing4/blob/main/CONTRIBUTING.md) and [p5.js](https://github.com/processing/p5.js/blob/main/contributor_docs/contributor_guidelines.md) repositories. They're full of helpful and in-depth resources—please check them out!
10+
11+
If you haven't already, read our [Community and Statement Code of Conduct](https://editor.p5js.org/code-of-conduct) to understand the values that guide our community and how to participate respectfully and constructively.
412

513
## Table of Contents
6-
- [Contributing to the p5.js Web Editor](#contributing-to-the-p5js-web-editor)
7-
- [Table of Contents](#table-of-contents)
8-
- [Code of Conduct](#code-of-conduct)
9-
- [How Can I Contribute?](#how-can-i-contribute)
10-
- [First Steps](#first-steps)
11-
- [Good First Issues](#good-first-issues)
12-
- [Good Medium Issues](#good-medium-issues)
13-
- [Project Board](#project-board)
14-
- [Project Ideas](#project-ideas)
15-
- [Issue Search and Tagging](#issue-search-and-tagging)
16-
- [Beginning Work](#beginning-work)
17-
- [Contribution Guides](#contribution-guides)
18-
19-
## Code of Conduct
20-
21-
Please follow the guidelines in the [Code of Conduct](https://github.com/processing/p5.js-web-editor/blob/develop/.github/CODE_OF_CONDUCT.md).
14+
- [About Github](#about-github)
15+
- [How Can I Contribute?](#how-can-i-contribute)
16+
- [Working Within the Codebase](#working-within-the-codebase)
17+
- [Ideas for Getting Started](#ideas-for-getting-started)
18+
19+
## About Github
20+
The p5.js Editor’s codebase is hosted on [GitHub](https://github.com/processing). GitHub is a website where people can collaborate on code. It’s widely used for open source projects and makes it easier to keep track of changes, report issues with the software, and contribute improvements to the code.
21+
22+
If you're new to GitHub, a good place to start is the [First Contribution's tutorial guide](https://github.com/firstcontributions/first-contributions/blob/main/docs/gui-tool-tutorials/github-desktop-tutorial.md), which walks you through the basics of contributing to a project using GitHub Desktop. For more information, we recommend [Git and GitHub for Poets](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZF9C0YMKuns9sLDzK6zoiV), a beginner-friendly video series.
23+
24+
The [Hello World](https://guides.github.com/activities/hello-world/) and [Forking](https://guides.github.com/activities/forking/) Guides from Github are also great acitivities for exercising how you might want to use these tools and features.
2225

2326
## How Can I Contribute?
24-
If you're new to open source, [read about how to contribute to open source](https://opensource.guide/how-to-contribute/).
27+
If you're new to open source, start by reading [this beginner-friendly guide about contributing to an open source project](https://opensource.guide/how-to-contribute/). It covers why you might want to contribute to a project, what it means to contribute, and how to navigate certain aspects of the contribution process.
2528

2629
### First Steps
27-
Don't know where to begin? Here are some suggestions to get started:
28-
* Think about what you're hoping to learn by working on open source. The web editor is a full-stack web application, therefore there's tons of different areas to focus on:
29-
- UI/UX design
30-
- Project management: Organizing tickets, pull requests, tasks
31-
- Front end: React/Redux, CSS/Sass, CodeMirror
32-
- Back end: Node, Express, MongoDB, Jest, AWS
33-
- DevOps: Travis CI, Jest, Docker, Kubernetes, AWS
34-
- Documentation
35-
- Translations: Application and documentation
36-
* Use the [p5.js Web Editor](https://editor.p5js.org)! Find a bug? Think of something you think would add to the project? Open an issue.
37-
* Expand an existing issue. Sometimes issues are missing steps to reproduce, or need suggestions for potential solutions. Sometimes they need another voice saying, "this is really important!"
38-
* Try getting the project running locally on your computer by following the [installation steps](./../contributor_docs/installation.md).
39-
* Look through the documentation in the [developer docs](../contributor_docs/). Is there anything that could be expanded? Is there anything missing?
40-
* Look at the [development guide](./../contributor_docs/development.md).
30+
As you start navigating the p5.js editor and the codebase, you may want to think about what you're hoping to learn by working on open source project. The p5.js editor is a full-stack web application, therefore there's tons of different areas that you could focus on. Some of them can look like:
31+
32+
- **Translation** – Help localize the software and documentation in your language. Many of us made our first contribution this way.
33+
- **Testing** – Try out new releases and report bugs.
34+
- **Documentation** – Improve tutorials, reference pages, or even this guide!
35+
- **Design** – Contribute UI design ideas or help improve user experience.
36+
- **Project Management** - Organizing tickets, pull requests, and tasks.
37+
- **Front-End Development** - We use React/Redux, CSS/Sass, and CodeMirror.
38+
- **Back-End Development** - We use Node, Express, MongoDB, Jest, and AWS.
39+
- **DevOps** - Some tools we use are Travis CI, Jest, Docker, Kubernetes, and AWS.
40+
- **Community Support** – Answer questions on the forum.
41+
- **Education** – Create learning resources, curriculums, organize workshops, or share your teaching experiences.
42+
- **Art and Projects** – Share what you’re making with p5.js or the p5.js Editor!
43+
- **Outreach and Advocacy** – Help others discover and get excited about the project.
44+
45+
Once you've found something you're excited to contribute to, reference the relevant guides and documentation to make sure you're following the recommended process.
46+
47+
## Working Within the Codebase
48+
49+
### Making Your First Contribution
50+
Issues with these labels are a great place to start!
51+
- [Help Wanted](https://github.com/processing/p5.js-web-editor/labels/Help%20Wanted)
52+
- [Good First Issue](https://github.com/processing/p5.js-web-editor/labels/Good%20First%20Issue)
53+
- [Need Steps to Reproduce](https://github.com/processing/p5.js-web-editor/labels/Needs%20Steps%20to%20Reproduce)
54+
- [Ready for Work](https://github.com/processing/p5.js-web-editor/labels/Ready%20for%20Work)
4155

42-
### Good First Issues
43-
For first-time contributors or those who want to start with a small task, [check out the list of good first issues](https://github.com/processing/p5.js-web-editor/labels/good%20first%20issue), or [issues that need documentation of steps to reproduce](https://github.com/processing/p5.js-web-editor/issues?q=is%3Aissue+is%3Aopen+label%3A%22needs+steps+to+reproduce%22). If the issue has not been assigned to anyone, then you can work on it! It's okay to not know how to fix an issue, and feel free to ask questions about to approach the problem! We are all here to learn and make something awesome. Someone from the community would help you out and these are great issues for learning about the web editor, its file structure and its development process.
56+
A breakdown of what each label means can be found in the [Preparing an Issue Guide](#preparing-an-issue).
4457

45-
### Good Medium Issues
46-
If you're looking for a bigger project to take on, look through the issues tagged [good medium issue](https://github.com/processing/p5.js-web-editor/labels/good%20medium%20issue). These issues are self-contained projects that may take longer to work on, but are great if you're looking to get more deeply involved in contributing!
58+
When approaching these issues, know that it's okay to not know how to fix an issue! Feel free to ask questions about to approach the problem. We are all here to learn and make something awesome. Someone from the community will help you out, and asking questions is a great way to learn about the p5.js editor, its file structure, and development process.
4759

48-
### Project Board
49-
Many issues are related to each other and fall under bigger projects. To get a bigger picture, look at the [All Projects](https://github.com/processing/p5.js-web-editor/projects/) board.
60+
### Before You Start Working On An Issue
61+
Before beginning work on a code contribution, please make sure that:
62+
- The issue has been discussed and a proposed solution has been agreed upon.
63+
- You have been assigned to the issue.
64+
- If an implementation has been agreed upon but no one has volunteered to take it on, feel free to comment and offer to help. A maintainer can then assign the issue to you.
5065

51-
### Project Ideas
52-
If you're looking for inspiration for Google Summer of Code or a bigger project, there's a [project list](https://github.com/processing/processing/wiki/Project-List#p5js-web-editor) maintained on the Processing wiki.
66+
### Choosing an Issue
5367

54-
### Issue Search and Tagging
55-
If you're looking for issues to work on, a good place to start is with tickets labeled [high priority](https://github.com/processing/p5.js-web-editor/labels/priority%3Ahigh). You can also look for tickets that are [feature enhancements](https://github.com/processing/p5.js-web-editor/labels/type%3Afeature), [bug fixes](https://github.com/processing/p5.js-web-editor/labels/type%3Abug), and a few other tags.
68+
The best way to verify if an issue is ready to be worked on is checking if it has the [Ready for Work](https://github.com/processing/p5.js-web-editor/labels/Ready%20for%20Work) label. However, here are a few other suggestions to keep in mind as you explore the issues:
5669

57-
If you feel like an issue is tagged incorrectly (e.g. it's low priority and you think it should be high), please update the issue!
70+
- **Please do not open a pull request for an issue that is already assigned to someone else**. We follow a “first assigned, first served” approach to avoid duplicated work. If you open a PR for an issue that someone else is already working on, your PR will be closed.
5871

59-
### Beginning Work
72+
- If an issue has been inactive for a long time, you’re welcome to check in politely by commenting to see if the assignee still plans to work on it or would be open to someone else taking over.
6073

61-
If you'd like to work on an issue, please comment on it to let the maintainers know, so that they can assign it to you. If someone else has already commented and taken up that issue, please refrain from working on it and submitting a PR without asking the maintainers as it leads to unnecessary duplication of effort.
74+
- There’s no hard deadline for completing contributions. We understand that people often contribute on a volunteer basis and timelines may vary. That said, if you run into trouble or have questions at any point, don’t hesitate to ask for help in the issue thread. Maintainers and other community members are here to support you.
6275

63-
Then, look at the [development guide](https://github.com/processing/p5.js-web-editor/blob/develop/contributor_docs/development.md) for instructions on how to install the project locally and follow the right development workflow.
76+
### Before Submitting a Pull Request
77+
Before submitting a pull request, make sure that:
78+
- Your work is related to an issue. **Pull requests that do not have an associated issue will not be accepted.**
79+
- Your work adheres to the style guidelines and fits in with the rest of the codebase.
80+
- You ran the project locally and tested your changes. Pay special attention to any specific areas of the p5.js editor that may be affected by your changes. Does everything still work as before? Great!
81+
- You reference the [Preparing a Pull Request Guide](https://github.com/processing/p5.js-web-editor/blob/develop/contributor_docs/preparing_a_pull_request.md) for more details!
82+
83+
---
84+
85+
## Ideas for Getting Started
86+
* Use the [p5.js Editor](https://editor.p5js.org)! Find a bug? Think of something you think would add to the project? Reference the [Preparing an Issue Guide](#preparing-an-issue) and open an issue.
87+
* Expand an existing issue. Sometimes issues are missing steps to reproduce, or need suggestions for potential solutions. Sometimes they need another voice saying, "this is really important!"
88+
* Try getting the project running locally on your computer by following the [installation steps](./../contributor_docs/installation.md).
89+
* Look through the documentation in the [developer docs](../contributor_docs/) and the [development guide](./../contributor_docs/development.md). Is there anything that could be expanded? Is there anything missing?
6490

65-
### Contribution Guides
6691

67-
* [https://guides.github.com/activities/hello-world/](https://guides.github.com/activities/hello-world/)
68-
* [https://guides.github.com/activities/forking/](https://guides.github.com/activities/forking/)

.github/ISSUE_TEMPLATE/existing-feature-enhancement.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: 💡 Existing Feature Enhancement
22
description: Suggest an improvement to an existing feature.
3-
labels: [ Enhancement ]
3+
labels: [ Enhancement, Awaiting Maintainer Approval ]
44
body:
55
- type: textarea
66
attributes:

.github/ISSUE_TEMPLATE/feature-request.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: 🌱 New Feature Request
22
description: Request a new feature be added.
3-
labels: [ Feature Request ]
3+
labels: [ Feature Request, Awaiting Maintainer Approval ]
44
body:
55
- type: textarea
66
attributes:

.github/ISSUE_TEMPLATE/found-a-bug.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: 🐛 Found a Bug
22
description: Report p5.js web editor bugs (broken or incorrect behaviour).
3-
labels: [ Bug ]
3+
labels: [ Bug, Awaiting Maintainer Approval ]
44
body:
55
- type: markdown
66
attributes:

README.md

+11-14
Original file line numberDiff line numberDiff line change
@@ -4,33 +4,30 @@
44

55
The p5.js Editor is a website for creating p5.js sketches, with a focus on making coding accessible and inclusive for artists, designers, educators, beginners, and anyone else! You can create, share, or remix p5.js sketches without needing to download or configure anything. It is designed with beginners in mind, limiting features and frills. The editor is free and open-source because we believe software, and the tools to learn it, should be accessible to everyone.
66

7-
## Community
7+
## Community 🌱 🌸
88

99
We are a community of, and in solidarity with, people from every gender identity and expression, sexual orientation, race, ethnicity, language, neuro-type, size, ability, class, religion, culture, subculture, political opinion, age, skill level, occupation, and background. We acknowledge that not everyone has the time, financial means, or capacity to actively participate, but we recognize and encourage involvement of all kinds. We facilitate and foster access and empowerment. We are all learners.
1010

11-
The p5.js Editor is a collaborative project created by many individuals, mostly volunteers, and you are invited to help. All types of involvement are welcome. See the [community section](https://p5js.org/community) to get started! You can also check out the [contributor docs](./contributor_docs/README.md) for more in-depth details about contributing to different areas of the project, including code, bug fixes, documentation, discussion, and more.
11+
Learn more about [our community](https://p5js.org/community/) and read our [Community Statement and Code of Conduct](./.github/CODE_OF_CONDUCT.md). You can directly support our work with p5.js by [donating to the Processing Foundation](https://processingfoundation.org/support).
1212

13-
Learn more about [our community](https://p5js.org/community/) and read our community statement and [code of conduct](./.github/CODE_OF_CONDUCT.md). You can directly support our work with p5.js by [donating to the Processing Foundation](https://processingfoundation.org/support).
13+
## Using the p5.js Editor 🤔
1414

15-
## Getting Started
15+
Make your first sketch in the [p5.js Editor](https://editor.p5js.org/)! Learn more about sketching with p5.js on the [Get Started](https://p5js.org/tutorials/get-started/) and find everything you can do in the [Reference](https://p5js.org/reference/). You can also look at [examples](https://editor.p5js.org/p5/sketches) and remix them in the p5.js Editor.
1616

17-
Make your first sketch in the [p5.js Editor](https://editor.p5js.org/)! Learn more about sketching with p5.js on the [Get Started](https://p5js.org/tutorials/get-started/) and find everything you can do in the [Reference](https://p5js.org/reference/). You can also look at [examples](https://editor.p5js.org/p5/sketches) and remix them in the p5.js Editor.
17+
For more information on usage guidelines for the p5.js Editor, check out the [p5.js Editor Terms of Use](https://editor.p5js.org/terms-of-use). To gain better insight into how we handle user data and data privacy, refer to the [p5.js Editor Privacy Policy](https://editor.p5js.org/privacy-policy).
1818

19-
## Contributing
19+
## Contributing 📖 🐛 🎨
2020

21-
[Contributing to the p5.js Web Editor](https://github.com/processing/p5.js-web-editor/blob/develop/contributor_docs/README.md)
21+
The p5.js Editor is a collaborative project created by many individuals, mostly volunteers, and you are invited to help. All types of involvement are welcome. To get started with contributing to the p5.js Editor, we recommend exploring the following resources in order:
2222

23-
[p5.js Community Statement](https://editor.p5js.org/code-of-conduct)
23+
1. [p5.js Community Statement and Code of Conduct](https://editor.p5js.org/code-of-conduct) - Read our Community Statement and Code of Conduct to understand the values that guide our community and how to participate respectfully and constructively.
2424

25+
2. [Contributor Docs](https://github.com/processing/p5.js-web-editor/blob/develop/contributor_docs/README.md) - For a deeper look at how to get involved with the p5.js Editor, check out our Contributor Docs for more in-depth details about contributing to different areas of the project, including code, bug fixes, documentation, discussion, and more.
2526

26-
## Issues
27+
3. [All Contributors list on the p5.js repository](https://github.com/processing/p5.js?tab=readme-ov-file#contributors) - Explore the All Contributors list to see the wide range of contributions by our amazing community!
2728

28-
If you have found a bug in the p5.js Web Editor, you can file it under the ["issues" tab](https://github.com/processing/p5.js-web-editor/issues). You can also request new features here. A set of templates for reporting issues and requesting features are provided to assist you (and us!). The p5.js Editor is maintained mostly by volunteers, so we thank you for your patience as we try to address your issues as soon as we can. Please post bugs and feature requests in the correct repository if you can:
2929

30-
* p5.js library: [https://github.com/processing/p5.js/issues](https://github.com/processing/p5.js/issues)
31-
* p5.js website: [https://github.com/processing/p5.js-website/issues](https://github.com/processing/p5.js-website/issues)
32-
33-
## Acknowledgements
30+
## Acknowledgements 🙏
3431

3532
Support for this project has come from [Processing Foundation](https://processingfoundation.org/), [NYU ITP](https://tisch.nyu.edu/itp), [CS4All, NYC DOE](http://cs4all.nyc/), [COSA at DU](https://liberalarts.du.edu/emergent-digital-practices/open-source-arts), [STUDIO for Creative Inquiry](https://studioforcreativeinquiry.org/), [Grant for the Web](https://www.grantfortheweb.org/), [New Media Rights](https://www.newmediarights.org/), and many others.
3633

client/modules/IDE/hooks/useP5Version.jsx

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import PropTypes from 'prop-types';
88
// JSON.stringify([...document.querySelectorAll('._132722c7')].map(n => n.innerText), null, 2)
99
// TODO: use their API for this to grab these at build time?
1010
export const p5Versions = [
11+
'2.0.2',
1112
'2.0.1',
1213
'2.0.0',
1314
'1.11.5',

0 commit comments

Comments
 (0)