diff --git a/HACKTOBERFEST.md b/HACKTOBERFEST.md index ec0706470..0749152fa 100644 --- a/HACKTOBERFEST.md +++ b/HACKTOBERFEST.md @@ -2,27 +2,18 @@ This Hacktoberfest, here are the ways you can contribute to The Coding Train: -1. **Share your creative work on the Passenger Showcase!** +## Share your creative work on the Passenger Showcase - - For your submission to count towards Hacktoberfest, you must manually create a Pull Request to the website repository. You can follow along with the [Passenger Showcase Guide](https://thecodingtrain.com/guides/passenger-showcase-guide) (scroll down below the form) to create your Pull Request. +This is a great option if you are new to open source contributions. For your submission to count towards Hacktoberfest, you must manually create a Pull Request to the website repository. You can follow along with the [Passenger Showcase Guide](https://thecodingtrain.com/guides/passenger-showcase-guide) (scroll down below the form to "Finding the Video on Github") to create your Pull Request. Here are some additional resources that can help you get started: -2. **Curate content for the website** - - - Add a new side track to the site! Side Tracks are collections of related videos but don’t necessarily need to be watched in order. Is there a collection of videos that go together? You are welcome to propose and curate tracks for the website! - - Fix typos and errors in existing metadata for videos. (`topics`, `languages`, `timestamps`) - - For more information on the content structure for tracks and videos, check out the [Content Structure Guide](https://github.com/CodingTrain/thecodingtrain.com/blob/main/CODE_OF_CONDUCT.md). - -3. **Remix the Coding Train Logo!** +- [Git and GitHub for Poets](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZF9C0YMKuns9sLDzK6zoiV): A Coding Train video series for Git and GitHub beginners. +- [Collaborating With Pull Requests](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests): A GitHub guide on pull requests. - - Check out https://github.com/CodingTrain/Coding-Train-Logo. +## Experienced Contributors - Curate content for the website -4. More! +If you are an experienced contributor, consider adding a new side track to the site! Side Tracks are collections of related videos but don’t necessarily need to be watched in order. Please read through the existing issues to see which tracks have been requested. If you are interested in adding a track, please leave a comment in the issue before you start. - - You can contribute to other [Coding Train repositories](https://github.com/CodingTrain/) as well. You will need to ask for the Pull Request to be accepted for Hacktoberfest to count it towards your progress. + For more information on the content structure for tracks and videos, check out the [Content Structure Guide](https://github.com/CodingTrain/thecodingtrain.com/blob/main/CODE_OF_CONDUCT.md). -## Guide For Newer Contributors -If you are new to open source contributions, here are some useful resources that can help you get started: -- [Git and GitHub for Poets](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZF9C0YMKuns9sLDzK6zoiV): A Coding Train video series for Git and GitHub beginners. -- [Collaborating With Pull Requests](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests): A GitHub guide on pull requests. diff --git a/content/pages/homepage/index.json b/content/pages/homepage/index.json index 3180a3f3c..4a1f21f5d 100644 --- a/content/pages/homepage/index.json +++ b/content/pages/homepage/index.json @@ -20,7 +20,7 @@ "tracks": { "title": "Tracks", "description": "Streamline your learning experience and take a ride along a Track on The Coding Train. Tracks are collections of video tutorials that follow a sequenced curriculum.", - "featured": ["learning-processing", "code-programming-with-p5-js"], + "featured": ["ml5js-beginners-guide", "code-programming-with-p5-js"], "tracksCta": { "text": "Ready to learn? Hop on a track for beginners and more!", "buttonText": "browse tracks", @@ -32,11 +32,11 @@ "description": "Watch Dan take on Coding Challenges in p5.js and Processing. The challenge topics include algorithmic art, machine learning, simulation, generative poetry, and more.", "featured": [ "185-dragon-curve", - "175-3D-cube-applesoft-basic", - "160-spring-forces", - "113-4d-hypercube-aka-tesseract", - "99-neural-network-color-predictor", - "85-the-game-of-life" + "152-rdp-algorithm", + "158-shape-classifier", + "174-graphics-applesoft-basic", + "27-fireworks", + "19-superellipse" ], "challengesCta": { "text": "ready to explore? try a challenge!", @@ -47,14 +47,14 @@ "passengerShowcase": { "title": "Passenger showcase highlights", "featured": [ - "challenges/184-elastic-collisions/showcase/contribution-1720963615.json", - "challenges/184-elastic-collisions/showcase/contribution-1720958474.json", - "noc/4-particles/4-particle-textures/showcase/contribution-1721161051.json", - "physics-libraries/box2d/12-collision-events/showcase/contribution-1722000424.json", - "challenges/14-fractal-trees-recursive/showcase/contribution-1723666252.json", - "challenges/10-dfs-maze-generator/showcase/contribution-1720952091.json", - "challenges/184-elastic-collisions/showcase/contribution-1721016798.json", - "challenges/100-neuroevolution-flappy-bird/showcase/contribution-1720945862.json" + "challenges/24-perlin-noise-flow-field/showcase/contribution-1727893468.json", + "noc/3-angles/4-polar-coordinates/showcase/contribution-1727766867.json", + "code/7-arrays/8-objects-images/showcase/contribution-1726937451.json", + "challenges/14-fractal-trees-recursive/showcase/contribution-1726000914.json", + "challenges/85-the-game-of-life/showcase/contribution-1727724456.json", + "transformations/translate-rotate-push-pop/showcase/contribution-1727809803.json", + "challenges/163-bezier-curves/showcase/contribution2.json", + "challenges/124-flocking-simulation/showcase/contribution26.json" ], "showcaseCta": { "text": "Want to see more?", diff --git a/content/tracks/side-tracks/mastodon/index.json b/content/tracks/side-tracks/mastodon/index.json index 07e80bca8..61113eccf 100644 --- a/content/tracks/side-tracks/mastodon/index.json +++ b/content/tracks/side-tracks/mastodon/index.json @@ -12,6 +12,7 @@ "mastodon/replying-to-a-mention", "mastodon/what-is-node-js", "mastodon/what-is-npm", - "workflow/5-node" + "workflow/5-node", + "challenges/118-mastodon-fractal-tree-bot" ] } diff --git a/content/videos/challenges/118-mastodon-fractal-tree-bot/index.jpg b/content/videos/challenges/118-mastodon-fractal-tree-bot/index.jpg new file mode 100644 index 000000000..cad94a2a1 Binary files /dev/null and b/content/videos/challenges/118-mastodon-fractal-tree-bot/index.jpg differ diff --git a/content/videos/challenges/118-mastodon-fractal-tree-bot/index.json b/content/videos/challenges/118-mastodon-fractal-tree-bot/index.json new file mode 100644 index 000000000..74d72d419 --- /dev/null +++ b/content/videos/challenges/118-mastodon-fractal-tree-bot/index.json @@ -0,0 +1,115 @@ +{ + "title": "Mastodon Fractal Tree Bot", + "description": "In part 1 of this coding challenge, I create a node.js Mastodon bot that posts images (fractal trees) generated with Processing code. In part 2, I revise the node.js Mastodon bot to post images (fractal trees) in response to user mentions.", + "videoNumber": "118", + "date": "2018-10-16", + "languages": ["Processing", "JavaScript", "Java", "Node.js", "command-line interface (CLI)"], + "topics": ["Mastodon", "bots", "fractals"], + "canContribute": true, + "relatedChallenges": [ + "174-graphics-applesoft-basic", + "14-fractal-trees-recursive", + "15-object-oriented-fractal-trees", + "18-3d-fractal-trees" + ], + "timestamps": [], + "parts": [ + { + "title": "Part 1 - Creating fractal tree images and posting them with a Mastodon bot", + "videoId": "luxczHFn1rU", + "timestamps": [ + { "time": "0:00", "title": "Introduction" }, + { "time": "0:52", "title": "Inspiration for the challenge" }, + { "time": "1:06", "title": "Generate a random fractal tree image with Processing" }, + { "time": "2:48", "title": "How can Node.js and Processing communicate?" }, + { "time": "3:50", "title": "Calling a Processing sketch from the command line" }, + { "time": "6:10", "title": "Using Node.js to execute the sketch" }, + { "time": "9:00", "title": "Async with promises" }, + { "time": "11:57", "title": "Reading stdout value" }, + { "time": "13:50", "title": "Use `mastodon-api` to POST the image" }, + { "time": "21:40", "title": "Refactor promises chain to async/await" }, + { "time": "25:20", "title": "Reference the image in a new status" }, + { "time": "30:07", "title": "Extract the angle value from stdout" }, + { "time": "33:00", "title": "Make the bot post at a predetermined interval" }, + { "time": "36:30", "title": "Hosting and Part 2 tutorial teaser" } + ] + }, + { + "title": "Part 2 - Revising the bot to reply to user mentions", + "videoId": "PUPWPjjkNqQ", + "timestamps": [ + { "time": "0:00", "title": "Introduction" }, + { "time": "0:30", "title": "Change the code" }, + { "time": "1:00", "title": "Why Mastodon" }, + { "time": "1:40", "title": "Streaming API" }, + { "time": "2:50", "title": "Looking up previous code" }, + { "time": "4:00", "title": "Adding new code" }, + { "time": "6:00", "title": "Regular expressions" }, + { "time": "10:00", "title": "Testing" }, + { "time": "11:00", "title": "Adding an angle" }, + { "time": "13:00", "title": "Adding arguments" } + ] + } + ], + "codeExamples": [ + { + "title": "Source code", + "description": "Mastodon bot and fractal tree generator source code", + "urls": { + "node": "https://github.com/CodingTrain/Mastodon-Bot" + } + } + ], + "groupLinks": [ + { + "title": "References", + "links": [ + { + "icon": "πŸ”—", + "title": "Lowpoly Bot", + "url": "https://twitter.com/lowpolybot", + "description": "A Twitter bot by @Quasimondo that creates random low-polygon versions of pictures it receives." + }, + { + "icon": "πŸ”—", + "title": "Node.js", + "url": "https://nodejs.org/en", + "description": "Documentation about Node.js, a open-source JavaScript runtime environment." + }, + { + "icon": "πŸ”—", + "title": "Mastodon", + "url": "https://mastodon.social/about", + "description": "A decentralized social media powered by Mastodon" + }, + { + "icon": "πŸ”—", + "title": "Mastodon API on npm", + "url": "https://www.npmjs.com/package/mastodon-api", + "description": "A Mastodon API Client for node" + }, + { + "icon": "πŸ”—", + "title": "The 'procesing-java' command", + "url": "https://github.com/processing/processing/wiki/Command-Line", + "description": "Running Processing sketches from the command line" + } + ] + }, + { + "title": "Videos", + "links": [ + { + "icon": "πŸŽ₯", + "title": "What is Mastodon?", + "url": "/tracks/mastodon/mastodon/what-is-mastodon", + "description": "My track on the social media API Mastodon." + } + ] + } + ], + "credits": [ + { "title": "Editing", "name": "Mathieu Blanchette" }, + { "title": "Animations", "name": "Jason Heglund" } + ] +} diff --git a/content/videos/challenges/118-mastodon-fractal-tree-bot/showcase/contribution1.json b/content/videos/challenges/118-mastodon-fractal-tree-bot/showcase/contribution1.json new file mode 100644 index 000000000..af57fd093 --- /dev/null +++ b/content/videos/challenges/118-mastodon-fractal-tree-bot/showcase/contribution1.json @@ -0,0 +1,9 @@ +{ + "title": "Polite circles-maker bot", + "url": "https://github.com/raynauds/mastodon-bot", + "author": { + "name": "SΓ©bastien Raynaud", + "url": "https://twitter.com/Chopokopx" + }, + "submittedOn": "2018-11-12" +} diff --git a/content/videos/challenges/118-mastodon-fractal-tree-bot/showcase/contribution1.png b/content/videos/challenges/118-mastodon-fractal-tree-bot/showcase/contribution1.png new file mode 100644 index 000000000..c8bbccb97 Binary files /dev/null and b/content/videos/challenges/118-mastodon-fractal-tree-bot/showcase/contribution1.png differ diff --git a/content/videos/challenges/14-fractal-trees-recursive/showcase/contribution-1726000914.jpg b/content/videos/challenges/14-fractal-trees-recursive/showcase/contribution-1726000914.jpg new file mode 100644 index 000000000..15c498cd3 Binary files /dev/null and b/content/videos/challenges/14-fractal-trees-recursive/showcase/contribution-1726000914.jpg differ diff --git a/content/videos/challenges/14-fractal-trees-recursive/showcase/contribution-1726000914.json b/content/videos/challenges/14-fractal-trees-recursive/showcase/contribution-1726000914.json new file mode 100644 index 000000000..3d3417525 --- /dev/null +++ b/content/videos/challenges/14-fractal-trees-recursive/showcase/contribution-1726000914.json @@ -0,0 +1,10 @@ +{ + "title": "squarefractal2", + "author": { + "name": "Bart De Meyere", + "instagram": "https://www.instagram.com/bdm_80/" + }, + "url": "https://bartdemeyere.github.io/squarefractal2/", + "submittedOn": "2024-09-10T20:41:54.323Z", + "socialPermission": true +} diff --git a/content/videos/challenges/16-l-system-fractal-trees/showcase/contribution-1723243364.jpg b/content/videos/challenges/16-l-system-fractal-trees/showcase/contribution-1723243364.jpg index 42c103b82..e7f54eaba 100644 Binary files a/content/videos/challenges/16-l-system-fractal-trees/showcase/contribution-1723243364.jpg and b/content/videos/challenges/16-l-system-fractal-trees/showcase/contribution-1723243364.jpg differ diff --git a/content/videos/challenges/16-l-system-fractal-trees/showcase/contribution-1723243364.json b/content/videos/challenges/16-l-system-fractal-trees/showcase/contribution-1723243364.json index 7f9c172fb..957a2272c 100644 --- a/content/videos/challenges/16-l-system-fractal-trees/showcase/contribution-1723243364.json +++ b/content/videos/challenges/16-l-system-fractal-trees/showcase/contribution-1723243364.json @@ -1,9 +1,9 @@ { - "title": "L-System Generator with Shapes", + "title": "L-System Pattern Generator with Polar Shapes", "author": { "name": "Kathy McGuiness" }, - "url": "https://editor.p5js.org/kfahn/sketches/B_P7q5oG_", + "url": "https://github.com/kfahn22/L-System-Pattern-Generator", "submittedOn": "2024-08-09T22:42:44.780Z", "socialPermission": true } diff --git a/content/videos/challenges/182-apollonian-gasket/showcase/contribution-1725557171.json b/content/videos/challenges/182-apollonian-gasket/showcase/contribution-1725557171.json new file mode 100644 index 000000000..3b41d4b37 --- /dev/null +++ b/content/videos/challenges/182-apollonian-gasket/showcase/contribution-1725557171.json @@ -0,0 +1,11 @@ +{ + "title": "Art of Code", + "author": { + "name": "Soumyajit Das", + "url": "https://www.instagram.com/__coder__gamer__indian__/", + "instagram": "https://www.instagram.com/__coder__gamer__indian__/" + }, + "url": "https://github.com/sudiptasoumyajit/182-coding-train", + "submittedOn": "2024-09-05T17:26:11.662Z", + "socialPermission": true +} diff --git a/content/videos/challenges/182-apollonian-gasket/showcase/contribution-1725557171.png b/content/videos/challenges/182-apollonian-gasket/showcase/contribution-1725557171.png new file mode 100644 index 000000000..44939ceaf Binary files /dev/null and b/content/videos/challenges/182-apollonian-gasket/showcase/contribution-1725557171.png differ diff --git a/content/videos/challenges/24-perlin-noise-flow-field/showcase/contribution-1725204487.json b/content/videos/challenges/24-perlin-noise-flow-field/showcase/contribution-1725204487.json new file mode 100644 index 000000000..82aa92ae3 --- /dev/null +++ b/content/videos/challenges/24-perlin-noise-flow-field/showcase/contribution-1725204487.json @@ -0,0 +1,11 @@ +{ + "title": "Perlin Noise Flow Field", + "author": { + "name": "Miguel RodrΓ­guez", + "url": "https://miguelrr11.github.io", + "instagram": "@miguelrrm_11" + }, + "url": "https://miguelrr11.github.io/Noise_Flow_Field/", + "submittedOn": "2024-09-01T15:28:08.092Z", + "socialPermission": true +} diff --git a/content/videos/challenges/24-perlin-noise-flow-field/showcase/contribution-1725204487.png b/content/videos/challenges/24-perlin-noise-flow-field/showcase/contribution-1725204487.png new file mode 100644 index 000000000..95bbfc95b Binary files /dev/null and b/content/videos/challenges/24-perlin-noise-flow-field/showcase/contribution-1725204487.png differ diff --git a/content/videos/challenges/24-perlin-noise-flow-field/showcase/contribution-1727893468.json b/content/videos/challenges/24-perlin-noise-flow-field/showcase/contribution-1727893468.json new file mode 100644 index 000000000..7d1eb0966 --- /dev/null +++ b/content/videos/challenges/24-perlin-noise-flow-field/showcase/contribution-1727893468.json @@ -0,0 +1,10 @@ +{ + "title": "Field visualization", + "author": { + "name": "Zim Quadery", + "url": "https://codepen.io/zimquadery" + }, + "url": "https://codepen.io/zimquadery/full/VwoeRGW", + "submittedOn": "2024-10-02T18:24:28.956Z", + "socialPermission": true +} diff --git a/content/videos/challenges/24-perlin-noise-flow-field/showcase/contribution-1727893468.png b/content/videos/challenges/24-perlin-noise-flow-field/showcase/contribution-1727893468.png new file mode 100644 index 000000000..66498b2bb Binary files /dev/null and b/content/videos/challenges/24-perlin-noise-flow-field/showcase/contribution-1727893468.png differ diff --git a/content/videos/challenges/3-snake-game/showcase/contribution-1725733733.json b/content/videos/challenges/3-snake-game/showcase/contribution-1725733733.json new file mode 100644 index 000000000..35ed269c0 --- /dev/null +++ b/content/videos/challenges/3-snake-game/showcase/contribution-1725733733.json @@ -0,0 +1,10 @@ +{ + "title": "Mono Snake", + "author": { + "name": "Blaze", + "url": "https://dirt-blocked.github.io/Blaze" + }, + "url": "https://dirt-blocked.github.io/Blaze/Pages/three/three.html", + "submittedOn": "2024-09-07T18:28:54.094Z", + "socialPermission": true +} diff --git a/content/videos/challenges/3-snake-game/showcase/contribution-1725733733.png b/content/videos/challenges/3-snake-game/showcase/contribution-1725733733.png new file mode 100644 index 000000000..554e50c27 Binary files /dev/null and b/content/videos/challenges/3-snake-game/showcase/contribution-1725733733.png differ diff --git a/content/videos/challenges/42-markov-chain-name-generator/index.json b/content/videos/challenges/42-markov-chain-name-generator/index.json index de1a3b317..bbbac597b 100644 --- a/content/videos/challenges/42-markov-chain-name-generator/index.json +++ b/content/videos/challenges/42-markov-chain-name-generator/index.json @@ -127,7 +127,7 @@ { "icon": "πŸ’»", "title": "Programming from A to Z - Markov Chains", - "url": "https://shiffman.net/a2z/markov/", + "url": "https://shiffman-archive.netlify.app/a2z/markov/", "description": "Webpage with material from my \"Programming from A to Z\" course." } ] diff --git a/content/videos/challenges/71-minesweeper/showcase/contribution-1727727831.jpg b/content/videos/challenges/71-minesweeper/showcase/contribution-1727727831.jpg new file mode 100644 index 000000000..340f57205 Binary files /dev/null and b/content/videos/challenges/71-minesweeper/showcase/contribution-1727727831.jpg differ diff --git a/content/videos/challenges/71-minesweeper/showcase/contribution-1727727831.json b/content/videos/challenges/71-minesweeper/showcase/contribution-1727727831.json new file mode 100644 index 000000000..89fa16264 --- /dev/null +++ b/content/videos/challenges/71-minesweeper/showcase/contribution-1727727831.json @@ -0,0 +1,12 @@ +{ + "title": "Chaotic Minesweeper!", + "author": { + "name": "Muhammed Resul BΔ°LKΔ°L", + "url": "https://github.com/MuhammedResulBilkil", + "twitter": "https://x.com/ResulBilkil", + "instagram": "https://www.instagram.com/muhammed___resul/" + }, + "url": "https://rresul.itch.io/chatoic-minesweeper", + "submittedOn": "2024-09-30T20:23:52.054Z", + "socialPermission": true +} diff --git a/content/videos/challenges/73-acrostic/images/img.jpg b/content/videos/challenges/73-acrostic/images/img.jpg new file mode 100644 index 000000000..d84aa23f6 Binary files /dev/null and b/content/videos/challenges/73-acrostic/images/img.jpg differ diff --git a/content/videos/challenges/73-acrostic/index.json b/content/videos/challenges/73-acrostic/index.json new file mode 100644 index 000000000..959cc4f43 --- /dev/null +++ b/content/videos/challenges/73-acrostic/index.json @@ -0,0 +1,107 @@ +{ + "title": "Acrostic", + "description": "In this coding challenge, I create an acrostic generator with the Wordnik API and p5.js. This challenge is part of my \"Programming with Text\" series.", + "videoNumber": "73", + "videoId": "jwoK5WKVXGw", + "date": "2017-09-11", + "languages": ["p5.js", "JavaScript"], + "topics": ["Wordnik API", "acrostic", "text", "DOM elements", "poetry"], + "canContribute": true, + "relatedChallenges": ["37-diastic-machine", "84-word-definition-chrome-extension"], + "timestamps": [ + { "time": "0:00", "title": "Introduction" }, + { "time": "0:25", "title": "What is an acrostic?" }, + { "time": "2:45", "title": "On to the code" }, + { "time": "3:00", "title": "Creating HTML DOM elements" }, + { "time": "4:15", "title": "noCanvas()" }, + { "time": "5:10", "title": "Selecting DOM elements with the p5.js select() function" }, + { "time": "6:47", "title": "Writing the mousePressed() button handler" }, + { "time": "7:19", "title": "Getting the word from the input element" }, + { "time": "8:46", "title": "Creating a div element for each letter" }, + { "time": "10:16", "title": "Using the Wordnik API to get a list of words" }, + { "time": "17:18", "title": "Get a list of words for each letter" }, + { "time": "18:09", "title": "Dealing with async requests and out-of-order responses" }, + { "time": "20:26", "title": "Picking random words from the lists" }, + { "time": "22:01", "title": "Put the words in the correct divs" }, + { "time": "25:24", "title": "Wrapping up and variation ideas" } + ], + "codeExamples": [ + { + "title": "Updated source code", + "description": "An updated version of the challenge using the Datamuse API.", + "image": "img.jpg", + "urls": { + "p5": "https://editor.p5js.org/codingtrain/sketches/48yinqNpT" + } + }, + { + "title": "Original source code", + "description": "Note that the Wordnik 'word search' API endpoint is not currently available.", + "image": "img.jpg", + "urls": { + "p5": "https://github.com/CodingTrain/Coding-Challenges/tree/main/073_Acrostic/P5" + } + } + ], + "groupLinks": [ + { + "title": "References", + "links": [ + { + "icon": "πŸ”—", + "title": "ECMAScript on Wikipedia", + "url": "https://en.wikipedia.org/wiki/ECMAScript" + }, + { + "icon": "πŸ”—", + "title": "Fun Fun Function YouTube Channel", + "url": "https://www.youtube.com/@funfunfunction" + }, + { + "icon": "πŸ”—", + "title": "Wordnik", + "url": "https://www.wordnik.com/" + }, + { + "icon": "πŸ”—", + "title": "Datamuse word search API", + "url": "https://www.datamuse.com/api/" + }, + { + "icon": "πŸ”—", + "title": "Acrostic on Wikipedia", + "url": "https://en.wikipedia.org/wiki/Acrostic" + }, + { + "icon": "πŸ”—", + "title": "Programming from A to Z course", + "url": "https://shiffman-archive.netlify.app/a2z/" + }, + { + "icon": "πŸ”—", + "title": "Visual Studio Code", + "url": "https://code.visualstudio.com/download" + } + ] + }, + { + "title": "Videos", + "links": [ + { + "icon": "πŸŽ₯", + "title": "FunFunFunction's video on let/var/const", + "url": "https://youtu.be/sjyJBL5fkp8" + }, + { + "icon": "πŸŽ₯", + "title": "My Video on Closures", + "url": "https://youtu.be/-jysK0nlz7A" + } + ] + } + ], + "credits": [ + { "title": "Editing", "name": "Mathieu Blanchette" }, + { "title": "Animations", "name": "Jason Heglund" } + ] +} diff --git a/content/videos/challenges/73-acrostic/index.png b/content/videos/challenges/73-acrostic/index.png new file mode 100644 index 000000000..6e7a60097 Binary files /dev/null and b/content/videos/challenges/73-acrostic/index.png differ diff --git a/content/videos/challenges/82-image-chrome-extension/index.json b/content/videos/challenges/82-image-chrome-extension/index.json index 4990207b8..545e83070 100644 --- a/content/videos/challenges/82-image-chrome-extension/index.json +++ b/content/videos/challenges/82-image-chrome-extension/index.json @@ -41,7 +41,7 @@ { "icon": "πŸ”€", "title": "Programming from A to Z", - "url": "https://shiffman.net/a2z/", + "url": "https://shiffman-archive.netlify.app/a2z/", "description": "This course focuses on programming strategies and techniques behind procedural analysis and generation of text-based data." }, { diff --git a/content/videos/challenges/83-p5-sketch-chrome-extension/index.json b/content/videos/challenges/83-p5-sketch-chrome-extension/index.json index 7a47ba268..219fe211d 100644 --- a/content/videos/challenges/83-p5-sketch-chrome-extension/index.json +++ b/content/videos/challenges/83-p5-sketch-chrome-extension/index.json @@ -38,7 +38,7 @@ { "icon": "πŸ”€", "title": "Programming from A to Z", - "url": "https://shiffman.net/a2z/", + "url": "https://shiffman-archive.netlify.app/a2z/", "description": "This course focuses on programming strategies and techniques behind procedural analysis and generation of text-based data." }, { diff --git a/content/videos/challenges/84-word-definition-chrome-extension/index.json b/content/videos/challenges/84-word-definition-chrome-extension/index.json index eb80ae8c6..98f7ee2b2 100644 --- a/content/videos/challenges/84-word-definition-chrome-extension/index.json +++ b/content/videos/challenges/84-word-definition-chrome-extension/index.json @@ -57,7 +57,7 @@ { "icon": "πŸ”€", "title": "Programming from A to Z", - "url": "https://shiffman.net/a2z/", + "url": "https://shiffman-archive.netlify.app/a2z/", "description": "This course focuses on programming strategies and techniques behind procedural analysis and generation of text-based data." }, { diff --git a/content/videos/challenges/85-the-game-of-life/showcase/contribution-1727724456.json b/content/videos/challenges/85-the-game-of-life/showcase/contribution-1727724456.json new file mode 100644 index 000000000..a28178fe5 --- /dev/null +++ b/content/videos/challenges/85-the-game-of-life/showcase/contribution-1727724456.json @@ -0,0 +1,11 @@ +{ + "title": "Game of Life (React and p5.js)", + "author": { + "name": "Andrei Zakharov", + "url": "https://github.com/andreizpgh", + "twitter": "andreizp_x" + }, + "url": "https://andreizpgh.github.io/game-of-life/", + "submittedOn": "2024-09-30T19:27:36.621Z", + "socialPermission": true +} diff --git a/content/videos/challenges/85-the-game-of-life/showcase/contribution-1727724456.png b/content/videos/challenges/85-the-game-of-life/showcase/contribution-1727724456.png new file mode 100644 index 000000000..e91d5b60e Binary files /dev/null and b/content/videos/challenges/85-the-game-of-life/showcase/contribution-1727724456.png differ diff --git a/content/videos/code/2-variables/4-random/showcase/contribution-1725221639.json b/content/videos/code/2-variables/4-random/showcase/contribution-1725221639.json new file mode 100644 index 000000000..32fb26959 --- /dev/null +++ b/content/videos/code/2-variables/4-random/showcase/contribution-1725221639.json @@ -0,0 +1,9 @@ +{ + "title": "Sensitive squares", + "author": { + "name": "Renata" + }, + "url": "https://editor.p5js.org/renatazp/sketches/j07_7QpDp", + "submittedOn": "2024-09-01T20:13:59.690Z", + "socialPermission": true +} diff --git a/content/videos/code/2-variables/4-random/showcase/contribution-1725221639.png b/content/videos/code/2-variables/4-random/showcase/contribution-1725221639.png new file mode 100644 index 000000000..b10c77735 Binary files /dev/null and b/content/videos/code/2-variables/4-random/showcase/contribution-1725221639.png differ diff --git a/content/videos/code/2-variables/6-createGraphics/showcase/contribution-1725469094.json b/content/videos/code/2-variables/6-createGraphics/showcase/contribution-1725469094.json new file mode 100644 index 000000000..52e39cf3d --- /dev/null +++ b/content/videos/code/2-variables/6-createGraphics/showcase/contribution-1725469094.json @@ -0,0 +1,9 @@ +{ + "title": "Draw with a pencil", + "author": { + "name": "Renata" + }, + "url": "https://editor.p5js.org/renatazp/sketches/wcRodaI7_", + "submittedOn": "2024-09-04T16:58:14.865Z", + "socialPermission": true +} diff --git a/content/videos/code/2-variables/6-createGraphics/showcase/contribution-1725469094.png b/content/videos/code/2-variables/6-createGraphics/showcase/contribution-1725469094.png new file mode 100644 index 000000000..512118329 Binary files /dev/null and b/content/videos/code/2-variables/6-createGraphics/showcase/contribution-1725469094.png differ diff --git a/content/videos/code/3-conditionals/2-bouncing/showcase/contribution-1725481737.json b/content/videos/code/3-conditionals/2-bouncing/showcase/contribution-1725481737.json new file mode 100644 index 000000000..82f886eb9 --- /dev/null +++ b/content/videos/code/3-conditionals/2-bouncing/showcase/contribution-1725481737.json @@ -0,0 +1,9 @@ +{ + "title": "Bouncy Confetti", + "author": { + "name": "Renata" + }, + "url": "https://editor.p5js.org/renatazp/sketches/fnFDhRkRm", + "submittedOn": "2024-09-04T20:28:57.691Z", + "socialPermission": true +} diff --git a/content/videos/code/3-conditionals/2-bouncing/showcase/contribution-1725481737.png b/content/videos/code/3-conditionals/2-bouncing/showcase/contribution-1725481737.png new file mode 100644 index 000000000..2c9d4a874 Binary files /dev/null and b/content/videos/code/3-conditionals/2-bouncing/showcase/contribution-1725481737.png differ diff --git a/content/videos/code/6-objects/2-classes/showcase/contribution-1725653625.json b/content/videos/code/6-objects/2-classes/showcase/contribution-1725653625.json new file mode 100644 index 000000000..94f1a7e7a --- /dev/null +++ b/content/videos/code/6-objects/2-classes/showcase/contribution-1725653625.json @@ -0,0 +1,9 @@ +{ + "title": "Moving Clouds", + "author": { + "name": "Renata" + }, + "url": "https://editor.p5js.org/renatazp/sketches/90ib3QZlh", + "submittedOn": "2024-09-06T20:13:45.953Z", + "socialPermission": true +} diff --git a/content/videos/code/6-objects/2-classes/showcase/contribution-1725653625.png b/content/videos/code/6-objects/2-classes/showcase/contribution-1725653625.png new file mode 100644 index 000000000..0fbaabe8f Binary files /dev/null and b/content/videos/code/6-objects/2-classes/showcase/contribution-1725653625.png differ diff --git a/content/videos/code/7-arrays/8-objects-images/showcase/contribution-1726937451.json b/content/videos/code/7-arrays/8-objects-images/showcase/contribution-1726937451.json new file mode 100644 index 000000000..69bf5728f --- /dev/null +++ b/content/videos/code/7-arrays/8-objects-images/showcase/contribution-1726937451.json @@ -0,0 +1,9 @@ +{ + "title": "Pop soap bubbles", + "author": { + "name": "Renata" + }, + "url": "https://editor.p5js.org/renatazp/sketches/-Gblafouq", + "submittedOn": "2024-09-21T16:50:51.864Z", + "socialPermission": true +} diff --git a/content/videos/code/7-arrays/8-objects-images/showcase/contribution-1726937451.png b/content/videos/code/7-arrays/8-objects-images/showcase/contribution-1726937451.png new file mode 100644 index 000000000..aee147011 Binary files /dev/null and b/content/videos/code/7-arrays/8-objects-images/showcase/contribution-1726937451.png differ diff --git a/content/videos/noc/3-angles/4-polar-coordinates/showcase/contribution-1726575577.json b/content/videos/noc/3-angles/4-polar-coordinates/showcase/contribution-1726575577.json new file mode 100644 index 000000000..e91c709db --- /dev/null +++ b/content/videos/noc/3-angles/4-polar-coordinates/showcase/contribution-1726575577.json @@ -0,0 +1,9 @@ +{ + "title": "Spirograph", + "author": { + "name": "Yyasuda" + }, + "url": "https://editor.p5js.org/Yyasuda/full/mirJqVrpu", + "submittedOn": "2024-09-17T12:19:38.019Z", + "socialPermission": true +} diff --git a/content/videos/noc/3-angles/4-polar-coordinates/showcase/contribution-1726575577.png b/content/videos/noc/3-angles/4-polar-coordinates/showcase/contribution-1726575577.png new file mode 100644 index 000000000..abd791058 Binary files /dev/null and b/content/videos/noc/3-angles/4-polar-coordinates/showcase/contribution-1726575577.png differ diff --git a/content/videos/noc/3-angles/4-polar-coordinates/showcase/contribution-1727766867.json b/content/videos/noc/3-angles/4-polar-coordinates/showcase/contribution-1727766867.json new file mode 100644 index 000000000..51011e237 --- /dev/null +++ b/content/videos/noc/3-angles/4-polar-coordinates/showcase/contribution-1727766867.json @@ -0,0 +1,9 @@ +{ + "title": "check difference between Cartesian and Polar Coords", + "author": { + "name": "Yyauda" + }, + "url": "https://editor.p5js.org/Yyasuda/full/Qd0ipTMXe", + "submittedOn": "2024-10-01T07:14:28.030Z", + "socialPermission": true +} diff --git a/content/videos/noc/3-angles/4-polar-coordinates/showcase/contribution-1727766867.png b/content/videos/noc/3-angles/4-polar-coordinates/showcase/contribution-1727766867.png new file mode 100644 index 000000000..ea99df18e Binary files /dev/null and b/content/videos/noc/3-angles/4-polar-coordinates/showcase/contribution-1727766867.png differ diff --git a/content/videos/noc/4-particles/1-particle-system/showcase/contribution-1727609781.json b/content/videos/noc/4-particles/1-particle-system/showcase/contribution-1727609781.json new file mode 100644 index 000000000..b59ac4d57 --- /dev/null +++ b/content/videos/noc/4-particles/1-particle-system/showcase/contribution-1727609781.json @@ -0,0 +1,9 @@ +{ + "title": "pathfinding particles", + "author": { + "name": "Yyasuda" + }, + "url": "https://editor.p5js.org/Yyasuda/full/V1D9tVLSD", + "submittedOn": "2024-09-29T11:36:22.033Z", + "socialPermission": true +} diff --git a/content/videos/noc/4-particles/1-particle-system/showcase/contribution-1727609781.png b/content/videos/noc/4-particles/1-particle-system/showcase/contribution-1727609781.png new file mode 100644 index 000000000..99d184e8a Binary files /dev/null and b/content/videos/noc/4-particles/1-particle-system/showcase/contribution-1727609781.png differ diff --git a/content/videos/processing/showcase/contribution-1725139963.jpg b/content/videos/processing/showcase/contribution-1725139963.jpg new file mode 100644 index 000000000..404082d32 Binary files /dev/null and b/content/videos/processing/showcase/contribution-1725139963.jpg differ diff --git a/content/videos/processing/showcase/contribution-1725139963.json b/content/videos/processing/showcase/contribution-1725139963.json new file mode 100644 index 000000000..3496fb5b4 --- /dev/null +++ b/content/videos/processing/showcase/contribution-1725139963.json @@ -0,0 +1,9 @@ +{ + "title": "Persian Rug", + "author": { + "name": "Kathryn McGuiness" + }, + "url": "https://github.com/kfahn22/Persian-Rug/blob/main/palette_from_url/sketch.pde", + "submittedOn": "2024-08-31T21:32:43.592Z", + "socialPermission": true +} diff --git a/content/videos/transformations/translate-rotate-push-pop/showcase/contribution-1727809803.json b/content/videos/transformations/translate-rotate-push-pop/showcase/contribution-1727809803.json new file mode 100644 index 000000000..5b232ed4a --- /dev/null +++ b/content/videos/transformations/translate-rotate-push-pop/showcase/contribution-1727809803.json @@ -0,0 +1,9 @@ +{ + "title": "and There Was Light", + "author": { + "name": "The Kid" + }, + "url": "https://the-bridge-games.netlify.app/andtherewaslight", + "submittedOn": "2024-10-01T19:10:03.729Z", + "socialPermission": true +} diff --git a/content/videos/transformations/translate-rotate-push-pop/showcase/contribution-1727809803.png b/content/videos/transformations/translate-rotate-push-pop/showcase/contribution-1727809803.png new file mode 100644 index 000000000..acdaba8bd Binary files /dev/null and b/content/videos/transformations/translate-rotate-push-pop/showcase/contribution-1727809803.png differ