diff --git a/01 - JavaScript Drum Kit/Piano/0.mp3 b/01 - JavaScript Drum Kit/Piano/0.mp3 new file mode 100644 index 0000000000..f402847ee3 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/0.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/1.mp3 b/01 - JavaScript Drum Kit/Piano/1.mp3 new file mode 100644 index 0000000000..b656f9e884 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/1.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/2.mp3 b/01 - JavaScript Drum Kit/Piano/2.mp3 new file mode 100644 index 0000000000..2e11d971c3 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/2.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/3.mp3 b/01 - JavaScript Drum Kit/Piano/3.mp3 new file mode 100644 index 0000000000..ea61bb1097 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/3.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/4.mp3 b/01 - JavaScript Drum Kit/Piano/4.mp3 new file mode 100644 index 0000000000..c1ee33cf68 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/4.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/5.mp3 b/01 - JavaScript Drum Kit/Piano/5.mp3 new file mode 100644 index 0000000000..22495c3b90 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/5.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/6.mp3 b/01 - JavaScript Drum Kit/Piano/6.mp3 new file mode 100644 index 0000000000..f67eab24e1 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/6.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/7.mp3 b/01 - JavaScript Drum Kit/Piano/7.mp3 new file mode 100644 index 0000000000..359568fccd Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/7.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/8.mp3 b/01 - JavaScript Drum Kit/Piano/8.mp3 new file mode 100644 index 0000000000..a10a001f5f Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/8.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/9.mp3 b/01 - JavaScript Drum Kit/Piano/9.mp3 new file mode 100644 index 0000000000..92ef8d8ca7 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/9.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/autoplay.html b/01 - JavaScript Drum Kit/Piano/autoplay.html new file mode 100644 index 0000000000..1c661491b2 --- /dev/null +++ b/01 - JavaScript Drum Kit/Piano/autoplay.html @@ -0,0 +1,81 @@ + + + + + + JS Drum Kit + + + + + + Number: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/01 - JavaScript Drum Kit/Piano/css/style.css b/01 - JavaScript Drum Kit/Piano/css/style.css new file mode 100644 index 0000000000..13471229fe --- /dev/null +++ b/01 - JavaScript Drum Kit/Piano/css/style.css @@ -0,0 +1,99 @@ +*, *:before, *:after { + -webkit-box-sizing: border-box; + box-sizing: border-box; } + +body { + margin: 0; + font-family: Arial, Helvetica, sans-serif; } + +.container { + width: 1300px; + margin: 50px auto 0; } + +.piano-board { + display: block; + padding: 20px; + background-color: black; } + +.piano { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + color: black; } + .piano.hide-text { + color: white; } + .piano .piano-key { + background-color: white; + width: 30px; + margin-right: 2px; + padding: 200px 10px 30px; + border-radius: 0 0px 7px 7px; } + .piano .piano-key.pressed { + background-color: #ffdfa9; } + +.help { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + width: 140px; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + margin-bottom: 10px; } + +.switch { + position: relative; + display: inline-block; + width: 60px; + height: 34px; } + +.switch input { + opacity: 0; + width: 0; + height: 0; } + +.slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #ccc; + -webkit-transition: .4s; + -o-transition: .4s; + transition: .4s; } + +.slider:before { + position: absolute; + content: ""; + height: 26px; + width: 26px; + left: 4px; + bottom: 4px; + background-color: white; + -webkit-transition: .4s; + -o-transition: .4s; + transition: .4s; } + +input:checked + .slider { + background-color: #2196F3; } + +input:focus + .slider { + -webkit-box-shadow: 0 0 1px #2196F3; + box-shadow: 0 0 1px #2196F3; } + +input:checked + .slider:before { + -webkit-transform: translateX(26px); + -ms-transform: translateX(26px); + transform: translateX(26px); } + +/* Rounded sliders */ +.slider.round { + border-radius: 34px; } + +.slider.round:before { + border-radius: 50%; } diff --git a/01 - JavaScript Drum Kit/Piano/css/style.scss b/01 - JavaScript Drum Kit/Piano/css/style.scss new file mode 100644 index 0000000000..ae176ffca4 --- /dev/null +++ b/01 - JavaScript Drum Kit/Piano/css/style.scss @@ -0,0 +1,117 @@ +*, *:before, *:after { + box-sizing: border-box; +} + +body { + margin: 0; + font-family: Arial, Helvetica, sans-serif; +} + +.container { + width: 1300px; + margin: 50px auto 0; +} + +.piano-board { + display: block; + padding: 20px; + background-color: black; +} + +.piano { + display: flex; + color: black; + // justify-content: space-between; + + &.hide-text { + color: white; + } + + .piano-key { + background-color: white; + width: 30px; + margin-right: 2px; + padding: 200px 10px 30px; + border-radius: 0 0px 7px 7px; + + &.pressed { + background-color: #ffdfa9; + } + } +} + + + +.help { + display: flex; + width: 140px; + align-items: center; + justify-content: space-between; + margin-bottom: 10px; +} + + +// +// Toggle Switch HTML5 +// https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_switch +// + +.switch { + position: relative; + display: inline-block; + width: 60px; + height: 34px; +} + +.switch input { + opacity: 0; + width: 0; + height: 0; +} + +.slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #ccc; + -webkit-transition: .4s; + transition: .4s; +} + +.slider:before { + position: absolute; + content: ""; + height: 26px; + width: 26px; + left: 4px; + bottom: 4px; + background-color: white; + -webkit-transition: .4s; + transition: .4s; +} + +input:checked + .slider { + background-color: #2196F3; +} + +input:focus + .slider { + box-shadow: 0 0 1px #2196F3; +} + +input:checked + .slider:before { + -webkit-transform: translateX(26px); + -ms-transform: translateX(26px); + transform: translateX(26px); +} + +/* Rounded sliders */ +.slider.round { + border-radius: 34px; +} + +.slider.round:before { + border-radius: 50%; +} diff --git a/01 - JavaScript Drum Kit/Piano/index.html b/01 - JavaScript Drum Kit/Piano/index.html new file mode 100644 index 0000000000..5a7acf8e66 --- /dev/null +++ b/01 - JavaScript Drum Kit/Piano/index.html @@ -0,0 +1,165 @@ + + + + + + JS Drum Kit + + + + + + +
+ +
+ + Hide Text + +
+ +
+
+
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
0
+
q
+
w
+
e
+
r
+
t
+
y
+
u
+
i
+
o
+
p
+
a
+
s
+
d
+
f
+
g
+
h
+
j
+
k
+
l
+
z
+
x
+
c
+
v
+
b
+
n
+
m
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/01 - JavaScript Drum Kit/Piano/media/a48.mp3 b/01 - JavaScript Drum Kit/Piano/media/a48.mp3 new file mode 100644 index 0000000000..f402847ee3 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a48.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a49.mp3 b/01 - JavaScript Drum Kit/Piano/media/a49.mp3 new file mode 100644 index 0000000000..b656f9e884 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a49.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a50.mp3 b/01 - JavaScript Drum Kit/Piano/media/a50.mp3 new file mode 100644 index 0000000000..2e11d971c3 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a50.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a51.mp3 b/01 - JavaScript Drum Kit/Piano/media/a51.mp3 new file mode 100644 index 0000000000..ea61bb1097 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a51.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a52.mp3 b/01 - JavaScript Drum Kit/Piano/media/a52.mp3 new file mode 100644 index 0000000000..c1ee33cf68 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a52.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a53.mp3 b/01 - JavaScript Drum Kit/Piano/media/a53.mp3 new file mode 100644 index 0000000000..22495c3b90 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a53.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a54.mp3 b/01 - JavaScript Drum Kit/Piano/media/a54.mp3 new file mode 100644 index 0000000000..f67eab24e1 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a54.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a55.mp3 b/01 - JavaScript Drum Kit/Piano/media/a55.mp3 new file mode 100644 index 0000000000..359568fccd Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a55.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a56.mp3 b/01 - JavaScript Drum Kit/Piano/media/a56.mp3 new file mode 100644 index 0000000000..a10a001f5f Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a56.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a57.mp3 b/01 - JavaScript Drum Kit/Piano/media/a57.mp3 new file mode 100644 index 0000000000..92ef8d8ca7 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a57.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a65.mp3 b/01 - JavaScript Drum Kit/Piano/media/a65.mp3 new file mode 100644 index 0000000000..2093556d20 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a65.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a66.mp3 b/01 - JavaScript Drum Kit/Piano/media/a66.mp3 new file mode 100644 index 0000000000..c7de11c735 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a66.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a67.mp3 b/01 - JavaScript Drum Kit/Piano/media/a67.mp3 new file mode 100644 index 0000000000..e119b1d081 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a67.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a68.mp3 b/01 - JavaScript Drum Kit/Piano/media/a68.mp3 new file mode 100644 index 0000000000..00f978f7ed Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a68.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a69.mp3 b/01 - JavaScript Drum Kit/Piano/media/a69.mp3 new file mode 100644 index 0000000000..dfe27fbb84 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a69.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a70.mp3 b/01 - JavaScript Drum Kit/Piano/media/a70.mp3 new file mode 100644 index 0000000000..b36e01a32f Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a70.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a71.mp3 b/01 - JavaScript Drum Kit/Piano/media/a71.mp3 new file mode 100644 index 0000000000..b00f0706de Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a71.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a72.mp3 b/01 - JavaScript Drum Kit/Piano/media/a72.mp3 new file mode 100644 index 0000000000..d6c6c72675 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a72.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a73.mp3 b/01 - JavaScript Drum Kit/Piano/media/a73.mp3 new file mode 100644 index 0000000000..b18b979e7c Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a73.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a74.mp3 b/01 - JavaScript Drum Kit/Piano/media/a74.mp3 new file mode 100644 index 0000000000..f313ac6db6 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a74.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a75.mp3 b/01 - JavaScript Drum Kit/Piano/media/a75.mp3 new file mode 100644 index 0000000000..78eee39186 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a75.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a76.mp3 b/01 - JavaScript Drum Kit/Piano/media/a76.mp3 new file mode 100644 index 0000000000..59168c1110 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a76.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a77.mp3 b/01 - JavaScript Drum Kit/Piano/media/a77.mp3 new file mode 100644 index 0000000000..cd98b59fa0 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a77.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a78.mp3 b/01 - JavaScript Drum Kit/Piano/media/a78.mp3 new file mode 100644 index 0000000000..31e0834e26 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a78.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a79.mp3 b/01 - JavaScript Drum Kit/Piano/media/a79.mp3 new file mode 100644 index 0000000000..58bd59c748 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a79.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a80.mp3 b/01 - JavaScript Drum Kit/Piano/media/a80.mp3 new file mode 100644 index 0000000000..0f853bd7eb Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a80.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a81.mp3 b/01 - JavaScript Drum Kit/Piano/media/a81.mp3 new file mode 100644 index 0000000000..84b8eefe99 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a81.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a82.mp3 b/01 - JavaScript Drum Kit/Piano/media/a82.mp3 new file mode 100644 index 0000000000..f72bf3d69f Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a82.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a83.mp3 b/01 - JavaScript Drum Kit/Piano/media/a83.mp3 new file mode 100644 index 0000000000..eed526c7a8 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a83.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a84.mp3 b/01 - JavaScript Drum Kit/Piano/media/a84.mp3 new file mode 100644 index 0000000000..310a8c0788 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a84.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a85.mp3 b/01 - JavaScript Drum Kit/Piano/media/a85.mp3 new file mode 100644 index 0000000000..108d3cf409 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a85.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a86.mp3 b/01 - JavaScript Drum Kit/Piano/media/a86.mp3 new file mode 100644 index 0000000000..95254d3c30 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a86.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a87.mp3 b/01 - JavaScript Drum Kit/Piano/media/a87.mp3 new file mode 100644 index 0000000000..723fa1a318 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a87.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a88.mp3 b/01 - JavaScript Drum Kit/Piano/media/a88.mp3 new file mode 100644 index 0000000000..d66339e9d8 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a88.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a89.mp3 b/01 - JavaScript Drum Kit/Piano/media/a89.mp3 new file mode 100644 index 0000000000..a0d3656ba5 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a89.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/a90.mp3 b/01 - JavaScript Drum Kit/Piano/media/a90.mp3 new file mode 100644 index 0000000000..29610a42f1 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/a90.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b49.mp3 b/01 - JavaScript Drum Kit/Piano/media/b49.mp3 new file mode 100644 index 0000000000..87e118a553 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b49.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b50.mp3 b/01 - JavaScript Drum Kit/Piano/media/b50.mp3 new file mode 100644 index 0000000000..098ae2a2f3 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b50.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b52.mp3 b/01 - JavaScript Drum Kit/Piano/media/b52.mp3 new file mode 100644 index 0000000000..9be173c9be Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b52.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b53.mp3 b/01 - JavaScript Drum Kit/Piano/media/b53.mp3 new file mode 100644 index 0000000000..0aa506c207 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b53.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b54.mp3 b/01 - JavaScript Drum Kit/Piano/media/b54.mp3 new file mode 100644 index 0000000000..35a7f03d1b Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b54.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b56.mp3 b/01 - JavaScript Drum Kit/Piano/media/b56.mp3 new file mode 100644 index 0000000000..e5d3f48ff8 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b56.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b57.mp3 b/01 - JavaScript Drum Kit/Piano/media/b57.mp3 new file mode 100644 index 0000000000..6dfef2823c Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b57.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b66.mp3 b/01 - JavaScript Drum Kit/Piano/media/b66.mp3 new file mode 100644 index 0000000000..17d975a938 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b66.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b67.mp3 b/01 - JavaScript Drum Kit/Piano/media/b67.mp3 new file mode 100644 index 0000000000..031b0b67a2 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b67.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b68.mp3 b/01 - JavaScript Drum Kit/Piano/media/b68.mp3 new file mode 100644 index 0000000000..bffbbf61a0 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b68.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b69.mp3 b/01 - JavaScript Drum Kit/Piano/media/b69.mp3 new file mode 100644 index 0000000000..e943a3717f Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b69.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b71.mp3 b/01 - JavaScript Drum Kit/Piano/media/b71.mp3 new file mode 100644 index 0000000000..8321e1fd4a Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b71.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b72.mp3 b/01 - JavaScript Drum Kit/Piano/media/b72.mp3 new file mode 100644 index 0000000000..8c6906f3a8 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b72.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b73.mp3 b/01 - JavaScript Drum Kit/Piano/media/b73.mp3 new file mode 100644 index 0000000000..66fc36483b Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b73.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b74.mp3 b/01 - JavaScript Drum Kit/Piano/media/b74.mp3 new file mode 100644 index 0000000000..39b5f811fa Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b74.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b76.mp3 b/01 - JavaScript Drum Kit/Piano/media/b76.mp3 new file mode 100644 index 0000000000..d708753128 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b76.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b79.mp3 b/01 - JavaScript Drum Kit/Piano/media/b79.mp3 new file mode 100644 index 0000000000..abe7fbde45 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b79.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b80.mp3 b/01 - JavaScript Drum Kit/Piano/media/b80.mp3 new file mode 100644 index 0000000000..208e738780 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b80.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b81.mp3 b/01 - JavaScript Drum Kit/Piano/media/b81.mp3 new file mode 100644 index 0000000000..a07fb1b19c Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b81.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b83.mp3 b/01 - JavaScript Drum Kit/Piano/media/b83.mp3 new file mode 100644 index 0000000000..bf10d929da Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b83.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b84.mp3 b/01 - JavaScript Drum Kit/Piano/media/b84.mp3 new file mode 100644 index 0000000000..7094cb6142 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b84.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b86.mp3 b/01 - JavaScript Drum Kit/Piano/media/b86.mp3 new file mode 100644 index 0000000000..56c0668b4b Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b86.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b87.mp3 b/01 - JavaScript Drum Kit/Piano/media/b87.mp3 new file mode 100644 index 0000000000..2e2890d331 Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b87.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b89.mp3 b/01 - JavaScript Drum Kit/Piano/media/b89.mp3 new file mode 100644 index 0000000000..d91381f87f Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b89.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/media/b90.mp3 b/01 - JavaScript Drum Kit/Piano/media/b90.mp3 new file mode 100644 index 0000000000..292bbdb9ed Binary files /dev/null and b/01 - JavaScript Drum Kit/Piano/media/b90.mp3 differ diff --git a/01 - JavaScript Drum Kit/Piano/prepros-6.config b/01 - JavaScript Drum Kit/Piano/prepros-6.config new file mode 100644 index 0000000000..a1792dab21 --- /dev/null +++ b/01 - JavaScript Drum Kit/Piano/prepros-6.config @@ -0,0 +1,245 @@ +{ + "name": "01 - Piano", + "firstRun": false, + "exportConfig": true, + "fileConfigs": [], + "fileTree": { + "expandedDirs": [], + "hideSystemFiles": true, + "systemFiles": [ + ".*", + "desktop.ini", + "prepros.config", + "$RECYCLE.BIN", + "prepros.cfg", + "prepros-6.config", + "Prepros Export" + ], + "hideUnwatchedFiles": false + }, + "imports": [], + "projectView": { + "selectedView": "file-tree" + }, + "fileWatcher": { + "enabled": true, + "watchedExtensions": [ + "less", + "sass", + "scss", + "styl", + "md", + "markdown", + "coffee", + "js", + "jade", + "haml", + "slim", + "ls", + "kit", + "png", + "jpg", + "jpeg", + "ts", + "pug", + "css", + "html", + "htm", + "php" + ] + }, + "pathFilters": [ + "node_modules", + ".*", + "bower_components", + "prepros.config", + "Prepros Export", + "prepros-6.config", + "prepros.cfg", + "wp-admin", + "wp-includes" + ], + "server": { + "port": 7879, + "assignNewPortAutomatically": true, + "enable": true, + "proxy": { + "enable": true, + "url": "http://localhost:7880/" + } + }, + "browser-sync": { + "enable": false, + "clicks": true, + "forms": true, + "scroll": true + }, + "live-reload": { + "enable": true, + "animate": true, + "delay": 0 + }, + "ftp-deploy": { + "connectionType": "ftp", + "remotePath": "", + "uploadTimeout": 20000, + "uploadOnChange": false, + "ftp": { + "secure": false, + "keepAlive": true, + "host": "", + "port": 21, + "user": "", + "password": "" + }, + "sftp": { + "host": "", + "port": 22, + "usePrivateKey": false, + "username": "", + "password": "", + "privateKey": "", + "passphrase": "" + }, + "pathFilters": [ + "config.rb", + "prepros.config", + "prepros-6.config", + "node_modules", + "Prepros Export", + ".git", + ".idea", + ".sass-cache", + ".hg", + ".svn", + ".cache", + ".DS_Store", + "*.sass", + "*.scss", + "*.less", + "*.pug", + "*.jade", + "*.styl", + "*.haml", + "*.slim", + "*.coffee", + "*.ls", + "*.kit", + "*.ts" + ], + "history": [] + }, + "file-type-sass": "{\"compilers\":[\"node-sass\",\"autoprefixer\",\"minify-css\"]}", + "file-type-less": "{\"compilers\":[\"less\",\"autoprefixer\",\"minify-css\"]}", + "autoprefixer": { + "browsers": "last 5 versions" + }, + "file-type-pug": "{\"compilers\":[\"pug\"]}", + "file-type-css": "{\"compilers\":[\"autoprefixer\",\"cssnext\",\"minify-css\"]}", + "file-type-javascript": "{\"compilers\":[\"concat-js\",\"babel\",\"uglify-js\"]}", + "file-type-stylus": "{\"compilers\":[\"stylus\",\"autoprefixer\",\"minify-css\"]}", + "file-type-markdown": "{\"compilers\":[\"markdown\"]}", + "file-type-haml": "{\"compilers\":[\"haml\"]}", + "file-type-slim": "{\"compilers\":[\"slim\"]}", + "file-type-coffee-script": "{\"compilers\":[\"coffee-script\",\"uglify-js\"]}", + "file-type-livescript": "{\"compilers\":[\"livescript\",\"uglify-js\"]}", + "file-type-kit": "{\"compilers\":[\"kit\"]}", + "uglify-js": { + "ie8": false, + "compress": { + "sequences": true, + "properties": true, + "dead_code": true, + "drop_debugger": true, + "unsafe": false, + "unsafe_comps": false, + "unsafe_math": false, + "unsafe_proto": false, + "unsafe_regexp": false, + "conditionals": true, + "comparisons": true, + "evaluate": true, + "booleans": true, + "loops": true, + "unused": true, + "toplevel": false, + "top_retain": "", + "hoist_funs": true, + "hoist_vars": false, + "if_return": true, + "join_vars": true, + "collapse_vars": true, + "reduce_vars": true, + "warnings": true, + "negate_iife": true, + "pure_getters": false, + "pure_funcs": [], + "drop_console": false, + "expression": false, + "keep_fargs": true, + "keep_fnames": false, + "passes": 1, + "keep_infinity": false, + "side_effects": true, + "global_defs": [] + }, + "output": { + "ascii_only": false, + "beautify": false, + "comments": "", + "indent_level": 4, + "indent_start": 0, + "inline_script": false, + "keep_quoted_props": false, + "max_line_len": false, + "preamble": "", + "preserve_line": false, + "quote_keys": false, + "quote_style": 0, + "semicolons": true, + "shebang": true, + "width": 80 + } + }, + "cssnext": { + "customProperties": true, + "applyRule": true, + "calc": false, + "nesting": true, + "customMedia": true, + "mediaQueriesRange": true, + "customSelectors": true, + "attributeCaseInsensitive": true, + "colorRebeccapurple": true, + "colorHwb": true, + "colorGray": true, + "colorHexAlpha": true, + "colorFunction": true, + "fontVariant": true, + "filter": true, + "initial": true, + "rem": true, + "pseudoElements": true, + "pseudoClassMatches": true, + "pseudoClassNot": true, + "pseudoClassAnyLink": true, + "colorRgba": true, + "overflowWrap": true + }, + "file-type-typescript": "{\"compilers\":[\"typescript\",\"uglify-js\"]}", + "babel": { + "useBabelRc": true, + "presets": { + "babel-preset-es2015": true + }, + "plugins": { + "babel-plugin-syntax-jsx": true, + "babel-plugin-transform-react-jsx": true, + "babel-plugin-transform-async-to-generator": true, + "babel-plugin-transform-class-properties": true, + "babel-plugin-transform-object-rest-spread": true + } + }, + "file-type-png": "{\"compilers\":[\"png\"]}", + "file-type-jpg": "{\"compilers\":[\"jpg\"]}" +} \ No newline at end of file diff --git a/01 - JavaScript Drum Kit/Working/b9r5sEL.jpg b/01 - JavaScript Drum Kit/Working/b9r5sEL.jpg new file mode 100644 index 0000000000..590036d636 Binary files /dev/null and b/01 - JavaScript Drum Kit/Working/b9r5sEL.jpg differ diff --git a/01 - JavaScript Drum Kit/Working/index-FINISHED.html b/01 - JavaScript Drum Kit/Working/index-FINISHED.html new file mode 100644 index 0000000000..05ae312725 --- /dev/null +++ b/01 - JavaScript Drum Kit/Working/index-FINISHED.html @@ -0,0 +1,82 @@ + + + + + JS Drum Kit + + + + +
+
+ A + clap +
+
+ S + hihat +
+
+ D + kick +
+
+ F + openhat +
+
+ G + boom +
+
+ H + ride +
+
+ J + snare +
+
+ K + tom +
+
+ L + tink +
+
+ + + + + + + + + + + + + + diff --git a/01 - JavaScript Drum Kit/Working/index-START.html b/01 - JavaScript Drum Kit/Working/index-START.html new file mode 100644 index 0000000000..789c7c1528 --- /dev/null +++ b/01 - JavaScript Drum Kit/Working/index-START.html @@ -0,0 +1,104 @@ + + + + + + JS Drum Kit + + + + +
+
+ A + clap +
+ +
+ S + hihat +
+ +
+ D + kick +
+
+ F + openhat +
+ +
+ G + + boom +
+ +
+ H + ride +
+
+ J + snare +
+
+ K + tom +
+
+ L + tink +
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/01 - JavaScript Drum Kit/Working/sounds/boom.wav b/01 - JavaScript Drum Kit/Working/sounds/boom.wav new file mode 100644 index 0000000000..8d6423bcdb Binary files /dev/null and b/01 - JavaScript Drum Kit/Working/sounds/boom.wav differ diff --git a/01 - JavaScript Drum Kit/Working/sounds/clap.wav b/01 - JavaScript Drum Kit/Working/sounds/clap.wav new file mode 100644 index 0000000000..ef952e5eb4 Binary files /dev/null and b/01 - JavaScript Drum Kit/Working/sounds/clap.wav differ diff --git a/01 - JavaScript Drum Kit/Working/sounds/hihat.wav b/01 - JavaScript Drum Kit/Working/sounds/hihat.wav new file mode 100644 index 0000000000..885cb196a3 Binary files /dev/null and b/01 - JavaScript Drum Kit/Working/sounds/hihat.wav differ diff --git a/01 - JavaScript Drum Kit/Working/sounds/kick.wav b/01 - JavaScript Drum Kit/Working/sounds/kick.wav new file mode 100644 index 0000000000..8fe46dea0c Binary files /dev/null and b/01 - JavaScript Drum Kit/Working/sounds/kick.wav differ diff --git a/01 - JavaScript Drum Kit/Working/sounds/openhat.wav b/01 - JavaScript Drum Kit/Working/sounds/openhat.wav new file mode 100644 index 0000000000..50637521dc Binary files /dev/null and b/01 - JavaScript Drum Kit/Working/sounds/openhat.wav differ diff --git a/01 - JavaScript Drum Kit/Working/sounds/ride.wav b/01 - JavaScript Drum Kit/Working/sounds/ride.wav new file mode 100644 index 0000000000..e5829dfef9 Binary files /dev/null and b/01 - JavaScript Drum Kit/Working/sounds/ride.wav differ diff --git a/01 - JavaScript Drum Kit/Working/sounds/snare.wav b/01 - JavaScript Drum Kit/Working/sounds/snare.wav new file mode 100644 index 0000000000..c4edfc7534 Binary files /dev/null and b/01 - JavaScript Drum Kit/Working/sounds/snare.wav differ diff --git a/01 - JavaScript Drum Kit/Working/sounds/tink.wav b/01 - JavaScript Drum Kit/Working/sounds/tink.wav new file mode 100644 index 0000000000..f907ea2c0e Binary files /dev/null and b/01 - JavaScript Drum Kit/Working/sounds/tink.wav differ diff --git a/01 - JavaScript Drum Kit/Working/sounds/tom.wav b/01 - JavaScript Drum Kit/Working/sounds/tom.wav new file mode 100644 index 0000000000..9e2cdf691e Binary files /dev/null and b/01 - JavaScript Drum Kit/Working/sounds/tom.wav differ diff --git a/01 - JavaScript Drum Kit/Working/style.css b/01 - JavaScript Drum Kit/Working/style.css new file mode 100644 index 0000000000..20180992b5 --- /dev/null +++ b/01 - JavaScript Drum Kit/Working/style.css @@ -0,0 +1,52 @@ +html { + font-size: 10px; + background: url(b9r5sEL.jpg) bottom center; + background-size: cover; +} + +body, +html { + margin: 0; + padding: 0; + font-family: sans-serif; +} + +.keys { + display: flex; + flex: 1; + min-height: 100vh; + align-items: center; + justify-content: center; +} + +.key { + border: 0.4rem solid black; + border-radius: 0.5rem; + margin: 1rem; + font-size: 1.5rem; + padding: 1rem 0.5rem; + transition: all 0.07s ease; + width: 10rem; + text-align: center; + color: white; + background: rgba(0, 0, 0, 0.4); + text-shadow: 0 0 0.5rem black; +} + +.playing { + transform: scale(1.1); + border-color: #ffc600; + box-shadow: 0 0 1rem #ffc600; +} + +kbd { + display: block; + font-size: 4rem; +} + +.sound { + font-size: 1.2rem; + text-transform: uppercase; + letter-spacing: 0.1rem; + color: #ffc600; +} diff --git a/01 - JavaScript Drum Kit/practice2/b9r5sEL.jpg b/01 - JavaScript Drum Kit/practice2/b9r5sEL.jpg new file mode 100644 index 0000000000..590036d636 Binary files /dev/null and b/01 - JavaScript Drum Kit/practice2/b9r5sEL.jpg differ diff --git a/01 - JavaScript Drum Kit/practice2/index-FINISHED.html b/01 - JavaScript Drum Kit/practice2/index-FINISHED.html new file mode 100644 index 0000000000..1a16d0997c --- /dev/null +++ b/01 - JavaScript Drum Kit/practice2/index-FINISHED.html @@ -0,0 +1,83 @@ + + + + + JS Drum Kit + + + + + +
+
+ A + clap +
+
+ S + hihat +
+
+ D + kick +
+
+ F + openhat +
+
+ G + boom +
+
+ H + ride +
+
+ J + snare +
+
+ K + tom +
+
+ L + tink +
+
+ + + + + + + + + + + + + + + + diff --git a/01 - JavaScript Drum Kit/practice2/index-START.html b/01 - JavaScript Drum Kit/practice2/index-START.html new file mode 100644 index 0000000000..0cfda93dfb --- /dev/null +++ b/01 - JavaScript Drum Kit/practice2/index-START.html @@ -0,0 +1,84 @@ + + + + + JS Drum Kit + + + +
+
+ A + clap +
+
+ S + hihat +
+
+ D + kick +
+
+ F + openhat +
+
+ G + boom +
+
+ H + ride +
+
+ J + snare +
+
+ K + tom +
+
+ L + tink +
+
+ + + + + + + + + + + + + + diff --git a/01 - JavaScript Drum Kit/practice2/sounds/boom.wav b/01 - JavaScript Drum Kit/practice2/sounds/boom.wav new file mode 100644 index 0000000000..8d6423bcdb Binary files /dev/null and b/01 - JavaScript Drum Kit/practice2/sounds/boom.wav differ diff --git a/01 - JavaScript Drum Kit/practice2/sounds/clap.wav b/01 - JavaScript Drum Kit/practice2/sounds/clap.wav new file mode 100644 index 0000000000..ef952e5eb4 Binary files /dev/null and b/01 - JavaScript Drum Kit/practice2/sounds/clap.wav differ diff --git a/01 - JavaScript Drum Kit/practice2/sounds/hihat.wav b/01 - JavaScript Drum Kit/practice2/sounds/hihat.wav new file mode 100644 index 0000000000..885cb196a3 Binary files /dev/null and b/01 - JavaScript Drum Kit/practice2/sounds/hihat.wav differ diff --git a/01 - JavaScript Drum Kit/practice2/sounds/kick.wav b/01 - JavaScript Drum Kit/practice2/sounds/kick.wav new file mode 100644 index 0000000000..8fe46dea0c Binary files /dev/null and b/01 - JavaScript Drum Kit/practice2/sounds/kick.wav differ diff --git a/01 - JavaScript Drum Kit/practice2/sounds/openhat.wav b/01 - JavaScript Drum Kit/practice2/sounds/openhat.wav new file mode 100644 index 0000000000..50637521dc Binary files /dev/null and b/01 - JavaScript Drum Kit/practice2/sounds/openhat.wav differ diff --git a/01 - JavaScript Drum Kit/practice2/sounds/ride.wav b/01 - JavaScript Drum Kit/practice2/sounds/ride.wav new file mode 100644 index 0000000000..e5829dfef9 Binary files /dev/null and b/01 - JavaScript Drum Kit/practice2/sounds/ride.wav differ diff --git a/01 - JavaScript Drum Kit/practice2/sounds/snare.wav b/01 - JavaScript Drum Kit/practice2/sounds/snare.wav new file mode 100644 index 0000000000..c4edfc7534 Binary files /dev/null and b/01 - JavaScript Drum Kit/practice2/sounds/snare.wav differ diff --git a/01 - JavaScript Drum Kit/practice2/sounds/tink.wav b/01 - JavaScript Drum Kit/practice2/sounds/tink.wav new file mode 100644 index 0000000000..1f3c7b9191 Binary files /dev/null and b/01 - JavaScript Drum Kit/practice2/sounds/tink.wav differ diff --git a/01 - JavaScript Drum Kit/practice2/sounds/tom.wav b/01 - JavaScript Drum Kit/practice2/sounds/tom.wav new file mode 100644 index 0000000000..9e2cdf691e Binary files /dev/null and b/01 - JavaScript Drum Kit/practice2/sounds/tom.wav differ diff --git a/01 - JavaScript Drum Kit/practice2/style.css b/01 - JavaScript Drum Kit/practice2/style.css new file mode 100644 index 0000000000..b8cc8cf086 --- /dev/null +++ b/01 - JavaScript Drum Kit/practice2/style.css @@ -0,0 +1,51 @@ +html { + font-size: 10px; + background: url('b9r5sEL.jpg') bottom center; + background-size: cover; +} + +body,html { + margin: 0; + padding: 0; + font-family: sans-serif; +} + +.keys { + display: flex; + flex: 1; + min-height: 100vh; + align-items: center; + justify-content: center; +} + +.key { + border: .4rem solid black; + border-radius: .5rem; + margin: 1rem; + font-size: 1.5rem; + padding: 1rem .5rem; + transition: all .07s ease; + width: 10rem; + text-align: center; + color: white; + background: rgba(0,0,0,0.4); + text-shadow: 0 0 .5rem black; +} + +.playing { + transform: scale(1.1); + border-color: #ffc600; + box-shadow: 0 0 1rem #ffc600; +} + +kbd { + display: block; + font-size: 4rem; +} + +.sound { + font-size: 1.2rem; + text-transform: uppercase; + letter-spacing: .1rem; + color: #ffc600; +} diff --git a/02 - JS and CSS Clock/work1/bg.jpg b/02 - JS and CSS Clock/work1/bg.jpg new file mode 100644 index 0000000000..3492af91ea Binary files /dev/null and b/02 - JS and CSS Clock/work1/bg.jpg differ diff --git a/02 - JS and CSS Clock/work1/index-START.html b/02 - JS and CSS Clock/work1/index-START.html new file mode 100644 index 0000000000..7be1224625 --- /dev/null +++ b/02 - JS and CSS Clock/work1/index-START.html @@ -0,0 +1,91 @@ + + + + + JS + CSS Clock + + +
+
+
+
+
+
+
+ + + + + + diff --git a/02 - JS and CSS Clock/work2/index.html b/02 - JS and CSS Clock/work2/index.html new file mode 100644 index 0000000000..8dad26de0f --- /dev/null +++ b/02 - JS and CSS Clock/work2/index.html @@ -0,0 +1,31 @@ + + + + + + + + Hand Made Clock + + + +
+
+
+
+ +
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
+ + \ No newline at end of file diff --git a/02 - JS and CSS Clock/work2/prepros-6.config b/02 - JS and CSS Clock/work2/prepros-6.config new file mode 100644 index 0000000000..8cfa045001 --- /dev/null +++ b/02 - JS and CSS Clock/work2/prepros-6.config @@ -0,0 +1,245 @@ +{ + "name": "work2", + "firstRun": false, + "exportConfig": true, + "fileConfigs": [], + "fileTree": { + "expandedDirs": [], + "hideSystemFiles": true, + "systemFiles": [ + ".*", + "desktop.ini", + "prepros.config", + "$RECYCLE.BIN", + "prepros.cfg", + "prepros-6.config", + "Prepros Export" + ], + "hideUnwatchedFiles": false + }, + "imports": [], + "projectView": { + "selectedView": "settings" + }, + "fileWatcher": { + "enabled": true, + "watchedExtensions": [ + "less", + "sass", + "scss", + "styl", + "md", + "markdown", + "coffee", + "js", + "jade", + "haml", + "slim", + "ls", + "kit", + "png", + "jpg", + "jpeg", + "ts", + "pug", + "css", + "html", + "htm", + "php" + ] + }, + "pathFilters": [ + "node_modules", + ".*", + "bower_components", + "prepros.config", + "Prepros Export", + "prepros-6.config", + "prepros.cfg", + "wp-admin", + "wp-includes" + ], + "server": { + "port": 7880, + "assignNewPortAutomatically": true, + "enable": true, + "proxy": { + "enable": false, + "url": "http://localhost:7880/" + } + }, + "browser-sync": { + "enable": false, + "clicks": true, + "forms": true, + "scroll": true + }, + "live-reload": { + "enable": true, + "animate": true, + "delay": 0 + }, + "ftp-deploy": { + "connectionType": "ftp", + "remotePath": "", + "uploadTimeout": 20000, + "uploadOnChange": false, + "ftp": { + "secure": false, + "keepAlive": true, + "host": "", + "port": 21, + "user": "", + "password": "" + }, + "sftp": { + "host": "", + "port": 22, + "usePrivateKey": false, + "username": "", + "password": "", + "privateKey": "", + "passphrase": "" + }, + "pathFilters": [ + "config.rb", + "prepros.config", + "prepros-6.config", + "node_modules", + "Prepros Export", + ".git", + ".idea", + ".sass-cache", + ".hg", + ".svn", + ".cache", + ".DS_Store", + "*.sass", + "*.scss", + "*.less", + "*.pug", + "*.jade", + "*.styl", + "*.haml", + "*.slim", + "*.coffee", + "*.ls", + "*.kit", + "*.ts" + ], + "history": [] + }, + "file-type-sass": "{\"compilers\":[\"node-sass\",\"autoprefixer\",\"minify-css\"]}", + "file-type-less": "{\"compilers\":[\"less\",\"autoprefixer\",\"minify-css\"]}", + "autoprefixer": { + "browsers": "last 5 versions" + }, + "file-type-pug": "{\"compilers\":[\"pug\"]}", + "file-type-css": "{\"compilers\":[\"autoprefixer\",\"cssnext\",\"minify-css\"]}", + "file-type-javascript": "{\"compilers\":[\"concat-js\",\"babel\",\"uglify-js\"]}", + "file-type-stylus": "{\"compilers\":[\"stylus\",\"autoprefixer\",\"minify-css\"]}", + "file-type-markdown": "{\"compilers\":[\"markdown\"]}", + "file-type-haml": "{\"compilers\":[\"haml\"]}", + "file-type-slim": "{\"compilers\":[\"slim\"]}", + "file-type-coffee-script": "{\"compilers\":[\"coffee-script\",\"uglify-js\"]}", + "file-type-livescript": "{\"compilers\":[\"livescript\",\"uglify-js\"]}", + "file-type-kit": "{\"compilers\":[\"kit\"]}", + "uglify-js": { + "ie8": false, + "compress": { + "sequences": true, + "properties": true, + "dead_code": true, + "drop_debugger": true, + "unsafe": false, + "unsafe_comps": false, + "unsafe_math": false, + "unsafe_proto": false, + "unsafe_regexp": false, + "conditionals": true, + "comparisons": true, + "evaluate": true, + "booleans": true, + "loops": true, + "unused": true, + "toplevel": false, + "top_retain": "", + "hoist_funs": true, + "hoist_vars": false, + "if_return": true, + "join_vars": true, + "collapse_vars": true, + "reduce_vars": true, + "warnings": true, + "negate_iife": true, + "pure_getters": false, + "pure_funcs": [], + "drop_console": false, + "expression": false, + "keep_fargs": true, + "keep_fnames": false, + "passes": 1, + "keep_infinity": false, + "side_effects": true, + "global_defs": [] + }, + "output": { + "ascii_only": false, + "beautify": false, + "comments": "", + "indent_level": 4, + "indent_start": 0, + "inline_script": false, + "keep_quoted_props": false, + "max_line_len": false, + "preamble": "", + "preserve_line": false, + "quote_keys": false, + "quote_style": 0, + "semicolons": true, + "shebang": true, + "width": 80 + } + }, + "cssnext": { + "customProperties": true, + "applyRule": true, + "calc": false, + "nesting": true, + "customMedia": true, + "mediaQueriesRange": true, + "customSelectors": true, + "attributeCaseInsensitive": true, + "colorRebeccapurple": true, + "colorHwb": true, + "colorGray": true, + "colorHexAlpha": true, + "colorFunction": true, + "fontVariant": true, + "filter": true, + "initial": true, + "rem": true, + "pseudoElements": true, + "pseudoClassMatches": true, + "pseudoClassNot": true, + "pseudoClassAnyLink": true, + "colorRgba": true, + "overflowWrap": true + }, + "file-type-typescript": "{\"compilers\":[\"typescript\",\"uglify-js\"]}", + "babel": { + "useBabelRc": true, + "presets": { + "babel-preset-es2015": true + }, + "plugins": { + "babel-plugin-syntax-jsx": true, + "babel-plugin-transform-react-jsx": true, + "babel-plugin-transform-async-to-generator": true, + "babel-plugin-transform-class-properties": true, + "babel-plugin-transform-object-rest-spread": true + } + }, + "file-type-png": "{\"compilers\":[\"png\"]}", + "file-type-jpg": "{\"compilers\":[\"jpg\"]}" +} \ No newline at end of file diff --git a/02 - JS and CSS Clock/work2/script.js b/02 - JS and CSS Clock/work2/script.js new file mode 100644 index 0000000000..c4feef100d --- /dev/null +++ b/02 - JS and CSS Clock/work2/script.js @@ -0,0 +1,36 @@ +const handSecond = document.querySelector(".clock__hand-second"); +const handMinute = document.querySelector(".clock__hand-minute"); +const handHour = document.querySelector(".clock__hand-hour"); + +function setRotation(e, rotationRatio) { + e.style.setProperty("--rotation", rotationRatio * 360); +} + +function setClock(e) { + const getDate = new Date(); + const seconds = getDate.getSeconds() / 60; + const minutes = (seconds + getDate.getMinutes()) / 60; + const hours = (minutes + getDate.getHours()) / 12; + + // console.log(`S ${seconds} M ${minutes} Hours ${hours}`); + + // handSecond.style.setProperty( + // "transform", + // `translateX(-50%) rotate(${seconds}deg)` + // ); + // handMinute.style.setProperty( + // "transform", + // `translateX(-50%) rotate(${minutes}deg)` + // ); + // handHour.style.setProperty( + // "transform", + // `translateX(-50%) rotate(${hours}deg)` + // ); + + setRotation(handSecond, seconds); + setRotation(handMinute, minutes); + setRotation(handHour, hours); +} + +setInterval(setClock, 1000); +setClock(); diff --git a/02 - JS and CSS Clock/work2/style.css b/02 - JS and CSS Clock/work2/style.css new file mode 100644 index 0000000000..790cd79c07 --- /dev/null +++ b/02 - JS and CSS Clock/work2/style.css @@ -0,0 +1,110 @@ +*, +*:after, +*:before { + -webkit-box-sizing: border-box; + box-sizing: border-box; } + +body { + margin: 0; + font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; + background: -webkit-gradient(linear, left top, right top, from(#88fbff), to(#00adff)); + background: -webkit-linear-gradient(left, #88fbff 0%, #00adff 100%); + background: -o-linear-gradient(left, #88fbff 0%, #00adff 100%); + background: linear-gradient(90deg, #88fbff 0%, #00adff 100%); + min-height: 100vh; + overflow: hidden; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; } + +.clock { + width: 300px; + height: 300px; + border-radius: 50%; + border: 2px solid black; + position: relative; + background-color: rgba(255, 255, 255, 0.564); } + .clock:after { + content: ""; + width: 15px; + height: 15px; + background-color: black; + border-radius: 50%; + position: absolute; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + z-index: 1; } + .clock__hand { + --rotation: 0; + position: absolute; + left: 50%; + bottom: 50%; + -webkit-transform: translateX(-50%) rotate(calc(var(--rotation) * 1deg)); + -ms-transform: translateX(-50%) rotate(calc(var(--rotation) * 1deg)); + transform: translateX(-50%) rotate(calc(var(--rotation) * 1deg)); + -webkit-transform-origin: bottom; + -ms-transform-origin: bottom; + transform-origin: bottom; + border-top-left-radius: 10px; + border-top-right-radius: 10px; + -webkit-transition: all 0.5s; + -o-transition: all 0.5s; + transition: all 0.5s; } + .clock__hand-hour { + height: 70px; + width: 7px; + background-color: black; } + .clock__hand-minute { + height: 110px; + width: 4px; + background-color: rebeccapurple; } + .clock__hand-second { + height: 130px; + width: 1px; + background-color: red; } + +.number { + --rotate-number: 0; + position: absolute; + font-weight: 500; + font-size: 1.5rem; + width: 100%; + height: 100%; + text-align: center; + -webkit-transform: rotate(calc(var(--rotate-number) * 1deg)); + -ms-transform: rotate(calc(var(--rotate-number) * 1deg)); + transform: rotate(calc(var(--rotate-number) * 1deg)); } + .number:nth-child(3n) { + font-size: 2.5rem; + color: brown; } + .number__1 { + --rotate-number: 30; } + .number__2 { + --rotate-number: 60; } + .number__3 { + --rotate-number: 90; } + .number__4 { + --rotate-number: 120; } + .number__5 { + --rotate-number: 150; } + .number__6 { + --rotate-number: 180; } + .number__7 { + --rotate-number: 210; } + .number__8 { + --rotate-number: 240; } + .number__9 { + --rotate-number: 270; } + .number__10 { + --rotate-number: 300; } + .number__11 { + --rotate-number: 330; } diff --git a/02 - JS and CSS Clock/work2/style.scss b/02 - JS and CSS Clock/work2/style.scss new file mode 100644 index 0000000000..9dc25ca537 --- /dev/null +++ b/02 - JS and CSS Clock/work2/style.scss @@ -0,0 +1,123 @@ +*, +*:after, +*:before { + box-sizing: border-box; +} + +body { + margin: 0; + font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; + background: linear-gradient(90deg, rgba(136, 251, 255, 1) 0%, rgba(0, 173, 255, 1) 100%); + min-height: 100vh; + overflow: hidden; + display: flex; + justify-content: center; + align-items: center; +} + +.clock { + width: 300px; + height: 300px; + border-radius: 50%; + border: 2px solid black; + position: relative; + background-color: rgba(255, 255, 255, 0.564); + + &:after { + content: ""; + width: 15px; + height: 15px; + background-color: black; + border-radius: 50%; + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + z-index: 1; + } + + &__hand { + --rotation: 0; + position: absolute; + left: 50%; + bottom: 50%; + transform: translateX(-50%) rotate(calc(var(--rotation) * 1deg)); + transform-origin: bottom; + border-top-left-radius: 10px; + border-top-right-radius: 10px; + transition: all 0.5s; + + &-hour { + height: 70px; + width: 7px; + background-color: black; + // --rotation: 30deg; + } + + &-minute { + height: 110px; + width: 4px; + background-color: rebeccapurple; + // --rotation: 60deg; + } + + &-second { + height: 130px; + width: 1px; + background-color: red; + // --rotation: 90deg; + } + } +} + +.number { + --rotate-number: 0; + // background-color: red; + position: absolute; + font-weight: 500; + font-size: 1.5rem; + width: 100%; + height: 100%; + text-align: center; + transform: rotate(calc(var(--rotate-number) * 1deg)); + + &:nth-child(3n) { + font-size: 2.5rem; + color: brown; + } + + &__1 { + --rotate-number: 30; + } + &__2 { + --rotate-number: 60; + } + &__3 { + --rotate-number: 90; + } + &__4 { + --rotate-number: 120; + } + &__5 { + --rotate-number: 150; + } + &__6 { + --rotate-number: 180; + } + &__7 { + --rotate-number: 210; + } + &__8 { + --rotate-number: 240; + } + &__9 { + --rotate-number: 270; + } + &__10 { + --rotate-number: 300; + } + &__11 { + --rotate-number: 330; + } + +} diff --git a/03 - CSS Variables/work1/img.jpg b/03 - CSS Variables/work1/img.jpg new file mode 100644 index 0000000000..011ebd7e26 Binary files /dev/null and b/03 - CSS Variables/work1/img.jpg differ diff --git a/03 - CSS Variables/work1/index-START.html b/03 - CSS Variables/work1/index-START.html new file mode 100644 index 0000000000..da7d4c18f1 --- /dev/null +++ b/03 - CSS Variables/work1/index-START.html @@ -0,0 +1,93 @@ + + + + + Scoped CSS Variables and JS + + +

Update CSS Variables with JS

+ +
+ + + + + + + + +
+ + + + + + + + diff --git a/03 - CSS Variables/work1/prepros-6.config b/03 - CSS Variables/work1/prepros-6.config new file mode 100644 index 0000000000..8017f50e31 --- /dev/null +++ b/03 - CSS Variables/work1/prepros-6.config @@ -0,0 +1,245 @@ +{ + "name": "work1", + "firstRun": false, + "exportConfig": true, + "fileConfigs": [], + "fileTree": { + "expandedDirs": [], + "hideSystemFiles": true, + "systemFiles": [ + ".*", + "desktop.ini", + "prepros.config", + "$RECYCLE.BIN", + "prepros.cfg", + "prepros-6.config", + "Prepros Export" + ], + "hideUnwatchedFiles": false + }, + "imports": [], + "projectView": { + "selectedView": "settings" + }, + "fileWatcher": { + "enabled": true, + "watchedExtensions": [ + "less", + "sass", + "scss", + "styl", + "md", + "markdown", + "coffee", + "js", + "jade", + "haml", + "slim", + "ls", + "kit", + "png", + "jpg", + "jpeg", + "ts", + "pug", + "css", + "html", + "htm", + "php" + ] + }, + "pathFilters": [ + "node_modules", + ".*", + "bower_components", + "prepros.config", + "Prepros Export", + "prepros-6.config", + "prepros.cfg", + "wp-admin", + "wp-includes" + ], + "server": { + "port": 7879, + "assignNewPortAutomatically": true, + "enable": true, + "proxy": { + "enable": false, + "url": "http://localhost:7880/" + } + }, + "browser-sync": { + "enable": false, + "clicks": true, + "forms": true, + "scroll": true + }, + "live-reload": { + "enable": true, + "animate": true, + "delay": 0 + }, + "ftp-deploy": { + "connectionType": "ftp", + "remotePath": "", + "uploadTimeout": 20000, + "uploadOnChange": false, + "ftp": { + "secure": false, + "keepAlive": true, + "host": "", + "port": 21, + "user": "", + "password": "" + }, + "sftp": { + "host": "", + "port": 22, + "usePrivateKey": false, + "username": "", + "password": "", + "privateKey": "", + "passphrase": "" + }, + "pathFilters": [ + "config.rb", + "prepros.config", + "prepros-6.config", + "node_modules", + "Prepros Export", + ".git", + ".idea", + ".sass-cache", + ".hg", + ".svn", + ".cache", + ".DS_Store", + "*.sass", + "*.scss", + "*.less", + "*.pug", + "*.jade", + "*.styl", + "*.haml", + "*.slim", + "*.coffee", + "*.ls", + "*.kit", + "*.ts" + ], + "history": [] + }, + "file-type-sass": "{\"compilers\":[\"node-sass\",\"autoprefixer\",\"minify-css\"]}", + "file-type-less": "{\"compilers\":[\"less\",\"autoprefixer\",\"minify-css\"]}", + "autoprefixer": { + "browsers": "last 5 versions" + }, + "file-type-pug": "{\"compilers\":[\"pug\"]}", + "file-type-css": "{\"compilers\":[\"autoprefixer\",\"cssnext\",\"minify-css\"]}", + "file-type-javascript": "{\"compilers\":[\"concat-js\",\"babel\",\"uglify-js\"]}", + "file-type-stylus": "{\"compilers\":[\"stylus\",\"autoprefixer\",\"minify-css\"]}", + "file-type-markdown": "{\"compilers\":[\"markdown\"]}", + "file-type-haml": "{\"compilers\":[\"haml\"]}", + "file-type-slim": "{\"compilers\":[\"slim\"]}", + "file-type-coffee-script": "{\"compilers\":[\"coffee-script\",\"uglify-js\"]}", + "file-type-livescript": "{\"compilers\":[\"livescript\",\"uglify-js\"]}", + "file-type-kit": "{\"compilers\":[\"kit\"]}", + "uglify-js": { + "ie8": false, + "compress": { + "sequences": true, + "properties": true, + "dead_code": true, + "drop_debugger": true, + "unsafe": false, + "unsafe_comps": false, + "unsafe_math": false, + "unsafe_proto": false, + "unsafe_regexp": false, + "conditionals": true, + "comparisons": true, + "evaluate": true, + "booleans": true, + "loops": true, + "unused": true, + "toplevel": false, + "top_retain": "", + "hoist_funs": true, + "hoist_vars": false, + "if_return": true, + "join_vars": true, + "collapse_vars": true, + "reduce_vars": true, + "warnings": true, + "negate_iife": true, + "pure_getters": false, + "pure_funcs": [], + "drop_console": false, + "expression": false, + "keep_fargs": true, + "keep_fnames": false, + "passes": 1, + "keep_infinity": false, + "side_effects": true, + "global_defs": [] + }, + "output": { + "ascii_only": false, + "beautify": false, + "comments": "", + "indent_level": 4, + "indent_start": 0, + "inline_script": false, + "keep_quoted_props": false, + "max_line_len": false, + "preamble": "", + "preserve_line": false, + "quote_keys": false, + "quote_style": 0, + "semicolons": true, + "shebang": true, + "width": 80 + } + }, + "cssnext": { + "customProperties": true, + "applyRule": true, + "calc": false, + "nesting": true, + "customMedia": true, + "mediaQueriesRange": true, + "customSelectors": true, + "attributeCaseInsensitive": true, + "colorRebeccapurple": true, + "colorHwb": true, + "colorGray": true, + "colorHexAlpha": true, + "colorFunction": true, + "fontVariant": true, + "filter": true, + "initial": true, + "rem": true, + "pseudoElements": true, + "pseudoClassMatches": true, + "pseudoClassNot": true, + "pseudoClassAnyLink": true, + "colorRgba": true, + "overflowWrap": true + }, + "file-type-typescript": "{\"compilers\":[\"typescript\",\"uglify-js\"]}", + "babel": { + "useBabelRc": true, + "presets": { + "babel-preset-es2015": true + }, + "plugins": { + "babel-plugin-syntax-jsx": true, + "babel-plugin-transform-react-jsx": true, + "babel-plugin-transform-async-to-generator": true, + "babel-plugin-transform-class-properties": true, + "babel-plugin-transform-object-rest-spread": true + } + }, + "file-type-png": "{\"compilers\":[\"png\"]}", + "file-type-jpg": "{\"compilers\":[\"jpg\"]}" +} \ No newline at end of file diff --git a/03 - CSS Variables/work2/img.jpg b/03 - CSS Variables/work2/img.jpg new file mode 100644 index 0000000000..011ebd7e26 Binary files /dev/null and b/03 - CSS Variables/work2/img.jpg differ diff --git a/03 - CSS Variables/work2/index-START.html b/03 - CSS Variables/work2/index-START.html new file mode 100644 index 0000000000..3b0382b5e6 --- /dev/null +++ b/03 - CSS Variables/work2/index-START.html @@ -0,0 +1,80 @@ + + + + + Scoped CSS Variables and JS + + +

Update CSS Variables with JS

+ +
+ + + + + + + + + + + +
+ + + + + + + + +