| react-profiling | 0 |
| react-import-map | react,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf |
| route-pattern | /:user_id/:repository |
| route-controller | files |
| route-action | disambiguate |
| fetch-nonce | v2:001e19af-48a0-f65e-a328-f54868993da6 |
| current-catalog-service-hash | f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb |
| request-id | 8096:D64D0:35C45C:47324A:6AEC2098 |
| html-safe-nonce | c20f478729035cd60e22e3c50878be34994f1593842fbcc7cc78635b57df3864 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4MDk2OkQ2NEQwOjM1QzQ1Qzo0NzMyNEE6NkFFQzIwOTgiLCJ2aXNpdG9yX2lkIjoiMTY0OTkxNTQwMzY5ODk3MDc3NiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 7b4d313acd2d9b50ab8395b8d12e3f1ebad27c06f2a1aa9872bd861701fdbbff |
| hovercard-subject-tag | repository:77237124 |
| github-keyboard-shortcuts | repository,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | // |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/wlainer/JavaScript30 |
| twitter:image | https://opengraph.githubassets.com/2f406f8eeefb5ae0025f4b3b66a52a187c03f0af304b406a00e5682b22116f26/wlainer/JavaScript30 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/2f406f8eeefb5ae0025f4b3b66a52a187c03f0af304b406a00e5682b22116f26/wlainer/JavaScript30 |
| og:image:alt | 30 Day Vanilla JS Challenge. Contribute to wlainer/JavaScript30 development by creating an account on GitHub. |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | d063d52022f5f270ef55a70761d126c8085d492d3c251084b07781784c02dad4 |
| turbo-cache-control | no-cache |
| go-import | github.com/wlainer/JavaScript30 git https://github.com/wlainer/JavaScript30.git |
| octolytics-dimension-user_id | 1436384 |
| octolytics-dimension-user_login | wlainer |
| octolytics-dimension-repository_id | 77237124 |
| octolytics-dimension-repository_nwo | wlainer/JavaScript30 |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | true |
| octolytics-dimension-repository_parent_id | 75867720 |
| octolytics-dimension-repository_parent_nwo | wesbos/JavaScript30 |
| octolytics-dimension-repository_network_root_id | 75867720 |
| octolytics-dimension-repository_network_root_nwo | wesbos/JavaScript30 |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 56e59340194011ba3cb6809acfa979ccbd174288 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| Skip to content | https://github.com/wlainer/JavaScript30#start-of-content |
| https://github.com/ |
| Sign in | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fwlainer%2FJavaScript30 |
| GitHubRepository hosting, code review, and collaboration | https://github.com/platform |
| CopilotAI coding agent for tasks, projects and automated work | https://github.com/features/copilot |
| ActionsCI/CD and automation | https://github.com/features/actions |
| Code QualityQuality analysis, fixes, and enforcement | https://github.com/features/code-quality |
| CodespacesCloud development environments | https://github.com/features/codespaces |
| Code SecurityVulnerability detection and remediation | https://github.com/security/advanced-security/code-security |
| Secret ProtectionSecret scanning and leak prevention | https://github.com/security/advanced-security/secret-protection |
| All Features | https://github.com/features |
| Documentation | https://docs.github.com/en |
| Training | https://learn.github.com/skills |
| Certifications | https://learn.github.com/credentials |
| Build with Copilot | https://github.com/features/ai |
| Customize Copilot | https://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview |
| Integrations | https://github.com/marketplace |
| Trending repos | https://github.com/trending |
| GitHub Sponsors | https://github.com/open-source/sponsors |
| Developer articles | https://github.com/resources/articles |
| ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place. | https://github.blog/changelog/ |
| Enterprises | https://github.com/enterprise |
| Team | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| See all industries | https://github.com/solutions/industry |
| Why GitHub | https://github.com/why-github |
| Customer Stories | https://github.com/customer-stories |
| Business insights | https://github.com/solutions/executive-insights |
| Trust Center | https://github.com/trust-center |
| GitHub Advanced SecurityEnterprise-grade code security | https://github.com/security/advanced-security |
| Copilot for businessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/enterprise/premium-support |
| Documentation | https://docs.github.com/en |
| Resource center | https://github.com/resources |
| Blog | https://github.blog/ |
| Events & webinars | https://github.com/resources/events |
| Community Forum | https://github.com/orgs/community/discussions |
| Customer Stories | https://github.com/customer-stories |
| Integrations | https://github.com/marketplace |
| Customer support | https://help.github.com/ |
| Training | https://learn.github.com/skills |
| GitHub Status | https://www.githubstatus.com/ |
| About | https://github.com/about |
| Partners | https://github.com/partners |
| Changelog | https://github.blog/changelog/ |
| GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub. | https://githubuniverse.com/ |
| Pricing | https://github.com/pricing |
| Sign in | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fwlainer%2FJavaScript30 |
| Sign up | https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=wlainer%2FJavaScript30 |
| Reload | https://github.com/wlainer/JavaScript30 |
| Reload | https://github.com/wlainer/JavaScript30 |
| Reload | https://github.com/wlainer/JavaScript30 |
| wlainer | https://github.com/wlainer |
| JavaScript30 | https://github.com/wlainer/JavaScript30 |
| Code | https://github.com/wlainer/JavaScript30 |
| Pull requests | https://github.com/wlainer/JavaScript30/pulls |
| Actions | https://github.com/wlainer/JavaScript30/actions |
| Projects | https://github.com/wlainer/JavaScript30/projects |
| Wiki | https://github.com/wlainer/JavaScript30/wiki |
| Security and quality | https://github.com/wlainer/JavaScript30/security |
| Insights | https://github.com/wlainer/JavaScript30/pulse |
| https://github.com/wlainer/JavaScript30 |
| JavaScript30 | https://github.com/wlainer/JavaScript30 |
| wesbos/JavaScript30 | https://github.com/wesbos/JavaScript30 |
| Notifications | https://github.com/login?return_to=%2Fwlainer%2FJavaScript30 |
| Fork0 (0) | https://github.com/login?return_to=%2Fwlainer%2FJavaScript30 |
| Star0 (0) | https://github.com/login?return_to=%2Fwlainer%2FJavaScript30 |
| JavaScript30.com | https://JavaScript30.com |
| Readme | https://github.com/wlainer/JavaScript30#readme-ov-file |
| Activity | https://github.com/wlainer/JavaScript30/activity |
| 0 forks | https://github.com/wlainer/JavaScript30/forks |
| Report repository | https://github.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fwlainer%2FJavaScript30&report=wlainer+%28user%29 |
| Branches | https://github.com/wlainer/JavaScript30/branches |
| Tags | https://github.com/wlainer/JavaScript30/tags |
| https://github.com/wlainer/JavaScript30/branches |
| https://github.com/wlainer/JavaScript30/tags |
| 65 Commits | https://github.com/wlainer/JavaScript30/commits/master/ |
| https://github.com/wlainer/JavaScript30/commits/master/ |
| 01 - JavaScript Drum Kit | https://github.com/wlainer/JavaScript30/tree/master/01%20-%20JavaScript%20Drum%20Kit |
| 01 - JavaScript Drum Kit | https://github.com/wlainer/JavaScript30/tree/master/01%20-%20JavaScript%20Drum%20Kit |
| 02 - JS + CSS Clock | https://github.com/wlainer/JavaScript30/tree/master/02%20-%20JS%20%2B%20CSS%20Clock |
| 02 - JS + CSS Clock | https://github.com/wlainer/JavaScript30/tree/master/02%20-%20JS%20%2B%20CSS%20Clock |
| 03 - CSS Variables | https://github.com/wlainer/JavaScript30/tree/master/03%20-%20CSS%20Variables |
| 03 - CSS Variables | https://github.com/wlainer/JavaScript30/tree/master/03%20-%20CSS%20Variables |
| 04 - Array Cardio Day 1 | https://github.com/wlainer/JavaScript30/tree/master/04%20-%20Array%20Cardio%20Day%201 |
| 04 - Array Cardio Day 1 | https://github.com/wlainer/JavaScript30/tree/master/04%20-%20Array%20Cardio%20Day%201 |
| 05 - Flex Panel Gallery | https://github.com/wlainer/JavaScript30/tree/master/05%20-%20Flex%20Panel%20Gallery |
| 05 - Flex Panel Gallery | https://github.com/wlainer/JavaScript30/tree/master/05%20-%20Flex%20Panel%20Gallery |
| 06 - Type Ahead | https://github.com/wlainer/JavaScript30/tree/master/06%20-%20Type%20Ahead |
| 06 - Type Ahead | https://github.com/wlainer/JavaScript30/tree/master/06%20-%20Type%20Ahead |
| 07 - Array Cardio Day 2 | https://github.com/wlainer/JavaScript30/tree/master/07%20-%20Array%20Cardio%20Day%202 |
| 07 - Array Cardio Day 2 | https://github.com/wlainer/JavaScript30/tree/master/07%20-%20Array%20Cardio%20Day%202 |
| 08 - Fun with HTML5 Canvas | https://github.com/wlainer/JavaScript30/tree/master/08%20-%20Fun%20with%20HTML5%20Canvas |
| 08 - Fun with HTML5 Canvas | https://github.com/wlainer/JavaScript30/tree/master/08%20-%20Fun%20with%20HTML5%20Canvas |
| 09 - Dev Tools Domination | https://github.com/wlainer/JavaScript30/tree/master/09%20-%20Dev%20Tools%20Domination |
| 09 - Dev Tools Domination | https://github.com/wlainer/JavaScript30/tree/master/09%20-%20Dev%20Tools%20Domination |
| 10 - Hold Shift and Check Checkboxes | https://github.com/wlainer/JavaScript30/tree/master/10%20-%20Hold%20Shift%20and%20Check%20Checkboxes |
| 10 - Hold Shift and Check Checkboxes | https://github.com/wlainer/JavaScript30/tree/master/10%20-%20Hold%20Shift%20and%20Check%20Checkboxes |
| 11 - Custom Video Player | https://github.com/wlainer/JavaScript30/tree/master/11%20-%20Custom%20Video%20Player |
| 11 - Custom Video Player | https://github.com/wlainer/JavaScript30/tree/master/11%20-%20Custom%20Video%20Player |
| 12 - Key Sequence Detection | https://github.com/wlainer/JavaScript30/tree/master/12%20-%20Key%20Sequence%20Detection |
| 12 - Key Sequence Detection | https://github.com/wlainer/JavaScript30/tree/master/12%20-%20Key%20Sequence%20Detection |
| 13 - Slide in on Scroll | https://github.com/wlainer/JavaScript30/tree/master/13%20-%20Slide%20in%20on%20Scroll |
| 13 - Slide in on Scroll | https://github.com/wlainer/JavaScript30/tree/master/13%20-%20Slide%20in%20on%20Scroll |
| 14 - JavaScript References VS Copying | https://github.com/wlainer/JavaScript30/tree/master/14%20-%20JavaScript%20References%20VS%20Copying |
| 14 - JavaScript References VS Copying | https://github.com/wlainer/JavaScript30/tree/master/14%20-%20JavaScript%20References%20VS%20Copying |
| 15 - LocalStorage | https://github.com/wlainer/JavaScript30/tree/master/15%20-%20LocalStorage |
| 15 - LocalStorage | https://github.com/wlainer/JavaScript30/tree/master/15%20-%20LocalStorage |
| 16 - Mouse Move Shadow | https://github.com/wlainer/JavaScript30/tree/master/16%20-%20Mouse%20Move%20Shadow |
| 16 - Mouse Move Shadow | https://github.com/wlainer/JavaScript30/tree/master/16%20-%20Mouse%20Move%20Shadow |
| 17 - Sort Without Articles | https://github.com/wlainer/JavaScript30/tree/master/17%20-%20Sort%20Without%20Articles |
| 17 - Sort Without Articles | https://github.com/wlainer/JavaScript30/tree/master/17%20-%20Sort%20Without%20Articles |
| 18 - Adding Up Times with Reduce | https://github.com/wlainer/JavaScript30/tree/master/18%20-%20Adding%20Up%20Times%20with%20Reduce |
| 18 - Adding Up Times with Reduce | https://github.com/wlainer/JavaScript30/tree/master/18%20-%20Adding%20Up%20Times%20with%20Reduce |
| 19 - Webcam Fun | https://github.com/wlainer/JavaScript30/tree/master/19%20-%20Webcam%20Fun |
| 19 - Webcam Fun | https://github.com/wlainer/JavaScript30/tree/master/19%20-%20Webcam%20Fun |
| 20 - Speech Detection | https://github.com/wlainer/JavaScript30/tree/master/20%20-%20Speech%20Detection |
| 20 - Speech Detection | https://github.com/wlainer/JavaScript30/tree/master/20%20-%20Speech%20Detection |
| 21 - Geolocation | https://github.com/wlainer/JavaScript30/tree/master/21%20-%20Geolocation |
| 21 - Geolocation | https://github.com/wlainer/JavaScript30/tree/master/21%20-%20Geolocation |
| 22 - Follow Along Link Highlighter | https://github.com/wlainer/JavaScript30/tree/master/22%20-%20Follow%20Along%20Link%20Highlighter |
| 22 - Follow Along Link Highlighter | https://github.com/wlainer/JavaScript30/tree/master/22%20-%20Follow%20Along%20Link%20Highlighter |
| 23 - Speech Synthesis | https://github.com/wlainer/JavaScript30/tree/master/23%20-%20Speech%20Synthesis |
| 23 - Speech Synthesis | https://github.com/wlainer/JavaScript30/tree/master/23%20-%20Speech%20Synthesis |
| 24 - Sticky Nav | https://github.com/wlainer/JavaScript30/tree/master/24%20-%20Sticky%20Nav |
| 24 - Sticky Nav | https://github.com/wlainer/JavaScript30/tree/master/24%20-%20Sticky%20Nav |
| 25 - Event Capture, Propagation, Bubbling and Once | https://github.com/wlainer/JavaScript30/tree/master/25%20-%20Event%20Capture%2C%20Propagation%2C%20Bubbling%20and%20Once |
| 25 - Event Capture, Propagation, Bubbling and Once | https://github.com/wlainer/JavaScript30/tree/master/25%20-%20Event%20Capture%2C%20Propagation%2C%20Bubbling%20and%20Once |
| 26 - Stripe Follow Along Nav | https://github.com/wlainer/JavaScript30/tree/master/26%20-%20Stripe%20Follow%20Along%20Nav |
| 26 - Stripe Follow Along Nav | https://github.com/wlainer/JavaScript30/tree/master/26%20-%20Stripe%20Follow%20Along%20Nav |
| 27 - Click and Drag | https://github.com/wlainer/JavaScript30/tree/master/27%20-%20Click%20and%20Drag |
| 27 - Click and Drag | https://github.com/wlainer/JavaScript30/tree/master/27%20-%20Click%20and%20Drag |
| 28 - Video Speed Controller | https://github.com/wlainer/JavaScript30/tree/master/28%20-%20Video%20Speed%20Controller |
| 28 - Video Speed Controller | https://github.com/wlainer/JavaScript30/tree/master/28%20-%20Video%20Speed%20Controller |
| 29 - Countdown Timer | https://github.com/wlainer/JavaScript30/tree/master/29%20-%20Countdown%20Timer |
| 29 - Countdown Timer | https://github.com/wlainer/JavaScript30/tree/master/29%20-%20Countdown%20Timer |
| 30 - Whack A Mole | https://github.com/wlainer/JavaScript30/tree/master/30%20-%20Whack%20A%20Mole |
| 30 - Whack A Mole | https://github.com/wlainer/JavaScript30/tree/master/30%20-%20Whack%20A%20Mole |
| .gitignore | https://github.com/wlainer/JavaScript30/blob/master/.gitignore |
| .gitignore | https://github.com/wlainer/JavaScript30/blob/master/.gitignore |
| readme.md | https://github.com/wlainer/JavaScript30/blob/master/readme.md |
| readme.md | https://github.com/wlainer/JavaScript30/blob/master/readme.md |
| README | https://github.com/wlainer/JavaScript30 |
| https://camo.githubusercontent.com/394f3e42681487d1915af3ef0e24e3da48b1fd267f924749fcba7c1f411e0f02/68747470733a2f2f6a61766173637269707433302e636f6d2f696d616765732f4a53332d736f6369616c2d73686172652e706e67 |
| https://github.com/wlainer/JavaScript30#javascript30 |
| https://JavaScript30.com | https://JavaScript30.com |
| Text Guides | https://github.com/nitishdayal/JavaScript30 |
| https://github.com/wlainer/JavaScript30#pull-requests |
| JavaScript30.com | https://JavaScript30.com |
| Readme | https://github.com/wlainer/JavaScript30#readme-ov-file |
| Activity | https://github.com/wlainer/JavaScript30/activity |
| 0 forks | https://github.com/wlainer/JavaScript30/forks |
| Report repository | https://github.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fwlainer%2FJavaScript30&report=wlainer+%28user%29 |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |