From 94e5c92f5b1036e47bf7653ea17e99ad5cc55ab3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20P=C4=99dzich?= Date: Fri, 27 Nov 2020 23:12:38 +0100 Subject: [PATCH] Major design overhaul --- assets/css/style.css | 62 ++++++++++++++++++++++++++++++++++++++ assets/fonts/vga437.ttf | Bin 0 -> 81192 bytes assets/js/script.js | 65 ++++++++++++++++++++++++++++++++++++++++ index.html | 25 ++++++++++++++++ 4 files changed, 152 insertions(+) create mode 100644 assets/css/style.css create mode 100644 assets/fonts/vga437.ttf create mode 100644 assets/js/script.js create mode 100644 index.html diff --git a/assets/css/style.css b/assets/css/style.css new file mode 100644 index 0000000..46900b8 --- /dev/null +++ b/assets/css/style.css @@ -0,0 +1,62 @@ +@font-face { + font-family: "VGA 437"; + src: url("../fonts/vga437.ttf"); +} + +@media (prefers-color-scheme: dark) { + body, #cmd { + color: whitesmoke; + } + + body { + background-color: black; + } +} + +@media (prefers-color-scheme: light) { + body, #cmd { + color: black; + } + + body { + background-color: whitesmoke; + } +} + +body, #cmd { + font-family: "VGA 437"; + font-size: 1.5rem; +} + +#cmd-history > p { + line-height: 2rem; +} + +#header > p { + margin: 0.5rem auto; +} + +#header > #hint, #input-container, #cmd-history { + margin-top: 1.8rem; +} + +#input-container { + display: flex; +} + +#bracket { + padding-right: 0.75rem; + text-align: center; + vertical-align: middle; + line-height: 1.7rem; +} + +#cmd { + border: none; + background: none; + flex: 1 +} + +#cmd:active, #cmd:focus { + outline: none; +} diff --git a/assets/fonts/vga437.ttf b/assets/fonts/vga437.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f5cbfc06fd489f01566cfaa1a41f5c260368d7b9 GIT binary patch literal 81192 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 literal 0 HcmV?d00001 diff --git a/assets/js/script.js b/assets/js/script.js new file mode 100644 index 0000000..569f1f9 --- /dev/null +++ b/assets/js/script.js @@ -0,0 +1,65 @@ +const input = document.querySelector('#cmd'); +const cmdHistoryElement = document.querySelector('#cmd-history'); +const today = new Date(); +const cmdHistory = []; + +let cmdIndex = 0; +document.querySelector('#currentYear').textContent = today.getFullYear(); +input.focus(); + +input.addEventListener('blur', (evt) => input.focus()); + +window.addEventListener('keypress', (evt) => { + const command = input.value.trim(); + + if (evt.key === 'Enter' && command.length > 0) { + const cmdToSave = document.createElement('p'); + const output = document.createElement('p'); + cmdToSave.textContent = `> ${command}`; + cmdHistoryElement.append(cmdToSave); + + switch (command) { + default: + output.style.color = 'red'; + output.textContent = `ERROR: Unkown command '${command}'`; + break; + case 'about': + const age = today.getFullYear() - new Date('2005-05-08').getFullYear() + output.textContent = `Maciej Pedzich is a ${age}-year-old high school student from Kielce, Poland. + He makes web applications using Vue.js, Node.js, Express and MongoDB/PostgreSQL, but he likes experimenting with other solutions too. + He believes that by being creative and cooperating with others, you can achieve success. + When not coding he is probably watching an F1 race or playing retro video games.`; + break; + case 'contact': + output.innerHTML = `Email address: + contact@maciejpedzi.ch`; + break; + case 'exit': + window.close(); + break; + case 'github': + window.open('https://github.com/maciejpedzich'); + break; + case 'help': + output.innerHTML = `

about - shows everything you need to know about Maciej

+

contact - displays contact information

+

exit - closes this page

+

github - shows Maciej's Github profile

+

help - displays a list of available commands

+

skills - presents a set of current skills

`; + break; + case 'skills': + output.innerHTML = `

Frontend: HTML, CSS, JavaScript, TypeScript, Vue.js

+

Backend: JavaScript, TypeScript, Node.js, Express

+

Database: MongoDB, PostgreSQL

+

Tooling: Git, Visual Studio Code, Linux Bash, Windows PowerShell

+

Hosting/Deployment: Netlify, Amazon Web Services, MongoDB Atlas

`; + break; + } + + cmdHistory.push(command); + cmdHistoryElement.append(output); + input.value = ''; + input.scrollIntoView(); + } +}); diff --git a/index.html b/index.html new file mode 100644 index 0000000..02700b3 --- /dev/null +++ b/index.html @@ -0,0 +1,25 @@ + + + + + + + Maciej Pędzich + + + + +
+
+
>
+ +
+ + +