aboutsummaryrefslogtreecommitdiff
path: root/18
diff options
context:
space:
mode:
Diffstat (limited to '18')
-rw-r--r--18/index.html31
-rw-r--r--18/script.js62
2 files changed, 93 insertions, 0 deletions
diff --git a/18/index.html b/18/index.html
new file mode 100644
index 0000000..d1b183f
--- /dev/null
+++ b/18/index.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html lang="nl">
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
+ <link rel="stylesheet" href="https://opensource.keycdn.com/fontawesome/4.7.0/font-awesome.min.css" integrity="sha384-dNpIIXE8U05kAbPhy3G1cz+yZmTzA6CY8Vg/u2L9xRnHjJiAK76m2BIEaSEV+/aU"
+ crossorigin="anonymous">
+ <title>18.</title>
+ <link rel="stylesheet" href="/style/18.css">
+</head>
+<body>
+ <div class="wrapper">
+ <div class="start">
+ <div class="face"></div>
+ <div class="terminal"></div>
+ <i class="fa fa-angle-down down-arrow" aria-hidden="true"></i>
+ </div>
+ </div>
+ <div class="content">
+ <p>Hallo!</p>
+ <p>Het feit dat je een link naar deze pagina hebt ontvangen betekent dat je bent uitgenodigt voor mijn 18de verjaardag!</p>
+ <p>Het feest begint om <b>17:00</b>! Het wordt een gezellig feestje met muziek, eten, drankjes en hopelijk een kampvuur in de tuin.</p>
+ <p><b>Locatie: </b><i>***REMOVED***</i><br><b>Datum: </b><i>***REMOVED***</i></p>
+ <p>Zeg het als je kunt komen!</p>
+ <p>Groet,</p>
+ <p>Noah.</p>
+ </div>
+ <script src="/18/script.js"></script>
+</body>
+</html> \ No newline at end of file
diff --git a/18/script.js b/18/script.js
new file mode 100644
index 0000000..0c9be11
--- /dev/null
+++ b/18/script.js
@@ -0,0 +1,62 @@
+/**
+ *
+ */
+
+function wait(ms) {
+ return new Promise((resolve) => {
+ window.setTimeout(resolve, ms);
+ })
+}
+
+function terminalType(prefix, text) {
+ if (text == null) text = '';
+ const line = document.createElement('div');
+ line.className = 'line';
+ prefix = prefix.replace(/ /g, '&nbsp;')
+ line.innerHTML = prefix;
+
+ document.querySelector('.terminal').appendChild(line);
+
+ function type(text, line) {
+ if (text === '') {
+ return Promise.resolve();
+ }
+ line.textContent = line.textContent + text.charAt(0);
+ return wait(100).then(() => type(text.substr(1), line));
+ }
+
+ return wait(500).then(() => type(text, line));
+}
+
+Promise.resolve()
+ .then(() => terminalType('noah@loomans ~ $ ', 'cd Code/calculate_age'))
+ .then(() => terminalType('noah@loomans ~/Code/calculate_age $ ', 'gcc calculate_age.c -o calculate_age'))
+ .then(() => terminalType('noah@loomans ~/Code/calculate_age $ ', './calculate_age'))
+ .then(() => terminalType('calculating', '.........'))
+ .then(() => terminalType(' 1111111 888888888'))
+ .then(() => terminalType(' 1::::::1 88:::::::::88'))
+ .then(() => terminalType('1:::::::1 88:::::::::::::88'))
+ .then(() => terminalType('111:::::1 8::::::88888::::::8'))
+ .then(() => terminalType(' 1::::1 8:::::8 8:::::8'))
+ .then(() => terminalType(' 1::::1 8:::::8 8:::::8'))
+ .then(() => terminalType(' 1::::1 8:::::88888:::::8'))
+ .then(() => terminalType(' 1::::l 8:::::::::::::8'))
+ .then(() => terminalType(' 1::::l 8:::::88888:::::8'))
+ .then(() => terminalType(' 1::::l 8:::::8 8:::::8'))
+ .then(() => terminalType(' 1::::l 8:::::8 8:::::8'))
+ .then(() => terminalType(' 1::::l 8:::::8 8:::::8'))
+ .then(() => terminalType('111::::::1118::::::88888::::::8'))
+ .then(() => terminalType('1::::::::::1 88:::::::::::::88'))
+ .then(() => terminalType('1::::::::::1 88:::::::::88'))
+ .then(() => terminalType('111111111111 888888888'))
+ .then(() => wait(2000))
+ .then(() => document.querySelector('.down-arrow').classList.add('show'));
+
+function resize() {
+ const size = Math.min(window.innerWidth, window.innerHeight);
+ const factor = size / 1080;
+ document.documentElement.style.setProperty('--factor', factor);
+}
+
+resize();
+window.addEventListener('resize', resize); \ No newline at end of file