Skip to content

Commit df16dae

Browse files
authored
Merge pull request #803 from processing/update-2.0
Update 2.0
2 parents 9bb61f0 + 1a739fd commit df16dae

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+9975
-47
lines changed

Diff for: public/search-indices/en.json

+1-1
Large diffs are not rendered by default.

Diff for: public/search-indices/es.json

+1-1
Large diffs are not rendered by default.

Diff for: public/search-indices/hi.json

+1-1
Large diffs are not rendered by default.

Diff for: public/search-indices/ko.json

+1-1
Large diffs are not rendered by default.

Diff for: public/search-indices/zh-Hans.json

+1-1
Large diffs are not rendered by default.

Diff for: src/components/ReferenceDirectoryWithFilter/index.tsx

+9-2
Original file line numberDiff line numberDiff line change
@@ -72,18 +72,25 @@ export const ReferenceDirectoryWithFilter = ({
7272

7373
return categoryData.reduce((acc: FilteredCategoryData[], category) => {
7474
const filteredSubcats = category.subcats.reduce(
75-
(subAcc, subcat) => {
75+
(subAcc: typeof category.subcats, subcat) => {
7676
const filteredEntries = subcat.entries.filter((entry) =>
7777
entry.data.title
7878
.toLowerCase()
7979
.includes(searchKeyword.toLowerCase()),
8080
);
81+
if (
82+
subcat.entry &&
83+
subcat.entry.data.title.toLowerCase().includes(searchKeyword.toLowerCase())
84+
) {
85+
filteredEntries.push(subcat.entry);
86+
}
87+
8188
if (filteredEntries.length > 0) {
8289
subAcc.push({ ...subcat, entries: filteredEntries });
8390
}
8491
return subAcc;
8592
},
86-
[] as typeof category.subcats,
93+
[],
8794
);
8895

8996
if (filteredSubcats.length > 0) {

Diff for: src/content/contributor-docs/en/README.mdx

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
---
2+
title: "\U0001F338 Welcome! \U0001F33A\n"
3+
description: >
4+
Thanks for your interest in contributing to p5.js! p5.js is a collaborative
5+
project with contributions from many volunteers. Our community is always
6+
looking for contributors and appreciates involvement in all forms. We
7+
acknowledge that not everyone has the capacity, time, or financial means to
8+
participate actively or in the same ways. We want to expand the meaning of the
9+
word “contributor.” Whether you're an experienced developer or just starting
10+
out, we value your involvement. Your unique perspectives, skills, and
11+
experiences enrich our community, and we encourage you to get involved in a
12+
way that works for you. It includes documentation, teaching, writing code,
13+
making art, writing, design, activism, organizing, curating, or anything else
14+
you might imagine. Our contribute page gives an overview of different ways to
15+
get involved and contribute.
16+
---
17+
18+
19+
Thanks for your interest in contributing to p5.js! p5.js is a collaborative project with contributions from many volunteers. Our community is always looking for contributors and appreciates involvement in all forms. We acknowledge that not everyone has the capacity, time, or financial means to participate actively or in the same ways. We want to expand the meaning of the word “contributor.” Whether you're an experienced developer or just starting out, we value your involvement. Your unique perspectives, skills, and experiences enrich our community, and we encourage you to get involved in a way that works for you. It includes documentation, teaching, writing code, making art, writing, design, activism, organizing, curating, or anything else you might imagine. Our [contribute page](https://p5js.org/contribute/) gives an overview of different ways to get involved and contribute.
20+
21+
p5.js project follows the [all-contributors](https://github.com/kentcdodds/all-contributors/) specification. We use the @all-contributors bot to handle adding people to the README.md file. You can ask @all-contributors bot to add you in an issue or PR comment like so:
22+
23+
```
24+
@all-contributors please add @[your GitHub handle] for [your contribution type]
25+
```
26+
27+
You can find relevant contribution type [here](https://allcontributors.org/docs/en/emoji-key/). Although we will usually automatically add you to the contributor list using the bot after merging your PR. The contributor docs are published on p5.js [website](https://p5js.org/contribute/), and hosted on p5.js [GitHub repository](https://github.com/processing/p5.js/tree/main/contributor_docs/).
28+
29+
# Before Contributing
30+
31+
Contributing to p5.js should be a stress free experience and we welcome contributions of all levels, whether you are just fixing a small typo in the documentation or refactoring complex 3D rendering functionalities. However there are just a few things you should be familiar with before starting your contribution.
32+
33+
First, please have a read through our [community statement](https://p5js.org/about/#community-statement).
34+
35+
Next, we are currently prioritizing work that expands access (inclusion and accessibility) to p5.js! See [our access statement](../access/) for more details.
36+
37+
# Get Started
38+
39+
Now you are ready to start contributing to p5.js! There are many ways to get started with contributing to p5.js and many reasons to do so. For the purpose of this documentation, we will split contributions roughly into two categories.
40+
41+
* Source code contribution (including documentation)
42+
* Non-source code contribution
43+
44+
Depending on what kind of contribution you are making to p5.js, please read on to the relevant section of this documentation.
45+
46+
## [Source code contribution](../contributor_guidelines/)
47+
48+
For a typical contribution to the p5.js or p5.js-website repository, we will follow the following steps:
49+
50+
1. Open an issue
51+
2. Discuss
52+
3. Approved for opening a Pull Request (PR)
53+
4. Make code changes
54+
5. Open a PR
55+
6. Discuss
56+
7. Approved and merged
57+
58+
Head over to [this link](../contributor_guidelines/) where you will be guided one step at a time on how to navigate the steps above, or you can also use the table of contents on the same page to skip to a relevant part you need a refresher on.
59+
60+
Most of the time we will stick with this workflow quite strictly and, especially if you have contributed to other projects before, it may feel like there are too many hoops to jump through for what may be a simple contribution. However, the steps above are aimed to make it easy for you as a contributor and for stewards/maintainers to contribute meaningfully, while also making sure that you won't be spending time working on things that may not be accepted for various reasons. The steps above will help ensure that any proposals or fixes are adequately discussed and considered before any work begin, and often this will actually save you (and the steward/maintainer) time because the PR that would need additional fixing after review, or outright not accepted, would happen less often as a result.
61+
62+
**We see contributing to p5.js as a learning opportunity** and we don't measure success by only looking at the volume of contributions we received. There is no time limit on how long it takes you to complete a contribution, so take your time and work at your own pace (we may check in after a long period of inactivity). Ask for help from any of the stewards or maintainers if you need them and we'll try our best to support you. For information related to area stewards or general maintenance of p5.js GitHub repository, please check out the [steward guidelines](../steward_guidelines/).
63+
64+
## Non-source code contribution
65+
66+
There are many more ways to contribute to p5.js through non-source code contribution than can be exhaustively listed here. Some of the ways may also involve working with some of the p5.js repositories (such as adding examples, writing tutorials for the website, etc.). Depending on what the planned contribution is, we may be able to support you in different ways so do reach out to us via any channel available to you (email, social media, [Discourse forum](https://discourse.processing.org/c/p5js/10/), Discord, etc). Here are just some ways you can contribute:
67+
68+
**Create.** Inspire others with your sketches. p5.js is looking for designers, artists, coders, and programmers to showcase their creative, amazing work on the community sketch gallery. Don’t forget to tag @p5xjs on [Instagram](https://www.instagram.com/p5xjs/) and [X](https://twitter.com/p5xjs/), and we will do our best to share what you're doing.
69+
70+
**Teach.** Teach a workshop, a class, a friend, or a collaborator! Share a syllabus, video tutorials, or other teaching materials with the community.
71+
72+
**Organize.** Host p5.js events. Curate a p5.js exhibition. Activate your local p5.js community.
73+
74+
**Donate.** p5.js is an open-source project made for and by artists, supported by a dedicated community of volunteers. It is and will always remain free to all, without restrictions. If p5.js has made an impact in your life, and you're in a position to give back, please consider making a donation to the Processing Foundation. Your donations directly fund the development of new features, better community support, improved documentation, and more. Thank you for your support.
75+
76+
p5.js is designed to be inclusive and welcomes contributions from everyone, regardless of their background, resources, or level of experience. If you thought of another way you'd like to contribute that you don’t see here, [let us know](mailto:hello@p5js.org)! Your participation is important and contributes to the lively community that is p5.js.

Diff for: src/content/contributor-docs/en/access.mdx

+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
title: |
3+
Our Focus on Access
4+
description: |
5+
What our commitment to access means for contributors and users of the library.
6+
---
7+
{/* What our commitment to access means for contributors and users of the library. */}
8+
9+
10+
11+
At the [2019 Contributors Conference](https://p5js.org/events/contributors-conference-2019/), p5.js made the commitment to only add new features that increase access (inclusion and accessibility). We will not accept feature requests that don't support these efforts. We commit to the work of acknowledging, dismantling, and preventing barriers. This means considering intersecting[^1] experiences of diversity that can impact access and participation. These include alignments of gender, race, ethnicity, sexuality, language, location, et cetera. We center the needs of marginalized groups over the continued comfort of those privileged within the p5.js community. We are collectively exploring the meaning of access. We are learning how to practice and teach access. We choose to think of access through expansive, intersectional, and coalitionary frameworks. This commitment is part of the core values of p5.js outlined in our [Community Statement](https://p5js.org/about/#community-statement).
12+
13+
## Kinds of access
14+
15+
Increasing access is not focused on expanding the raw number of people in the p5.js community. It is a continued commitment to making p5.js available to and approachable for people who have been excluded from the p5.js community as a consequence of structural oppression. This commitment extends to the tools and platforms p5.js offers. It also includes the makeup, decision-making, and actions of p5.js leadership. We resist a technological culture of speed, growth, and competition. We prioritize intentionality, slowness, accommodation, and accountability as acts of collective care.
16+
17+
Access here means making p5.js equitable for:
18+
19+
* People who speak languages other than English
20+
* Black, Indigenous, People of Color, and people of marginalized ethnicities
21+
* Lesbian, gay, bisexual, queer, questioning, pansexual, and asexual people
22+
* Trans, genderfluid, agender, intersex, and two-spirit people, women, and others with marginalized genders
23+
* People who are blind, d/Deaf[^2] or hard of hearing, disabled/have a disability, neurodivergent, and chronically ill[^3]
24+
* People who have lower income, or lack access to financial or cultural capital
25+
* People with little or no prior experience in open source and creative coding
26+
* People from diverse educational backgrounds
27+
* People across all age groups, including children and elders
28+
* People with a variety of technological skill, tools, and internet access
29+
* People from diverse religious backgrounds
30+
* Other people who are systematically excluded and historically underrepresented
31+
* And all intersections thereof
32+
33+
We recognize the complexity of the terms used to describe our respective identities. Language is nuanced, evolving, and contested. This is not an exhaustive list. We provide an attempt to name and be accountable to our commitments and to the diverse needs of the p5.js community.
34+
35+
### Examples
36+
37+
These are examples of efforts we believe increase access:
38+
39+
* Translating documentation and other materials into more languages, decentering linguistic imperialism[^4] (e.g., Rolando Vargas’ [Processing in Kuna Language](https://medium.com/@ProcessingOrg/culture-as-translation-processing-in-kuna-language-with-rolando-vargas-and-edinson-izquierdo-8079f14851f7/), Felipe Santos Gomes, Julia Brasil, Katherine Finn Zander, and Marcela Mancino’s [Pê Cinco: Internationalization and Popularization for Portuguese Speakers](https://medium.com/processing-foundation/translating-p5-js-into-portuguese-for-the-brazilian-community-14b969e77ab1/))
40+
* Improving our support for assistive technologies, such as screen readers (e.g., Katie Liu’s [Adding Alt Text in p5.js](https://medium.com/processing-foundation/adding-alt-text-e2c7684e44f8/), Claire Kearney-Volpe’s [P5 Accessibility Project](https://medium.com/processing-foundation/p5-accessibility-115d84535fa8/))
41+
* Following [Web Content Accessibility Guidelines](https://www.w3.org/TR/WCAG21/) in our tools and working towards making it easier for users to follow them in their projects
42+
* Making p5.js error messages more helpful and supportive to people using the tool (e.g., the [p5.js Friendly Error System (FES)](../friendly_error_system/))
43+
* Mentoring and supporting learners of p5.js within communities that are historically excluded from and marginalized in creative coding and the digital arts
44+
* Hosting community events (e.g., [p5.js Access Day 2022](https://p5js.org/events/p5js-access-day-2022/), [The Web We Want: p5.js x W3C TPAC 2020)](https://medium.com/processing-foundation/p5-js-x-w3c-tpac-bee4c621a053/) with access-centered organizing tactics (e.g., ASL interpretation, live captioning, accessible venues)
45+
* Supporting the creation of educational resources (e.g., Adekemi Sijuwade-Ukadike’s [A11y Syllabus](http://a11ysyllabus.site/))
46+
* Publishing documentation and reports of our work that follow WCAG guidelines, use plain language, and focus on beginners from diverse experiences (e.g., [OSACC p5.js Access Report](https://github.com/processing/OSACC-p5.js-Access-Report/))
47+
48+
## Maintenance
49+
50+
We are not accepting feature requests that do not support our effort to increase access. You'll see this criteria reflected in our issue and pull request templates. We also affirm our intention to maintain the existing feature set of p5.js. We'd like to fix bugs regardless of which area of the codebase they're in. We believe consistency of the tool makes it more accessible for beginners. Examples of feature requests that improve accessibility include:
51+
Performance increases for people using less powerful hardware (e.g., Support for drawing to/reading from framebuffers)
52+
Consistency in the API (e.g, Add arcVertex() for creating arcs with beginShape()/endShape())
53+
54+
***
55+
56+
Please consider this a ‘living document.' We will continue the conversation about what it means to prioritize access. We invite our community to engage with this document and the values it describes. If you have ideas or suggestions, we invite you to share them as an issue on Github or by emailing [hello@p5js.org](mailto:hello@p5js.org).
57+
58+
This version of the p5.js Access Statement was revised in collaboration with Evelyn Masso, Nat Decker, Bobby Joe Smith III, Sammie Veeler, Sonia (Suhyun) Choi, Xin Xin, Kate Hollenbach, Lauren Lee McCarthy, Caroline Sinders, Qianqian Ye, Tristan Jovani Magno Espinoza, Tanvi Sharma, Tsige Tafesse, and Sarah Ciston at the 2023 Open Source Arts Contributors Conference. It was finalized and published by Bobby Joe Smith III and Nat Decker through the support of the Processing Foundation Fellowship.
59+
60+
[^1]: Crenshaw, Kimberlé (1989). "Demarginalizing the intersection of race and sex: a black feminist critique of antidiscrimination doctrine, feminist theory and antiracist politics". University of Chicago Legal Forum. 1989 (1): 139–167. ISSN 0892-5593. Full text at Archive.org.
61+
62+
[^2]: Capital ‘D’ Deaf refers to people who are culturally Deaf or part of the Deaf community while lower case ‘d’ deaf is an audiological term that can describe people not associated with Deaf identity.
63+
64+
[^3]: There are differing preferences between ‘person-first’ vs. ‘identity-first’ language within the disability community. Read [Unpacking the debate over person-first vs. identity-first language in the autism community](https://news.northeastern.edu/2018/07/12/unpacking-the-debate-over-person-first-vs-identity-first-language-in-the-autism-community/), [Disability-Affirming Language: Person-First versus Identity-First Language](https://editorstorontoblog.com/2024/02/23/disability-affirming-language-person-first-versus-identity-first-language/), and [Person-First and Identity-First Language Glossary](https://ogs.ny.gov/system/files/documents/2024/02/person-first-and-identity-first-glossary_english_final.pdf).
65+
66+
[^4]: Linguistic Imperialism, or Language Imperialism, refers to the ongoing domination/prioritization/imposition of certain languages such as English at the expense of native languages due to imperial expansion and globalization.

0 commit comments

Comments
 (0)