From 10ad3d816e29b552385a1d2aacc5c577d63e129c Mon Sep 17 00:00:00 2001 From: Dipam Sen Date: Thu, 20 Jul 2023 06:06:57 +0000 Subject: [PATCH 1/6] create custom-shapes video --- .../side-tracks/p5-tips-and-tricks/index.json | 2 +- .../videos/more-p5/custom-shapes/index.json | 51 +++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 content/videos/more-p5/custom-shapes/index.json diff --git a/content/tracks/side-tracks/p5-tips-and-tricks/index.json b/content/tracks/side-tracks/p5-tips-and-tricks/index.json index ec36128a0..2a8579481 100644 --- a/content/tracks/side-tracks/p5-tips-and-tricks/index.json +++ b/content/tracks/side-tracks/p5-tips-and-tricks/index.json @@ -1,5 +1,5 @@ { "title": "p5 Tips & Tricks", "description": "A collection of tips and tricks that might come in handy when working in p5.", - "videos": ["more-p5/local-storage", "more-p5/github-pages-hosting", "more-p5/pixel-array"] + "videos": ["more-p5/local-storage", "more-p5/github-pages-hosting", "more-p5/pixel-array", "more-p5/custom-shapes"] } diff --git a/content/videos/more-p5/custom-shapes/index.json b/content/videos/more-p5/custom-shapes/index.json new file mode 100644 index 000000000..32affb743 --- /dev/null +++ b/content/videos/more-p5/custom-shapes/index.json @@ -0,0 +1,51 @@ +{ + "title": "Custom Shapes", + "description": "In this video, I look at how to draw \"custom\" shapes in p5.js, using, `beginShape()`, `endShape()`, `vertex()` and `curveVertex()`. Special thanks to Rune Madsen's Programming Design Systems!", + "videoId": "76fiD5DvzeQ", + "date": "2017-09-27", + "languages": ["JavaScript", "p5.js"], + "topics": ["custom shapes", "beginShape", "endShape", "vertex", "curveVertex"], + "canContribute": true, + "timestamps": [], + "codeExamples": [], + "groupLinks": [ + { + "title": "References", + "links": [ + { + "icon": "🔗", + "title": "Catmull-Rom", + "url": "https://en.wikipedia.org/wiki/Centripetal_Catmull%E2%80%93Rom_spline", + "description": "Catmull-Rom on Wikipedia" + }, + { + "icon": "🎨", + "title": "Programming Design Systems", + "url": "https://programmingdesignsystems.com/introduction/", + "description": "Rune Madsen's Programming Design Systems" + } + ] + }, + { + "title": "Videos", + "links": [ + { + "icon": "🚂", + "title": "Polar to Cartesian Coordinates", + "url": "/tracks/the-nature-of-code-2/noc/3-angles/4-polar-coordinates", + "description": "This video takes a look at polar and cartesian coordinates." + } + ] + } + ], + "credits": [ + { + "title": "Editing", + "name": "Mathieu Blanchette" + }, + { + "title": "Animations", + "name": "Jason Heglund" + } + ] +} From 5e506f0e294ce7eac204cf7f8f52b5d2d9e22203 Mon Sep 17 00:00:00 2001 From: Dipam Sen Date: Sun, 23 Jul 2023 07:02:01 +0000 Subject: [PATCH 2/6] add "2d arrays" --- content/videos/more-p5/2d-arrays/index.json | 34 +++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 content/videos/more-p5/2d-arrays/index.json diff --git a/content/videos/more-p5/2d-arrays/index.json b/content/videos/more-p5/2d-arrays/index.json new file mode 100644 index 000000000..b45261ccd --- /dev/null +++ b/content/videos/more-p5/2d-arrays/index.json @@ -0,0 +1,34 @@ +{ + "title": "2D Arrays in JavaScript", + "description": "In this JavaScript tutorial, I cover two-dimensional (2D) arrays in JavaScript. I demonstrate how to create, initialize, and use the arrays with nested for loops.", + "videoId": "OTNpiLUSiB4", + "date": "2016-07-18", + "languages": ["JavaScript", "p5.js"], + "topics": ["2d arrays", "array", "for loop"], + "canContribute": true, + "timestamps": [], + "codeExamples": [], + "groupLinks": [ + { + "title": "References", + "links": [ + { + "icon": "🔗", + "title": "2D Array in Processing", + "url": "https://www.processing.org/tutorials/2darray/", + "description": "Dan's 2D Array in Processing tutorial" + } + ] + } + ], + "credits": [ + { + "title": "Editing", + "name": "Mathieu Blanchette" + }, + { + "title": "Animations", + "name": "Jason Heglund" + } + ] +} From 73fa7ecdfc697f792d5dffe4188f4d827fd0d324 Mon Sep 17 00:00:00 2001 From: Dipam Sen Date: Sun, 23 Jul 2023 07:05:01 +0000 Subject: [PATCH 3/6] add video to track --- content/tracks/side-tracks/p5-tips-and-tricks/index.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/tracks/side-tracks/p5-tips-and-tricks/index.json b/content/tracks/side-tracks/p5-tips-and-tricks/index.json index 2a8579481..8fd078361 100644 --- a/content/tracks/side-tracks/p5-tips-and-tricks/index.json +++ b/content/tracks/side-tracks/p5-tips-and-tricks/index.json @@ -1,5 +1,5 @@ { "title": "p5 Tips & Tricks", "description": "A collection of tips and tricks that might come in handy when working in p5.", - "videos": ["more-p5/local-storage", "more-p5/github-pages-hosting", "more-p5/pixel-array", "more-p5/custom-shapes"] + "videos": ["more-p5/local-storage", "more-p5/github-pages-hosting", "more-p5/pixel-array", "more-p5/custom-shapes", "more-p5/2d-arrays"] } From 98c48cab31056cb2d6cb33169180cc57c554ff86 Mon Sep 17 00:00:00 2001 From: Dipam Sen Date: Sun, 23 Jul 2023 07:11:11 +0000 Subject: [PATCH 4/6] update video links to relative paths --- .../videos/challenges/116-lissajous-curve-table/index.json | 4 ++-- .../challenges/137-4d-opensimplex-noise-loop/index.json | 2 +- content/videos/challenges/147-chrome-dinosaur-game/index.json | 2 +- .../48-white-house-social-media-data-visualization/index.json | 2 +- content/videos/challenges/71-minesweeper/index.json | 2 +- content/videos/challenges/85-the-game-of-life/index.json | 2 +- content/videos/challenges/90-dithering/index.json | 2 +- content/videos/challenges/c5-marching-squares/index.json | 2 +- content/videos/webgl/8-3d-custom-shapes/index.json | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/content/videos/challenges/116-lissajous-curve-table/index.json b/content/videos/challenges/116-lissajous-curve-table/index.json index 8d00020ce..706257885 100644 --- a/content/videos/challenges/116-lissajous-curve-table/index.json +++ b/content/videos/challenges/116-lissajous-curve-table/index.json @@ -113,8 +113,8 @@ { "icon": "🎥", "title": "2D Arrays in JavaScript", - "url": "https://www.youtube.com/watch?v=OTNpiLUSiB4", - "description": "In this JavaScript Tutorial, I cover two-dimensional (2D) arrays in JavaScript. I demonstrate how to create, initialize, and use the arrays with nested for loops." + "url": "/tracks/p5-tips-and-tricks/more-p5/2d-arrays", + "description": "In this JavaScript tutorial, I cover two-dimensional (2D) arrays in JavaScript. I demonstrate how to create, initialize, and use the arrays with nested for loops." }, { "icon": "🔴", diff --git a/content/videos/challenges/137-4d-opensimplex-noise-loop/index.json b/content/videos/challenges/137-4d-opensimplex-noise-loop/index.json index f8c1f2b61..a56f1083a 100644 --- a/content/videos/challenges/137-4d-opensimplex-noise-loop/index.json +++ b/content/videos/challenges/137-4d-opensimplex-noise-loop/index.json @@ -59,7 +59,7 @@ { "icon": "🚂", "title": "What is OpenSimplex Noise?", - "url": "https://youtu.be/Lv9gyZZJPE0", + "url": "/tracks/noise/noise/open-simplex-noise", "description": "Discussion on OpenSimplex noise in Processing (NOC 2)" }, { diff --git a/content/videos/challenges/147-chrome-dinosaur-game/index.json b/content/videos/challenges/147-chrome-dinosaur-game/index.json index 631c46b6a..a6f4dc714 100644 --- a/content/videos/challenges/147-chrome-dinosaur-game/index.json +++ b/content/videos/challenges/147-chrome-dinosaur-game/index.json @@ -61,7 +61,7 @@ { "icon": "🎥", "title": "ml5.js Sound Classification", - "url": "https://youtu.be/cO4UP2dX944", + "url": "/tracks/ml5js-beginners-guide/ml5/10-sound-classification/1-sound-classification", "description": "This video examines the new ml5.soundClassifier() function in the ml5.js library." }, { diff --git a/content/videos/challenges/48-white-house-social-media-data-visualization/index.json b/content/videos/challenges/48-white-house-social-media-data-visualization/index.json index 28dfe5c5a..4ca5992ad 100644 --- a/content/videos/challenges/48-white-house-social-media-data-visualization/index.json +++ b/content/videos/challenges/48-white-house-social-media-data-visualization/index.json @@ -92,7 +92,7 @@ { "icon": "🚂", "title": "TF-IDF", - "url": "https://youtu.be/RPMYV-eb6lI", + "url": "/challenges/40-word-counter", "description": "In part 3 of the Word Counting Coding Challenge, I implement an algorithm known as TF-IDF (Term Frequency – Inverse Document Frequency)." }, { diff --git a/content/videos/challenges/71-minesweeper/index.json b/content/videos/challenges/71-minesweeper/index.json index cb1e1d9f8..95d826e17 100644 --- a/content/videos/challenges/71-minesweeper/index.json +++ b/content/videos/challenges/71-minesweeper/index.json @@ -82,7 +82,7 @@ { "icon": "🎥", "title": "2D Arrays in Javascript", - "url": "https://youtu.be/OTNpiLUSiB4", + "url": "/tracks/p5-tips-and-tricks/more-p5/2d-arrays", "description": "In this JavaScript Tutorial, I cover two-dimensional (2D) arrays in JavaScript." }, { diff --git a/content/videos/challenges/85-the-game-of-life/index.json b/content/videos/challenges/85-the-game-of-life/index.json index 26096b481..2f7bdfc62 100644 --- a/content/videos/challenges/85-the-game-of-life/index.json +++ b/content/videos/challenges/85-the-game-of-life/index.json @@ -59,7 +59,7 @@ { "icon": "🚂", "title": "2D Arrays in JavaScript", - "url": "https://www.youtube.com/watch?v=OTNpiLUSiB4", + "url": "/tracks/p5-tips-and-tricks/more-p5/2d-arrays", "description": "In this video, I demonstrate how to create, initialize, and use the 2D arrays in JavaScript with nested for loops." }, { diff --git a/content/videos/challenges/90-dithering/index.json b/content/videos/challenges/90-dithering/index.json index 6d18f0125..9d4ad2e3a 100644 --- a/content/videos/challenges/90-dithering/index.json +++ b/content/videos/challenges/90-dithering/index.json @@ -84,7 +84,7 @@ { "icon": "🚂", "title": "My Video on 2D Arrays", - "url": "https://www.youtube.com/watch?v=OTNpiLUSiB4", + "url": "/tracks/p5-tips-and-tricks/more-p5/2d-arrays", "description": "In this video, I demonstrate how to create, initialize, and use the arrays with nested for loops." }, { diff --git a/content/videos/challenges/c5-marching-squares/index.json b/content/videos/challenges/c5-marching-squares/index.json index af59f23d1..fa722389a 100644 --- a/content/videos/challenges/c5-marching-squares/index.json +++ b/content/videos/challenges/c5-marching-squares/index.json @@ -144,7 +144,7 @@ { "icon": "🎥", "title": "What is OpenSimplex Noise?", - "url": "https://www.youtube.com/watch?v=Lv9gyZZJPE0", + "url": "/tracks/noise/noise/open-simplex-noise", "description": "Discussion of open simplex noise in processing." }, { diff --git a/content/videos/webgl/8-3d-custom-shapes/index.json b/content/videos/webgl/8-3d-custom-shapes/index.json index cd58d9867..0dacec48a 100644 --- a/content/videos/webgl/8-3d-custom-shapes/index.json +++ b/content/videos/webgl/8-3d-custom-shapes/index.json @@ -53,7 +53,7 @@ "icon": "🚂", "title": "Custom Shapes in p5.js", "description": "In this video, I look at how to draw \"custom\" shapes in p5.js, using beginShape(), endShape(), vertex(), and curveVertex().", - "url": "https://www.youtube.com/watch?v=76fiD5DvzeQ" + "url": "/tracks/p5-tips-and-tricks/more-p5/custom-shapes" } ] } From 7f4a2dd143093c7c3a01b9d06004635d25769b23 Mon Sep 17 00:00:00 2001 From: Dipam Sen Date: Wed, 26 Jul 2023 06:31:20 +0000 Subject: [PATCH 5/6] add code examples --- .../more-p5/2d-arrays/images/2d-arrays.png | Bin 0 -> 6057 bytes content/videos/more-p5/2d-arrays/index.json | 11 ++++++++++- .../custom-shapes/images/custom-shapes.png | Bin 0 -> 14898 bytes content/videos/more-p5/custom-shapes/index.json | 11 ++++++++++- 4 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 content/videos/more-p5/2d-arrays/images/2d-arrays.png create mode 100644 content/videos/more-p5/custom-shapes/images/custom-shapes.png diff --git a/content/videos/more-p5/2d-arrays/images/2d-arrays.png b/content/videos/more-p5/2d-arrays/images/2d-arrays.png new file mode 100644 index 0000000000000000000000000000000000000000..f074c98df9cf6c0e7f29092a79eba23f93f0b650 GIT binary patch literal 6057 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

^-(BIV3<&mpKga(^ zUE)9GbIo!T`2Py1d&{CHFh6qkDE&YhnG$zt6e1$m6mnwps0XSjQK zP{3*7F-uFeIG+kLf;@oQT=sk0zCZbKQWAQplEq@p)Jd7s*o%`4J?z<6kU;D@9+>MY zlklfbIl^Ix5GcM;-FQ*Bt1`HgOeQDm{>Dg+juuM-aKaW61SN+XE7thEm_B_Hk9WrCgnM$zTi=?wG3t5~7ROntqX+OVRcp)c_z30pq!_5CmiQ z4P>Fu+;i*7A&;)|PcWz*RiRa;iRukbxD31W^z^nod%cVfNm$l3k^G%5&d&Ln78y1m z$-$`!SlM4HHC6DGcd+>bf16sVcHm2cVP`nhs*Er7%>-;{g0R(58C>?Ey}fh%OD#Mr zRjvsXuVa3ilQI;HM9RoSgmwe(3g^Csg-M3=!b@;jXn=KMm7G+=+kKG>W1&lhJ*^KD z6Nfli8q=a?x_MQLr6V5;YQZ}nALq7Lg@*EQV>0$Z4%Pcuw7BittHi<#j;ybOeuOtT ziY*hEMhJB#txmL#H4$ZBD=H6Trg069c|TJfpcF*6&7`?~whpi16li5F&_=N=jySa@ zdMU`zuSX2Mcbn>RTZaHx-2PdSgTQ2ROlyQQpu%Fn+hNAiD%(#%P^DTx}R=2T$$($mtO*V~*w|MZTWwxw># zvuAJSXGYMZz{!47I*k^~$a(RC++@Z(@900uEC5H7oif(wE8@F8m|_^>|3y|e%1aF#P*7#qO7 zfG_b#fjI-g^-^PFBUkS&&|UYQSJ$vtr<^kwgINQ^p9;U=1ID^41XR7lU@-AZ&nx+( zW!RuOFZ@fd-{GKDbJ}t$ZM3EXMvB{OWNw1J;2vatqJE3}D3kh`J8O!= z6<)tCWN-gElL1_6O?MUm>OIW15-I514G{@4lW8j`XH@5^MG4?njhp^&Cbz_%6rFx%sJ^<@A;qNFr&|(^8P(9>$WE*nqT6)Ee$&j86V4E9>jAjWKA9X_KwP zC7*t=?~uL6Y!XB<)28potk_FT(183o{+rhq|2tsG@84fyAyxlP8JxiHSuG3D0|yy4 zcK?3-(&9H3!Si#e0%?PIx&PP`IK(+wSy^@FJJj|OI734iH8l&}5?}#02lTDwF+nkx zq~VdYsn;1Fbn9U#mPB&!S?lA)ZO93_b7BT&1UPS3UyPkZ>s2o!h%g3AUW@}(9< zIK#>A_Ye;~%jI(6USqO$jowYY=c}YKUZ4<};;~5)sd|&|)L?o(fgLnTw0$ar`4ou_ zd+P=X^E+RFvJ_k}9kQO~U*Ib8Y$!0Zj=(*_O$%rp&!?oMa1&CY+@2NBe*5iJyOsA4 z@W`9Xu1usZu+l0jJ`+{&ibj1;@9C0z(v827&sbVYSB?X|)VO1?qx+v_IMY})km3k2 zL!f^=c_?I&1lkcopBSB?HuGwit%K+xtXgiqx+dXPdc)%%#fU+n7nIrnD!;#P=QvXf b(UuSlAu=LcY;8U0-l3z0W(K*3&R+iq9?5kA literal 0 HcmV?d00001 diff --git a/content/videos/more-p5/2d-arrays/index.json b/content/videos/more-p5/2d-arrays/index.json index b45261ccd..def53c04a 100644 --- a/content/videos/more-p5/2d-arrays/index.json +++ b/content/videos/more-p5/2d-arrays/index.json @@ -7,7 +7,16 @@ "topics": ["2d arrays", "array", "for loop"], "canContribute": true, "timestamps": [], - "codeExamples": [], + "codeExamples": [ + { + "title": "2D Arrays", + "description": "Demonstration of using 2D arrays", + "image": "2d-arrays.png", + "urls": { + "p5": "https://editor.p5js.org/codingtrain/sketches/cOPZYGNSx" + } + } + ], "groupLinks": [ { "title": "References", diff --git a/content/videos/more-p5/custom-shapes/images/custom-shapes.png b/content/videos/more-p5/custom-shapes/images/custom-shapes.png new file mode 100644 index 0000000000000000000000000000000000000000..c289a33d7c9d4b70b6be1051a5bbd89fb616744b GIT binary patch literal 14898 zcmdVBgrT1janq(clqk&tfb2Bkp>5v02WDWyX| zLK^N^zUSV*;rq_>oX3M_v-VnZjycA!R-me~3=!cKLIgpG2$hAXz0a2g|XX@p4Cg8#-SvQxWIgNk$v$D zbI!erhpPU2+SC4GoJ>1`G;0UKYoNl;Alqy@m+7~?pC>>5T$rS?j7caY^ZqCTWYPQ*OUrUA;&u| zRsJM&xgI;KIbz4V_r|LnWyY(W6~-%{e4RlM;j{4g_JK}|eK~qn4mm3$C3&pc#o0kr z+;I=$cr38L8UqKnmxq;7uH*F^`W$7fPSzFCinyD2+jhioY9`!$g8l6J2ix%CtY%-j zoMtK}a3J!w*1*eimm=!w>I5CMZn z&*k~yoy+z0MV!~CB%Ehj$TYSR1fAs*MLdQmFvErVj^1W1fn?WS$;WbKFt?=NX%A(1 z-WI_e-WJE3$2|IuNu`kZ>fQH$SI6_7u1yp?UHSgV;1q(nL4id`uS>nAP#etE)S$e5 zA1n3dqGmjwjk?&$VaaH@P5fw?RkWbb@n>!>hfwVzVYiKJ&%KQtTs*><26nIgEz8Zh zPRr?UZ!M4Zx94~faT7@iJcNV3Nj^>bEw;ved*C@f$-uiC3InexZx6)rT6F|Pd}1iM z4_koEP>8;7+8)K*9(-G?5ZfNb#$C759?c$(+dNmm zaW2M`SLI&RIrzM_*^uQx_9L_Yx$fkmxz2d=C`R}-T;^=jUYYI9&Hj_)ox1Ij67%g} zO>dlG8w;j|2OsyQF2dt1Gizin2)V2-Bzy16RXpyMlnJ377o;WQ4AOZXuyE?{Lhn7p zY9~3BL_y6&(h%bgS$PS?`+yt)e7R z*Y)>FLN0~u4?eti4yuUfG?o^zpAv^fvZyg?A{>7&accQ4rjgW=h%xn2oS?I%h}XVT zjoqZ^(Kl+l2hF>wTvlban1 zWfc7?YAEN41CH ze7?NMQ~UI{PXBq0>bN4^imq01RoR{Gn@VxnuZXB~2`O1(l-J)<^FJ*{kf-^P7a83% zpPwP>Qwa^XK04T`2>u$Xn09|4K>w_~3WN?bWaE-55YNB+R& zGofyqbA!VUh4VoeSTv1mCE9 z2Kh{*yocj@=c_-777h*$g@$dz_$L>oQ$4Ucc|_EF*$D!Uf>g*lofwN;K?Q8GIpEc!F&W@gDB z8$Vm9DfTC<{~ACmQaxI1`er0=b2i#gP|aS8c37<|uP*SS(y`qoOGh3Bm{w(}@$zT6~ zRhw$3#jU|SE$3J+(|k84pGofn8?Tk`oQW)&EU=6sT2Y6H@QW(P`P@_Z#Mu(h&j^sM zV`l0MKN>YvKA@^^fBznL9f514Ug3HC9#(A{Qy;!}e6TjSw>hubog|V-fViIOR@7!l z^@zPDL)_0OvASF`+q)S=Csr#8i*DPO9taDP#Ket7Y`av%j?!Vd&8t(N@2D2)3GjOS zwT=|?@t$2^733oy^@WPD&Xs?>VR|N)O z5fX19u2-Nd+REnLFTnZ}({%iCU-vfg(L-Cd(Awu|3{p=X=0`|2-k2^IzVzl2$5LO0 zg6`&m*Z$s~g^!PqKHM{`+PI-vHZm6UWcpjq!OmLV>i8!ivUNP23flsma%&6a6CB_9 zFZ$ky?TduDJk7kQe}#u*_-JFMl|?$}a%MIz(mnIi;x;DeiqG+$`S@oyM=Ro*$+pPb z%ZA>2O>y@yJ5f|D2!9GRuepffQj7isg54{(@8_$^1YhMmYDVfy9+FV{Qm=2cbL6GT zgycdWj6WCp#U(5}QS5O2x%+ISR>aWZB)4xC>GVfEeG<~9psNCXdK}!w-_A4P*0#ZR zE2>5E+31uxFW+Y(L{^DmchnU3Hf9GSm^HB9f~Yjb#eK=~3^SpvS`OuFv)p@iUimaK zMgz~CdYL&>^k9X%%)FZxF4lz>0u&b(M&Dppq7bZcCAYOaet;xQm^@lh&&RJ>e6y&y z&4S>d#c!Ve@5^2!Cnv}8+a>Mw2z&g^C&$~3*T_=NsdiqDGkr+Rf>erisN!JAPMtZg ziVhHJep@F-qkhcl}M zGslq;nF_vh504b@aHsA>lg@jWp^4&j`|h7<&E{a5L?*;uD<%auz(hWZ)grjDeFdFo z3Aec`lIi3tJJ-%phYi1}r2eDa1}-cSPA`G0S?y#|X3~0r z2^U#C14|etn<(hqVYUSm^e&n2lw6`bd z&)pB?I0Q+PJ}3I7T?r$4G9{+%7t#GV9p8t;7zigN4`x|53`e+JDEE_Jm~Cj0=+mPB z0&~IZ;IHOAe`4n(M6x+kDZazOut29QfdHu_hawNF|Fl+{hn^J}wX+yRvKyKuJXS#h zJUG+$2x8JNjX_lX*0-XpFy(fWs~8-~kk8S!W0fgTr)kQ`qQBup(md1<6hGacr9xNY zB40>`WB(FrGKa^aFFRkmBo{D|kQ!o-kFKJ4x=*N{r(UKa6?^4N`xN`14VF+xXsz!& z6Tu>6vPA|p17lT=%$f9K-#;4rSG#ZL=BlN=BF8~od|_D#7%lqJ+a@O`dHx7LU5O#b zvrmMko-=Idqt9zIIuMA6WA91ekxF=O^~$hl7n|r=pZlqd0<+F|eoeUJ&YR9ifIIqF zII;|AUl~l5I=A@+pEPOglS}tXiaZP$ZQRqo+5YI=)O)PeWMwMGrg|T3Ycb)H)^;Qa zXz<#OeRsq4&3<)5%-3G}uX3W0i}Gw|yjJ4fCk=s;s+czyl`>S44FKD8mEwiA`_3{x z)b4vH)(s#omOLD~fhKfKbxxy}nQC>IAxpzCp-nr>EXL&R>K4En*(rMlukI9 zEloM%`58|P0Ge?t8RO7fLU$uDKSM&Bub!!xBj~g+g_%0*P-WMZAb@r+Y`OJFN3kZ{ zF?u?cp3uL{rjWeEVSv>t)Z=UlTOq6VIw-HA--Y?Z)vm8Ddsh8HQ!tHg)0;~wHxy%f zC=AtKWXMOh9hPvJv^->|j51p3Nx5gaHc?|a-<4>&JXB!tL}ELD?3yB{z{7e3>RAmB zk5c?DBi)!fDFvGjmPWv#F>wE;dJ6>$R+f_Wf$D5`@?^(%Ifm;mJ2~nOQ-f(ma)ar_ zY|TPp)3#N@D9B_}B86ORHxEKZmEkVvR?e5U2&n%U;@p7)7R&UOS0xNg|)f zaeTA={0QlJn{GJqtgyiJPDJI8}FTU%mg6T(Gv5JSekdSOfC{; zO>NN}MJ$@RCQ+R;I~5PV;PTo{2!~V;nVuXUWxn;(OFECJ;iFH&u#?})Dg&44^iQa` z*8UXW#~mrTDu-D`nO%TIxll!U$v(#;)2nfL1~t{W8d<@)hIO^fr%n5JpaBm6E=VL> zZ9Q14vr~=)ls%3XBm*8LWA)<@T9GZF3i$$dA1w!S_cy!6hM`aQhMc=8@~GkTc)A=p zI&7C+Rmxzz?l;r<3{=>T_W_3PbK98t80?5ocd2|73P0{%qwL@nOrxs%(g3r5{sT^{ zE)9UY+)YgbIT}h&K0f+-X1vHyERn-dblKGodU??Pa}v=WSk0bu7g>9tl1hT#SXS8l z$b?bxxRb#s-GT@(to3kVqCus73h#X2P>zO-N<5#^$=-aj`(j^4H8c-Fr8u6UkF`e7 z*0y1gZ9^Y%`ud8fz&N!{)N6m?qj9s2W58t#0E3qacYgoKLh*U0+iTdpfT1u#JrfThnrn{AIC#wVdIof}irF4XyG^imYq8Bn^q;l!>t@=%fbUfWBWM=)y^ zpkwMbW6~4;-V1X0_q!$L-9ymhi|58#|Nj2541*@VMocN5uPj(%IP%88$`UOF`aZy*MNxd=a{PY~)CI9cMGc7)FF!PP?9I^rFFeo+& z6d-#5V`Vuez`ouW$9<+HZ0IVZbS2>7GifVYVYE`^df40TD(2lugXpXms4=I0PG$!S zwhi5-BVRMbrFeg~TC{+H+Yw!`r`aJ&031Kn50stkrr z1~ejf+Mvr8KpE#+4d$BCkSEa!I>}yQR&RugBtTc3K7w2mMqlw@X{D#m;rKI~~$Fct^zJZ|PjG zSL99)w9<~74!RSXrY8xdY9D6DzEnP$UIO;M2t#Q}%fL;l83vmmaqm~4Se&FZ#(H+2aYTp@*j-75 z%3s&kOV0o^cUpgszDPb?WXS)A>HHO*mVGOR>MD3Zod{FW5q#rzsnRFE8hfXkL-^yn zOvQq2&bue|J=DD7SGzYCKjir!9|qmxlpTEREcs0yya8YionHPstKtx7N zmMHSOu0OOAWjzK^E@;{oF{I~uJDR&aG4#zvHZHsf3da*@sgllpTW;3Iq~mBYBx?lM ziFxkc=@U&)x5AiR-}+KK+i*{Sl%d4R zL85d8KVI0a*e&GSYsz*((YvOxYiF-X2Ym>ZaB_s>;n@Y`ImSz&Tn}?=XQdTCU$447 z(W7?y!=tYq%=I8~=xj1<7gS7eX)0VfK#-J3Dvjk#Ev3*6M%{ z?({_6+d^Q$oD@-n=pB|eUhe72O#Q_4dC?YA@oX>uTNe)v;uH6Tu`;H%C{$fLaR&s$HG*=7A`zDdQo>GlVVwA?W<*P>PzO1nTQD)Ixmwb z%4AwPP5DdCi>9XS4DKk07cE!MkSE(OaDzTJw?w8(+?&}E(>8douc1E5$Dk@#HtHSF zFiV{aptm*tX77ul;_>l0Auzlz6Z8w|6TXkv98tIMf-u5uDc5AF(0WL9e zmp#74W{(MA@^FVYAv#b&jzDK%##sw!B?ST)lD;dLEjRKT@+N|5Oe#rZaV}BXf?>rn%+o4Nt&p`OaSwD-7-s4vy8E_{#w?oc2N$vXS9!aO%T%v zF2Mdx#5qb;Rs04Tk~tsD7IInrN12tmyJo9L4&Xp{K%|*=5r?~5BJNP7!@%cexy6R{ z^~x+G_xv8gs>BS@r*?nxK5{QPfqlxO;xf5&@F3kH6|SViq!ec|>JIz*twV97I%vKv zQXv^sxtFfkAAlli+&0auhF1KR`Fy6Yu(Q9Y9QLsdxYmp1fwO; zICsz@Gbd4~STNmGKgxv3s5{=biV>>1Rvq6)%fNCC>`eNs3BM$PajyYdk_Jj8 z7?G4T*FV23;W?H-2W0_tkPD1DS3Z&@7pC>na#7uV=;Io#;Y=>lV(q|LH33v5W@XQ( zg@~$C^I5AZM6<(Hl0wS*B)3dW@7euqcv(>OVRtUxF78Hj51%Q90zUQFU8dDTHfkH! zgU)OH3;x`(=%V+rr!rrL!l~~0X|BoI*sd9(Tx24`6W=TaJ{JRXv z^{VvmQRm+DwJ-Inh?UKeCi5#qvCbLD#D0ktbk1ehE>3sWQ%0FxNm-2@69!F{@{uKD}a>6P{J!5NYv47jH?#PVLUaL^( z^+mS0321%i49}k-x?&=jDMs@~(KK)kSV1)kO@veZt%w-+(~DUvEc$O+v6r^-UV*93 zJ3Rb-Bfto@XA4ElwIYj`D4CS6E?4%j>>SDQqxkHYJbZQqhOihnJC{BnyVc>MWav0OAs zl0hCsVfL@L zfJh|2oq-jth*njtX-g=>J~Vr?Yc3DiS)OVESj{*&-0Zd&3ETflA{O&4qx@4& z7kwf+>{h^?O6KmRj@9wOJhvhi(HK$T2MNV%XH_2^)+kuiX?80vR%9D*|7sN_|2K@y zuy!o&-WD197^=ZeCtLk0Lwd52ru2(1Y}!-InM-&bo)v+mQ`NZB>dZEgYkhSRT$I(m zj5oY=>Zaui`${z%ZMWfMhy1$>6b^DLmg~tz)G!ujeT%x+{SiEo{rO}cz9uQaF$Kn- zdr>dL{fi&oJ_wCw$uTyH_HEeD_4I1fxqlu3L3R zy70<7@+8o>`T-1=2XC68J(Vv@C5}gq%C6t;}lRSeg&;70mCaY@ZK}! zg@xZ<{j?_7I|Xd>4U1mo2f%LyAo*Bjyj=LL9LptDVK+Gucdjeiz+Ddi^l4YDi?v~y z`}UH1Z>rRs=vjpRa=+;NWsn*-T&LG_t~{K?pz>@oI%*Jvbj4;sGhw#m=}$5MT2Um9PjD3{Q1-C z+IAD4b2KvKP0f-(6tJP$Y=r%Yi@E@n$k9&AvMvYKSZ2BH_>%C;U_e4S3%zNdN>2zI zqR&%tWdriUf^i@>+Zrwd?GTG2d&l{l989tR1YZJU=P4tyE=GjT0r+{im4KQZYkME_0z9PC_GSVvr>l{;gCsREQ;c26(^uUnLMS_mVF&*1m^k zIe7f1neNd(X%xvt!8Dn-u&4brf=+i1hST$^tOYCHe*NG!+eTUPQ_rCNnA>8XxoC5? z-JD&m5S!D-Jx%rp58VyTV0StYp8%LwofgP1xOm69_Hd&eJ@7nqyN>f+v(H8R5}?W3 zLYs19Tl=%vpA~_dMOK-wbGIqn|;>DnsqSs=J5bDxz+WSQ%??#rJ)gZ%GuY7_IZE z+oW*#=TS%iDC!Ip$Eap0)086AsaB)L;cE zpm@%&7%-nZ*uO(pUl~-bVhUHQJa!7JWZ2ES5}*XCi0MT2&H>@%>@GGBjiLx(2)`k= z&dg=rl@A8nPvMtW7prTaZsyN6$b&~aSZvzf@ou6wO-3^pn==5?wAB?y$pL7WMcEhG zbh1I`iIYxl0Jm2YIB2I8LU4tU1ukdS@wl*yfDL|04JNZo5eN7Zfpa@_= zn$`mMflI4ttlGJq3QsN2DfR^Qr&_|Ub((Ey8F~#if+S{UONsbSfySE52%hayM=W=j zMoUW+Tl{M{*P}Ha739xC*V7-rqavv~`2d`J2@V^-R=lqVCzMW^*TGX>>+c`T3sXj_ z9J5%k*`Z+KOMo0LDg~Hf5bTtMtWdQSNxXh`97$;)A)W6gl0-Z@I%J^aHBqF!G?R-xxyWLXZXsx0BhV6AN@JhM1HSdf?FbFfjdLV&dSp8Qtp6 z5yPCi#qW;rKvurd-rRssWI%eBCwuJ&R%O=hz(i zgu5TL+3|hr(XyBPdnjv|7)sA{2yAXv*o|&uo}Rib!)@9;*~`p3Vk8^>I@Vi#isn3x z;J`|vC3I8rvs5Z(*{Psbx>v{qv`r1nVQv;<{G+-S=jrHK9@~?>8%inf?I2orfkFP%$p>RWMTt)`4zXfum*y zT&goL3MsNwl8JlC)E)bEdUrr2*W`j*jpS>Fu@2$x`9VqMntp&d6FiJnIsG z3I3*tQW1jN4zue0nM!EDr*rb`e@|&*b`y|Im&OzzTMd|5Ep8jE>RHMK`+t9g+ckePjB zzI#m=FPK6fmAf}*s0Q-1R63Kz3~9u?$F_);zJE+xe9cDPmBGy9Dh55}KJX$nyPEAN zom$T-av~vz29>BIlgSiT>QmxVXuUoG%M<#P&rv^~;GJ}#N~W#kcc#M3F(!M3K;=Q2 zkuocK^Le83Ng6kyC(Z~tQ_}zd|3PSeiP_80&%RJBIM|RQr-@9G>Ny=7_HcggD!C-*@6sa z0Bxrh;uT2(j+xA7Y>azd5_zqnP%RoHD+l1N?f|htPCjN+@SX~9DVBw)mXKv0MpWq_ z)d}o5QFexb+Q;r*LFyx%TQKc^zw?=V? zId#ab;LDs1pUthS*2_`fg`U11^mQMQmTC;NMZ;5B019?D!W=A&X4T$MWc|!$@VWAM z>N&|4VDT+5Ew;gpKxNMku4EhGU;V_F?}!8X6zH4a*l?KzE2J7`2IOmsXYfUXSd+bg zLoY!i^vv|A=J^)U{_rcgHhWl}ILOS83jbUddYTW=G^$EQWmPsjfyWqllvrXi&ck_V zA{uZM_`RALmyZ}PU5B_-E2|Jx+=JU}7(fJ!B9LmEolsM&>6OF zd)iM4g=?OlfP7Tj_GiBBis4M#o~J)!{^{xOEtCdBoS`dIQL|XqG-!qvSSIECV^L|Er8Q z+aeX-6d{)okNehRO`r#|K4Pt9Qhn1)7A8Z4$T1xu#1C8#mGmIQ)8UjDWo4PJTkXUU zP3|HI!M%<|vtmUE?g*A(Z@uLup%b-MmTbizFVz1eygGWt-VO}C471L-48SZGZqTel zMdjU8jF}QXBEqArF98!?*uRuH267C7&Px%@F*7XDAfCmNghC1-4p;uKM536_gr4cO zA{@roXaq~4z-k~nC5laV4s$IUz9bj$P9CGw>lpK@3A3K}5|FYx6g$a3VfZzvpOuHr zG3sQH&IA>pA81nW#;Zc;lg@6245=0E%woRt0o45LJ3l2N0MF7o;+6pzR-5Pn{osX} z55vDxUGFF>bZQYSam^OfMs-CZV1|0WG=sAEC)t$(NPRejdt8YHQZ7MOOBe^k4uhSy zDFQI1sKu)9)y7Idn~>MwyOoWwK4w$+g@nBsyH3%%DUuSuVuKTGc*8%qC-ITI$XwR>t6x%vW%l>hJNo}3(em4pz|7q6oRX9SO5 zq?g93G=zH4Kri3;4DTx6d3~y~_U(hib;`qJtBb*Wd=g?G{7YD=RkQkJZv z5c)f*B2hwoumZ{krmgRqtX1*tBg3xA5I{k-ZgKBA0Mpz=b~yC*kkR;H z4`gH$hhT~YO}Rnzjh9;^>AvD@OW4hvEqKkqYqX#fs{0)N@h9JAMZp)EWrZA?AK3c!4S


Nn*!$zire=)4rvhIP^b`60yK-klyLVq z{xgOGvKgLa{!T@a6fgxWL8s}0Ig17nNI^~;VVy;ULwJ5iq~3eYtTO3)EX*b33~sIS z^fw}iUVK3>b{hOiu66-Lh1;l+fZLI|X#gEr**mIeD>Du;A+9)a!j3&0kgVeQB-AZgP3## zU6ik&6KcLBq)cF1mx9jt9+iE#xhbKeU~0l)P~?F|b5{i+RZkVUe{ysIu|~l|!c+N( zTVYz=ioS`E*UdhC_ChvXMu==}4onO+P*SyESU4~OsfDT~cm)B@uPaO-u)ijU6djyP z7D!!+YADu#k;MWqlR^V|-1?pc55#$!I>Jz|HUjM6}((tpQ~7N)h6Ck}W83J$?tgQIKri$z(FLLlGQ)B`>hy zl?Qf0J9jqB5v1@@K`H4UDUa=?jOMr0=A9|#+AvDJR>uU;II`7*mSU1{mG{;{*zs`P zv1#WuqX0DeY?LJI2A)P%fxy<)c95g&ARMM!VQbTQ@D3)?Ao)$j4|AlPSWsCm2SB1? z0P^K!b3I3}Jk_->Ye}}>Kcw)kS;1_S|1V7t3YwU&YVqS<#(uRc!XeF45pm#hxO{?tj_)H50hcWS zDV}ctZD$c;cMlvFywP;diq~yOYV)qW0nHDK#-Raf^|ZgE6TgfO>s&~5Z=PQ5@WnZW zg{xvgVC$rmT<3>OyE-sdrzE6a6Sk|N9@?oU$o7d$_F53!OaT;N#9l6n#?xK`hsXi2 z=0L_Je%Cm$TC(x|c!@d5!IQBE7I+^(_n-ks0@n2{#LK}?KEI~lXb+)I-#c6&C^()_ zRnkGB-amWcx+;3OAO@O6j`wJN>PzPI2^ zienk^3OhcpeE;~|h=ueOF-V!+qKscvDElt`T;KtBZ>7>4fUw}7(GfxZ& zAOD8B&3}S9e+gad6jVY0fLuOz=T`wX=UpwxWENuor~NdM)A$txAp@?UyZfpGT;GLwe!C^e=jd!+=7crXH2mzU27qid zP6iXC7@LA?9|lTfHXPWz>vHe1!8s6A3y_^zsOyk#y)k$gd&*a+96IcUAmm}g2ISgy_QN6R% zxW#Ke(M3_{H4JXu&47T_>p;pH$f~Z7ba!`Ooj-wjnRx3(6p7fOYR&eLE^5b`tx-TO zmHhWdb!{B+yJWycoZ%=#{7?$j44DWSr2eL6C@1Qa!5a|zRSr#oxJV^GgmMYYA>x$< zmcvPoL5;fr8Npdpn1C|A56~A2C_5zv7YUhu=`4%iW z7DOTI%dSds9f+u zMTs1|pir)Sx-U~H4~DV%>fCMJa@Hma#FdCcQJ2AJS34KW?Dew&4;Zzl)kJi@YKq@T zK8J!=IeN$7wi?~tM`K+O${dT^q=am3zTISP0h&nayvFE`hOAztp}90L2KxWKm{2ng zYR?jk-evINAHe1$v3q1AjL(1*=1tUi#J@_eZMjt#&1)jqN`<`_UOjMFEnJx zmpq)U_7x7n7T+Qym|G(_3=L4Nfb#!_G2QVYN`wV9q~J9R2B93qOpN3LOM(NKmrf?dHIQEP#tH~43|`Cr&Sz&s41jHpFPDdO&gT06NAE4fRBAd`L&n!S|{ zPin@2svrpg^YnE)fHU(zv&_E2YpIHU=jOlfOoF28feFvWG;QtX!tK7bu%A~{+Xqql zoe}AbfPn7y^OWKgj$jR-2erRqaXLioY3gd=p{VIid3X8Nj!`I&g!2f3QqmwjNTxwU zHz)vAMZrpx1xRMZ*)8CDT}Ig$)88N8P0`=*Bv2mY*= pg3rJ|dN2IY_bvZF{-b2h$*HFrwBgQFQN!q6%SkC?3MC)<{U67dz90Yq literal 0 HcmV?d00001 diff --git a/content/videos/more-p5/custom-shapes/index.json b/content/videos/more-p5/custom-shapes/index.json index 32affb743..e96e5fb59 100644 --- a/content/videos/more-p5/custom-shapes/index.json +++ b/content/videos/more-p5/custom-shapes/index.json @@ -7,7 +7,16 @@ "topics": ["custom shapes", "beginShape", "endShape", "vertex", "curveVertex"], "canContribute": true, "timestamps": [], - "codeExamples": [], + "codeExamples": [ + { + "title": "Custom Shapes", + "description": "Demonstration of drawing custom shapes", + "image": "custom-shapes.png", + "urls": { + "p5": "https://editor.p5js.org/codingtrain/sketches/vE4Flwxh5" + } + } + ], "groupLinks": [ { "title": "References", From 49a000290d0b51a814da1649dc75c7e7a399d34b Mon Sep 17 00:00:00 2001 From: Dipam Sen Date: Sun, 27 Aug 2023 06:12:45 +0000 Subject: [PATCH 6/6] add timestamps --- content/videos/more-p5/2d-arrays/index.json | 9 ++++++++- .../videos/more-p5/custom-shapes/index.json | 18 ++++++++++++++++-- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/content/videos/more-p5/2d-arrays/index.json b/content/videos/more-p5/2d-arrays/index.json index def53c04a..030023d09 100644 --- a/content/videos/more-p5/2d-arrays/index.json +++ b/content/videos/more-p5/2d-arrays/index.json @@ -6,7 +6,14 @@ "languages": ["JavaScript", "p5.js"], "topics": ["2d arrays", "array", "for loop"], "canContribute": true, - "timestamps": [], + "timestamps": [ + { "time": "0:00", "title": "Introduction" }, + { "time": "0:54", "title": "What is a 2D Array?" }, + { "time": "3:39", "title": "Code example" }, + { "time": "4:59", "title": "2D Arrays in JavaScript" }, + { "time": "7:13", "title": "How to create a 2D Array?" }, + { "time": "12:02", "title": "Suggestions" } + ], "codeExamples": [ { "title": "2D Arrays", diff --git a/content/videos/more-p5/custom-shapes/index.json b/content/videos/more-p5/custom-shapes/index.json index e96e5fb59..3cef7ba12 100644 --- a/content/videos/more-p5/custom-shapes/index.json +++ b/content/videos/more-p5/custom-shapes/index.json @@ -6,7 +6,15 @@ "languages": ["JavaScript", "p5.js"], "topics": ["custom shapes", "beginShape", "endShape", "vertex", "curveVertex"], "canContribute": true, - "timestamps": [], + "relatedChallenges": ["36-blobby"], + "timestamps": [ + { "time": "0:00", "title": "Introduction" }, + { "time": "0:57", "title": "What is a custom shape?" }, + { "time": "3:01", "title": "Code example" }, + { "time": "5:29", "title": "Using an algorithm to choose the vertices" }, + { "time": "9:37", "title": "Drawing custom curves" }, + { "time": "16:57", "title": "Recap" } + ], "codeExamples": [ { "title": "Custom Shapes", @@ -23,7 +31,7 @@ "links": [ { "icon": "🔗", - "title": "Catmull-Rom", + "title": "Catmull-Rom spline", "url": "https://en.wikipedia.org/wiki/Centripetal_Catmull%E2%80%93Rom_spline", "description": "Catmull-Rom on Wikipedia" }, @@ -32,6 +40,12 @@ "title": "Programming Design Systems", "url": "https://programmingdesignsystems.com/introduction/", "description": "Rune Madsen's Programming Design Systems" + }, + { + "icon": "☁️", + "title": "Community Clouds", + "url": "https://github.com/CodingTrain/CommunityClouds", + "description": "Cloud Designs by the Coding Train Community" } ] },