Skip to content

Commit 499c17e

Browse files
committed
Merge branch 'master' into feature/storybook
2 parents 000f6d0 + 33db5fb commit 499c17e

File tree

193 files changed

+24381
-14576
lines changed

Some content is hidden

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

193 files changed

+24381
-14576
lines changed

Diff for: .env.example

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
API_URL=/api
1+
API_URL=/editor
22
AWS_ACCESS_KEY=<your-aws-access-key>
33
AWS_REGION=<your-aws-region>
44
AWS_SECRET_KEY=<your-aws-secret-key>
@@ -23,3 +23,5 @@ PORT=8000
2323
S3_BUCKET=<your-s3-bucket>
2424
S3_BUCKET_URL_BASE=<alt-for-s3-url>
2525
SESSION_SECRET=whatever_you_want_this_to_be_it_only_matters_for_production
26+
UI_ACCESS_TOKEN_ENABLED=false
27+
UPLOAD_LIMIT=250000000

Diff for: .github/CONTRIBUTING.md

+35-15
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# Contributing to the p5.js Web 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 **report bugs**, **proposing new features**, **creating UI/UX designs**, and **updating documentation**.
4-
5-
Here are links to all the sections in this document:
6-
7-
<!-- If you change any of the headings in this document, remember to update the table of contents. -->
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**.
84

5+
## Table of Contents
96
- [Contributing to the p5.js Web Editor](#contributing-to-the-p5js-web-editor)
7+
- [Table of Contents](#table-of-contents)
108
- [Code of Conduct](#code-of-conduct)
119
- [How Can I Contribute?](#how-can-i-contribute)
12-
- [First Timers](#first-timers)
13-
- [Milestones](#milestones)
10+
- [First Steps](#first-steps)
11+
- [Good First Issues](#good-first-issues)
12+
- [Good Medium Issues](#good-medium-issues)
13+
- [Project Board](#project-board)
1414
- [Project Ideas](#project-ideas)
1515
- [Issue Search and Tagging](#issue-search-and-tagging)
1616
- [Beginning Work](#beginning-work)
@@ -20,15 +20,35 @@ Here are links to all the sections in this document:
2020

2121
## Code of Conduct
2222

23-
Please follow the guidelines mentioned at [CODE OF CONDUCT.md](https://github.com/processing/p5.js-web-editor/blob/master/.github/CODE_OF_CONDUCT.md).
23+
Please follow the guidelines in the [Code of Conduct](https://github.com/processing/p5.js-web-editor/blob/master/.github/CODE_OF_CONDUCT.md).
2424

2525
## How Can I Contribute?
26-
27-
### First Timers
28-
For first-time contributors or those who want to start with a small task: [check out our list of good first bugs](https://github.com/processing/p5.js-web-editor/labels/good%20first%20issue). First read the github discussion on that issue and find out if there's currently a person working on that or not. If no one is working on it or if there has was one claimed to but has not been active for a while, ask if it is up for grabs. 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 just 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.
29-
30-
### Milestones
31-
A good place to check for tickets to work on is [milestones](https://github.com/processing/p5.js-web-editor/milestones), as miletones have a due date, and will give you a sense of tickets the tickets that maintainers would like to be completed sooner rather than later.
26+
If you're new to open source, [read about how to contribute to open source](https://opensource.guide/how-to-contribute/).
27+
28+
### First Steps
29+
Don't know where to begin? Here are some suggestions to get started:
30+
* 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:
31+
- UI/UX design
32+
- Project management: Organizing tickets, pull requests, tasks
33+
- Front end: React/Redux, CSS/Sass, CodeMirror
34+
- Back end: Node, Express, MongoDB, Jest, AWS
35+
- DevOps: Travis CI, Jest, Docker, Kubernetes, AWS
36+
- Documentation
37+
- Translations: Application and documentation
38+
* 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.
39+
* 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!"
40+
* Try getting the project running locally on your computer by following the [installation steps](./../developer_docs/installation.md).
41+
* Look through the documentation in the [developer docs](../developer_docs/). Is there anything that could be expanded? Is there anything missing?
42+
* Look at the [development guide](./../developer_docs/development.md).
43+
44+
### Good First Issues
45+
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.
46+
47+
### Good Medium Issues
48+
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!
49+
50+
### Project Board
51+
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/4) board.
3252

3353
### Project Ideas
3454
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.
@@ -40,7 +60,7 @@ If you feel like an issue is tagged incorrectly (e.g. it's low priority and you
4060

4161
### Beginning Work
4262

43-
If you'd like to work on an issue, please comment on it to let the maintainers know. 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.
63+
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.
4464

4565
Then, follow the [installation guide](https://github.com/processing/p5.js-web-editor/blob/master/developer_docs/installation.md) to get the project building and working on your computer.
4666

Diff for: .github/FUNDING.yml

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
custom: https://processingfoundation.org/support

Diff for: .github/config.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ newIssueWelcomeComment: >
1010

1111
# Comment to be posted to on PRs from first time contributors in your repository
1212
newPRWelcomeComment: >
13-
🎉 Thanks for opening this pull request! Please check out our [contributing guidelines](https://github.com/processing/p5.js-web-editor/blob/master/CONTRIBUTING.md) if you haven't already.
13+
🎉 Thanks for opening this pull request! Please check out our [contributing guidelines](https://github.com/processing/p5.js-web-editor/blob/master/.github/CONTRIBUTING.md) if you haven't already.
1414
1515
# Configuration for first-pr-merge - https://github.com/behaviorbot/first-pr-merge
1616

Diff for: .nvmrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
12.16.1

Diff for: .travis.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
sudo: required
22
language: node_js
33
node_js:
4-
- "10.15.0"
4+
- "12.16.1"
55

66
cache:
77
directories:

Diff for: Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM node:10.15.0 as base
1+
FROM node:12.16.1 as base
22
ENV APP_HOME=/usr/src/app \
33
TERM=xterm
44
RUN mkdir -p $APP_HOME

Diff for: README.md

+23-10
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,42 @@
11
# [p5.js Web Editor](https://editor.p5js.org)
22

3+
4+
Documentation is also available in the following languages:
5+
6+
[한국어](https://github.com/processing/p5.js-web-editor/blob/master/translations/ko)
7+
8+
## Welcome! 👋👋🏿👋🏽👋🏻👋🏾👋🏼
9+
310
The p5.js Web Editor is a platform for creative coding, with a focus on making coding accessible for as many people as possible, including artists, designers, educators, beginners, and anyone who wants to learn. Simply by opening the website you can get started writing p5.js sketches without downloading or configuring anything. The editor is designed with simplicity in mind by limiting features and frills. We strive to listen to the community to drive the editor’s development, and to be intentional with every change. The editor is free and open-source.
411

512
We also strive to give the community as much ownership and control as possible. You can download your sketches so that you can edit them locally or host them elsewhere. You can also host your own version of the editor, giving you control over its data.
613

7-
The p5.js Web Editor is currently in active development, and looking for contributions of any type! Please check out the [contribution guide](https://github.com/processing/p5.js-web-editor/blob/master/.github/CONTRIBUTING.md) for more details.
14+
## Community
815

9-
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).
16+
New to the p5.js community? Read our [community statement](https://p5js.org/community/).
17+
18+
## Code of Conduct
19+
20+
All contributors to the p5.js Web Editor are expected to follow the [Code of Conduct](./.github/CODE_OF_CONDUCT.md). We strive to create a friendly and safe community!
21+
22+
## Get Involved
23+
24+
The p5.js Web Editor is a collaborative project created by many individuals, and you are invited to help. All types of involvement are welcome! Please check out the [contribution guide](./.github/CONTRIBUTING.md) for more details.
25+
26+
Developers, check the [developer docs](https://github.com/processing/p5.js-web-editor/blob/master/developer_docs/) details about contributing code, bug fixes, and documentation. To start writing code, a great place to start is the [development guide](https://github.com/processing/p5.js-web-editor/blob/master/developer_docs/development.md).
1027

1128
## Issues
1229

30+
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).
31+
1332
Please post bugs and feature requests in the correct repository:
1433

15-
* p5.js general and p5.dom: [https://github.com/processing/p5.js/issues](https://github.com/processing/p5.js/issues)
34+
* p5.js library and p5.dom: [https://github.com/processing/p5.js/issues](https://github.com/processing/p5.js/issues)
1635
* p5.accessibility: [https://github.com/processing/p5.accessibility/issues](https://github.com/processing/p5.accessibility/issues)
1736
* p5.sound: [https://github.com/processing/p5.js-sound/issues](https://github.com/processing/p5.js-sound/issues)
1837
* p5.js website: [https://github.com/processing/p5.js-website/issues](https://github.com/processing/p5.js-website/issues)
1938

20-
## Get Involved
21-
22-
The p5.js Web Editor is a collaborative project created by many individuals, and you are invited to help. All types of involvement are welcome. You can start with the [p5.js community section](https://p5js.org/community), which also applies to this project.
23-
24-
Developers, check the [developer docs](https://github.com/processing/p5.js-web-editor/blob/master/developer_docs/) details about contributing code, bug fixes, and documentation. To start writing code, a great place to start is the [development guide](https://github.com/processing/p5.js-web-editor/blob/master/developer_docs/development.md).
25-
26-
## Support
39+
## Acknowledgements
2740

2841
Support for this project has come from [Processing Foundation](https://processingfoundation.org/), [NYU ITP](https://tisch.nyu.edu/itp), and [CS4All, NYC DOE](http://cs4all.nyc/).
2942

Diff for: app.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
],
1717
"env": {
1818
"API_URL": {
19-
"value": "/api"
19+
"value": "/editor"
2020
},
2121
"AWS_ACCESS_KEY": {
2222
"description": "AWS Access Key",

Diff for: client/components/AddRemoveButton.jsx

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import React from 'react';
2+
import PropTypes from 'prop-types';
3+
import InlineSVG from 'react-inlinesvg';
4+
5+
const addIcon = require('../images/plus.svg');
6+
const removeIcon = require('../images/minus.svg');
7+
8+
const AddRemoveButton = ({ type, onClick }) => {
9+
const alt = type === 'add' ? 'add to collection' : 'remove from collection';
10+
const icon = type === 'add' ? addIcon : removeIcon;
11+
12+
return (
13+
<button className="overlay__close-button" onClick={onClick}>
14+
<InlineSVG src={icon} alt={alt} />
15+
</button>
16+
);
17+
};
18+
19+
AddRemoveButton.propTypes = {
20+
type: PropTypes.oneOf(['add', 'remove']).isRequired,
21+
onClick: PropTypes.func.isRequired,
22+
};
23+
24+
export default AddRemoveButton;

0 commit comments

Comments
 (0)