diff --git a/.sonarrc b/.sonarrc
new file mode 100644
index 0000000000..840bf8988d
--- /dev/null
+++ b/.sonarrc
@@ -0,0 +1,39 @@
+{
+ "browserslist": [],
+ "connector": {
+ "name": "chrome",
+ "options": {
+ "waitFor": 1000
+ }
+ },
+ "formatters": [
+ "json"
+ ],
+ "ignoredUrls": [],
+ "rules": {
+ "amp-validator": "off",
+ "apple-touch-icons": "error",
+ "axe": "error",
+ "content-type": "error",
+ "disown-opener": "error",
+ "highest-available-document-mode": "error",
+ "html-checker": "error",
+ "image-optimization-cloudinary": "off",
+ "manifest-app-name": "error",
+ "manifest-exists": "error",
+ "manifest-file-extension": "error",
+ "manifest-is-valid": "error",
+ "meta-charset-utf-8": "error",
+ "meta-viewport": "error",
+ "no-disallowed-headers": "error",
+ "no-friendly-error-pages": "error",
+ "no-html-only-headers": "error",
+ "no-protocol-relative-urls": "error",
+ "no-vulnerable-javascript-libraries": "error",
+ "ssllabs": "off",
+ "strict-transport-security": "error",
+ "validate-set-cookie-header": "error",
+ "x-content-type-options": "error"
+ },
+ "rulesTimeout": 120000
+}
\ No newline at end of file
diff --git a/01 - JavaScript Drum Kit/index-WORK.html b/01 - JavaScript Drum Kit/index-WORK.html
new file mode 100644
index 0000000000..b223ccf383
--- /dev/null
+++ b/01 - JavaScript Drum Kit/index-WORK.html
@@ -0,0 +1,87 @@
+
+
+
+
+ JS Drum Kit
+
+
+
+
+
+
+
+ A
+ clap
+
+
+ S
+ hihat
+
+
+ D
+ kick
+
+
+ F
+ openhat
+
+
+ G
+ boom
+
+
+ H
+ ride
+
+
+ J
+ snare
+
+
+ K
+ tom
+
+
+ L
+ tink
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/02 - JS and CSS Clock/clockworker.js b/02 - JS and CSS Clock/clockworker.js
new file mode 100644
index 0000000000..b7cf7dbbcf
--- /dev/null
+++ b/02 - JS and CSS Clock/clockworker.js
@@ -0,0 +1,21 @@
+setDate = () => {
+ const now = new Date();
+
+ const seconds = now.getSeconds();
+ const secondsDegrees = ((seconds / 60) * 360) + 90;
+ const mins = now.getMinutes();
+ const minsDegrees = ((mins / 60) * 360) + 90;
+ const hours = now.getHours();
+ const hoursDegrees = ((hours / 12) * 360) + 90;
+
+ postMessage({hoursDegrees, minsDegrees, secondsDegrees});
+}
+intervalID = 0;
+onmessage = ({data:arg} = 'start') => {
+ if (arg === 'start') {
+ self.intervalID = setInterval(setDate, 1000);
+ } else {
+ clearInterval(self.intervalID);
+ postMessage(0);
+ }
+}
diff --git a/02 - JS and CSS Clock/index-WORK.html b/02 - JS and CSS Clock/index-WORK.html
new file mode 100644
index 0000000000..8950c70338
--- /dev/null
+++ b/02 - JS and CSS Clock/index-WORK.html
@@ -0,0 +1,117 @@
+
+
+
+
+ JS + CSS Clock
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/03 - CSS Variables/index-WORK.html b/03 - CSS Variables/index-WORK.html
new file mode 100644
index 0000000000..c305a9f19f
--- /dev/null
+++ b/03 - CSS Variables/index-WORK.html
@@ -0,0 +1,73 @@
+
+
+
+
+ Scoped CSS Variables and JS
+
+
+ Update CSS Variables with JS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/04 - Array Cardio Day 1/index-WORK.html b/04 - Array Cardio Day 1/index-WORK.html
new file mode 100644
index 0000000000..98b7af432a
--- /dev/null
+++ b/04 - Array Cardio Day 1/index-WORK.html
@@ -0,0 +1,87 @@
+
+
+
+
+ Array Cardio 💪
+
+
+ Psst: have a look at the JavaScript Console 💁
+
+
+
diff --git a/05 - Flex Panel Gallery/index-WORK.html b/05 - Flex Panel Gallery/index-WORK.html
new file mode 100644
index 0000000000..9d34a83270
--- /dev/null
+++ b/05 - Flex Panel Gallery/index-WORK.html
@@ -0,0 +1,143 @@
+
+
+
+
+ Flex Panels 💪
+
+
+
+
+
+
+
+
+
+
Give
+
Take
+
Receive
+
+
+
Experience
+
It
+
Today
+
+
+
+
+
+
+
+
+
+
+
diff --git a/06 - Type Ahead/index-WORK.html b/06 - Type Ahead/index-WORK.html
new file mode 100644
index 0000000000..9378b8ca30
--- /dev/null
+++ b/06 - Type Ahead/index-WORK.html
@@ -0,0 +1,60 @@
+
+
+
+
+ Type Ahead 👀
+
+
+
+
+
+
+
+
diff --git a/07 - Array Cardio Day 2/index-WORK.html b/07 - Array Cardio Day 2/index-WORK.html
new file mode 100644
index 0000000000..c3e71d1f33
--- /dev/null
+++ b/07 - Array Cardio Day 2/index-WORK.html
@@ -0,0 +1,55 @@
+
+
+
+
+ Array Cardio 💪💪
+
+
+ Psst: have a look at the JavaScript Console 💁
+
+
+
diff --git a/08 - Fun with HTML5 Canvas/index-WORK.html b/08 - Fun with HTML5 Canvas/index-WORK.html
new file mode 100644
index 0000000000..b295cda310
--- /dev/null
+++ b/08 - Fun with HTML5 Canvas/index-WORK.html
@@ -0,0 +1,72 @@
+
+
+
+
+ HTML5 Canvas
+
+
+
+
+
+
+
+
+
diff --git a/09 - Dev Tools Domination/index-WORK.html b/09 - Dev Tools Domination/index-WORK.html
new file mode 100644
index 0000000000..196fffd719
--- /dev/null
+++ b/09 - Dev Tools Domination/index-WORK.html
@@ -0,0 +1,46 @@
+
+
+
+
+ Console Tricks!
+
+
+
+ ×BREAK×DOWN×
+
+
+
+
diff --git a/10 - Hold Shift and Check Checkboxes/index-WORK.html b/10 - Hold Shift and Check Checkboxes/index-WORK.html
new file mode 100644
index 0000000000..430e6e5b2f
--- /dev/null
+++ b/10 - Hold Shift and Check Checkboxes/index-WORK.html
@@ -0,0 +1,160 @@
+
+
+
+
+ Hold Shift to Check Multiple Checkboxes
+
+
+
+
+
+
+
+
+
diff --git a/11 - Custom Video Player/index-FINISHED.html b/11 - Custom Video Player/index-FINISHED.html
new file mode 100644
index 0000000000..312105c338
--- /dev/null
+++ b/11 - Custom Video Player/index-FINISHED.html
@@ -0,0 +1,27 @@
+
+
+
+
+ HTML Video Player
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/19 - Webcam Fun/index-FINISHED.html b/19 - Webcam Fun/index-FINISHED.html
new file mode 100755
index 0000000000..bdbfbdcdcb
--- /dev/null
+++ b/19 - Webcam Fun/index-FINISHED.html
@@ -0,0 +1,45 @@
+
+
+
+
+ Get User Media Code Along!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/23 - Speech Synthesis/index-FINISHED.html b/23 - Speech Synthesis/index-FINISHED.html
index 5ea9a4a8e7..787f573e71 100644
--- a/23 - Speech Synthesis/index-FINISHED.html
+++ b/23 - Speech Synthesis/index-FINISHED.html
@@ -40,7 +40,7 @@ The Voiceinator 5000
function populateVoices() {
voices = this.getVoices();
voicesDropdown.innerHTML = voices
- .filter(voice => voice.lang.includes('en'))
+ // .filter(voice => voice.lang.includes('en'))
.map(voice => ``)
.join('');
}
diff --git a/cdp.pid b/cdp.pid
new file mode 100644
index 0000000000..e3f2e282a6
--- /dev/null
+++ b/cdp.pid
@@ -0,0 +1,4 @@
+{
+ "pid": 21841,
+ "port": 53043
+}
\ No newline at end of file