Skip to content

Building an external site for the showcase #819

@connieliu0

Description

@connieliu0

Hi all! My name is Connie and I'm currently working with p5.js as part of Google Summer of Code!

Context: The reason for this PR is that after examining the YAML structure and writing the documentation for currently adding to the showcase, it was determined that it would be tedious for contributors in future years to continue adding and growing to the showcase. This is because the YAML structure consisted of unique key value pairs without the ability to organize it further into arrays (which was determined after consulting many people involved with developing the website), which makes rewriting the handlebars code each time tedious. Because the showcase is constantly growing, an easier way to develop these pages would be needed.

Issue: The current static generation and translation of showcase pages through handlebars and YAML files would need to change because of the fact the showcase page will be added to every year.

Approach: I plan to code an external site in Reactjs, and append it to the original website by calling it showcase.p5js.org. The details and relevant links to implement i18next into the website and the currently UI drafts for it can be seen in the link below.
https://www.notion.so/External-Site-Plan-and-Components-9c2a87a690474108ba1f0fd99422d4db
https://www.figma.com/file/Ym32EUY2S3z9DCTahMgpRc/Figma-Showcase?node-id=127%3A0

Pros and Cons:
Pros: Will increase the scope of the p5.js showcase by the ability to save space through lazy loading of translations with i18next and the way to add entries by adding json entries instead of having to generate unique keys and new handlebars files every time.
Cons: Cannot be added to the current handlebars+yaml+grunt set up, will need a new name such as showcase.p5js.org.
see current progress here!
https://github.com/connieliu0/p5.js-showcase

@yining1023 @joeyklee

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions