|
@@ -1,60 +1,98 @@
|
|
|
-<html lang="en">
|
|
|
- <head>
|
|
|
- <title>Kvos.dev - Homepage</title>
|
|
|
- <link rel="stylesheet" href="style.css" type="text/css"/>
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- <div>
|
|
|
- <h1>Kvos.dev</h1<br/>
|
|
|
- <h3>Work in progress</h3>
|
|
|
- <a href="https://git.kvos.dev">Git projects</a>
|
|
|
- <p>
|
|
|
- <span>Contact me:</span>
|
|
|
- <button onclick="reveal()" id="reveal-button">Reveal</button>
|
|
|
- </p>
|
|
|
- </div>
|
|
|
- <script>
|
|
|
- const chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@.+".split("");
|
|
|
- const secret = "YM926LY926MRS9";
|
|
|
- const shift = string => {
|
|
|
- return string
|
|
|
- .split("")
|
|
|
- .map(character => chars[
|
|
|
- (
|
|
|
- chars.indexOf(character) !== -1 &&
|
|
|
- chars.indexOf(character) + 1 < chars.length
|
|
|
- )
|
|
|
- ? chars.indexOf(character) + 1
|
|
|
- : 0
|
|
|
- ])
|
|
|
- .join("");
|
|
|
- }
|
|
|
-
|
|
|
- const reveal = () => {
|
|
|
- const revealButton = document.getElementById("reveal-button");
|
|
|
- const anchor = document.createElement("a");
|
|
|
- const paragraph = document.createElement("p");
|
|
|
-
|
|
|
- let decrypted = secret;
|
|
|
- revealButton.insertAdjacentElement("afterEnd", paragraph);
|
|
|
- revealButton.remove();
|
|
|
-
|
|
|
- let index = 0;
|
|
|
- const interval = setInterval(() => {
|
|
|
- index++;
|
|
|
-
|
|
|
- decrypted = shift(decrypted);
|
|
|
- paragraph.textContent = decrypted;
|
|
|
-
|
|
|
- if (index === 25) {
|
|
|
- anchor.href = `mailto:${decrypted}`;
|
|
|
- anchor.text = decrypted;
|
|
|
- paragraph.replaceWith(anchor);
|
|
|
-
|
|
|
- clearInterval(interval);
|
|
|
- }
|
|
|
- }, 5);
|
|
|
- }
|
|
|
- </script>
|
|
|
- </body>
|
|
|
+<html lang="en">
|
|
|
+
|
|
|
+<head>
|
|
|
+ <title>Kvos.dev - Homepage</title>
|
|
|
+ <link rel="stylesheet" href="style.css" type="text/css" />
|
|
|
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@6.5.95/css/materialdesignicons.min.css">
|
|
|
+</head>
|
|
|
+
|
|
|
+<body>
|
|
|
+ <header>
|
|
|
+ <h1>Kristian Vos</h1>
|
|
|
+ <h2>kvos.dev</h2>
|
|
|
+ </header>
|
|
|
+ <main>
|
|
|
+ <div class="block">
|
|
|
+ <h2>Contact me</h2>
|
|
|
+ <div class="contact-section">
|
|
|
+ <p>
|
|
|
+ <span class="mdi mdi-chat"></span>
|
|
|
+ <span>Matrix </span>
|
|
|
+ <a href="matrix:u/@kris:kvos.dev">@kris:kvos.dev</a>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span class="mdi mdi-email"></span>
|
|
|
+ <span>Email </span>
|
|
|
+ <button onclick="reveal()" id="reveal-button">Reveal</button>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="block">
|
|
|
+ <h2>Links</h2>
|
|
|
+ <div class="links-section">
|
|
|
+ <p>
|
|
|
+ <span class="mdi mdi-git"></span>
|
|
|
+ <span>Git </span>
|
|
|
+ <a href="https://git.kvos.dev">git.kvos.dev</a>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span class="mdi mdi-github"></span>
|
|
|
+ <span>GitHub </span>
|
|
|
+ <a href="https://github.com/KrisVos130">github.com/KrisVos130</a>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="block">
|
|
|
+ <h2>Portfolio</h2>
|
|
|
+ <div class="portfolio-section">
|
|
|
+ <input type="text" placeholder="Portfolio code" id="portfolio-code" />
|
|
|
+ <button>Enter</button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </main>
|
|
|
+ <script>
|
|
|
+ const chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@.+".split("");
|
|
|
+ const encodedEmail = "YM926LY926MRS9";
|
|
|
+ const shift = string => {
|
|
|
+ return string
|
|
|
+ .split("")
|
|
|
+ .map(character => chars[
|
|
|
+ (
|
|
|
+ chars.indexOf(character) !== -1 &&
|
|
|
+ chars.indexOf(character) + 1 < chars.length
|
|
|
+ )
|
|
|
+ ? chars.indexOf(character) + 1
|
|
|
+ : 0
|
|
|
+ ])
|
|
|
+ .join("");
|
|
|
+ }
|
|
|
+
|
|
|
+ const reveal = () => {
|
|
|
+ const revealButton = document.getElementById("reveal-button");
|
|
|
+ const anchor = document.createElement("a");
|
|
|
+ const span = document.createElement("span");
|
|
|
+
|
|
|
+ let decodedEmail = encodedEmail;
|
|
|
+ revealButton.insertAdjacentElement("afterEnd", span);
|
|
|
+ revealButton.remove();
|
|
|
+
|
|
|
+ let index = 0;
|
|
|
+ const interval = setInterval(() => {
|
|
|
+ index++;
|
|
|
+
|
|
|
+ decodedEmail = shift(decodedEmail);
|
|
|
+ span.textContent = decodedEmail;
|
|
|
+
|
|
|
+ if (index === 25) {
|
|
|
+ anchor.href = `mailto:${decodedEmail}`;
|
|
|
+ anchor.text = decodedEmail;
|
|
|
+ span.replaceWith(anchor);
|
|
|
+
|
|
|
+ clearInterval(interval);
|
|
|
+ }
|
|
|
+ }, 5);
|
|
|
+ }
|
|
|
+ </script>
|
|
|
+</body>
|
|
|
+
|
|
|
</html>
|