diff options
Diffstat (limited to 'mobile')
| -rw-r--r-- | mobile/css/main.css | 217 | ||||
| -rw-r--r-- | mobile/css/main.scss | 156 | ||||
| -rw-r--r-- | mobile/index.html | 95 | ||||
| -rw-r--r-- | mobile/js/app.js | 91 |
4 files changed, 559 insertions, 0 deletions
diff --git a/mobile/css/main.css b/mobile/css/main.css new file mode 100644 index 0000000..bc85c2b --- /dev/null +++ b/mobile/css/main.css @@ -0,0 +1,217 @@ +/* BACKGROUND SPARKLES CSS */ +html, body { + margin: 0 0; + padding: 0 0; + text-align: center; + font-size: 0; + background-color: #fdfcf3; +} + +body svg { + position: absolute; + top: 0; + left: 0; + z-index: -1; +} + +/* LOADING ANIMATION */ +/* body {
+** text-align: center;
+** padding-top: 20%;
+** background: #fdfdfd;
+** }
+*/ +.loader-wrapper { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + background: #fdfdfd; + 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; +} + +.loader { + width: 100px; + height: 100px; + display: inline-table; + -webkit-box-sizing: border-box; + box-sizing: border-box; + position: relative; + border-spacing: 0.3em; +} + +.loader row { + display: table-row; +} + +.loader row span { + display: table-cell; + position: relative; + background: #1d1f20; + opacity: 0; + -webkit-animation: flicker 0.5985999999999999s ease-out infinite alternate; + animation: flicker 0.5985999999999999s ease-out infinite alternate; + /* Added standard property to fix compatbiliy issues */ +} + +@-webkit-keyframes flicker { + from, 20% { + opacity: 0; + } + 100%, to { + opacity: 1; + } +} + +@keyframes flicker { + /* Added standard property to fix compatbiliy issues */ + from, 20% { + opacity: 0; + } + 100%, to { + opacity: 1; + } +} + +.loader row:nth-child(1) span:nth-child(1) { + -webkit-animation-delay: .50s; + animation-delay: .50s; +} + +/* Added standard property to fix compatbiliy issues */ +.loader row:nth-child(1) span:nth-child(2) { + -webkit-animation-delay: .70s; + animation-delay: .70s; +} + +.loader row:nth-child(1) span:nth-child(3) { + -webkit-animation-delay: .60s; + animation-delay: .60s; +} + +.loader row:nth-child(2) span:nth-child(1) { + -webkit-animation-delay: .20s; + animation-delay: .20s; +} + +.loader row:nth-child(2) span:nth-child(2) { + -webkit-animation-delay: .80s; + animation-delay: .80s; +} + +.loader row:nth-child(2) span:nth-child(3) { + -webkit-animation-delay: .90s; + animation-delay: .90s; +} + +.loader row:nth-child(3) span:nth-child(1) { + -webkit-animation-delay: .10s; + animation-delay: .10s; +} + +.loader row:nth-child(3) span:nth-child(2) { + -webkit-animation-delay: .30s; + animation-delay: .30s; +} + +.loader row:nth-child(3) span:nth-child(3) { + -webkit-animation-delay: .40s; + animation-delay: .40s; +} + +/* ORINGINAL SITE CSS */ +html { + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-tap-highlight-color: transparent; +} + +*, *:before, *:after { + -webkit-box-sizing: inherit; + box-sizing: inherit; +} + +html, body { + height: 100%; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap; +} + +body { + font: normal 20px/1.4 'Inter', sans-serif; + margin: 0 1em; + padding: 1em 0; + color: #000; + background: none; +} + +@supports (font-variation-settings: normal) { + body { + font-family: 'Inter var', sans-serif; + } +} + +main { + margin: auto; + font-size: 6vh; + line-height: 1.2; + max-width: 75vh; +} + +/* I was trying to figure out how to only call the <a> tags from index.html, so it wouldn't change the values for other <a> tags, and I tried everything,
+** or so I thought, and I figured out I had to do `.links a` by scrolling up and saw `.loader row span` which wasn't even the correct syntax but I removed
+** the `row` and IT WORKED! I actually got so happy lol. - 2:15 AM, 8/7/2019
+*/ +.links a { + color: inherit; + text-decoration: none; + background-color: #ffdc73; + /* hsl(200, 100%, 80% */ + -webkit-box-shadow: 0 7px 30px -10px #ffdc73,
0 7px 30px -10px #ffdc73; + box-shadow: 0 7px 30px -10px #ffdc73,
0 7px 30px -10px #ffdc73; + -webkit-transition: background-color 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out; +} + +/* #ffdc73 box-shadow should usually be only box-shadow, but I made it two so it would be more visable.
+// Secondary box-shadow, rgba(154,160,185,0.05)
+*/ +.links a:hover, +.links a:focus { + outline: none; + background-color: #282936; + color: #fff; + -webkit-transition: color 0.15s ease-in-out; + transition: color 0.15s ease-in-out; + -webkit-box-shadow: 0 7px 30px -10px #282936, 0 7px 30px -10px #282936; + box-shadow: 0 7px 30px -10px #282936, 0 7px 30px -10px #282936; + /* rgba(166,173,201,0.2) */ + -webkit-transition: -webkit-box-shadow 0.15s ease-in-out; + transition: -webkit-box-shadow 0.15s ease-in-out; + transition: box-shadow 0.15s ease-in-out; + transition: box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; +} diff --git a/mobile/css/main.scss b/mobile/css/main.scss new file mode 100644 index 0000000..33e3edb --- /dev/null +++ b/mobile/css/main.scss @@ -0,0 +1,156 @@ +/* BACKGROUND SPARKLES CSS */ +html, body { + margin: 0 0; + padding: 0 0; + text-align: center; + font-size: 0; + background-color: #fdfcf3; +} + +body svg { + position: absolute; + top: 0; + left: 0; + z-index: -1; +} + +/* LOADING ANIMATION */ + +/* body { +** text-align: center; +** padding-top: 20%; +** background: #fdfdfd; +** } +*/ + +.loader-wrapper { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + background: #fdfdfd; + display: flex; + justify-content: center; + align-items: center; +} + +.loader { + width: 100px; + height: 100px; + display: inline-table; + box-sizing: border-box; + position: relative; + border-spacing: 0.3em; +} +.loader row { + display: table-row; +} +.loader row span { + display: table-cell; + position: relative; + background: #1d1f20; + opacity: 0; + -webkit-animation: flicker 0.5985999999999999s ease-out infinite alternate; + animation: flicker 0.5985999999999999s ease-out infinite alternate; /* Added standard property to fix compatbiliy issues */ +} + +@-webkit-keyframes flicker { + from, 20% { + opacity: 0; + } + 100%, to { + opacity: 1; + } +} + +@keyframes flicker { /* Added standard property to fix compatbiliy issues */ + from, 20% { + opacity: 0; + } + 100%, to { + opacity: 1; + } +} + +.loader row:nth-child(1) span:nth-child(1) { -webkit-animation-delay: .50s; animation-delay: .50s; } /* Added standard property to fix compatbiliy issues */ +.loader row:nth-child(1) span:nth-child(2) { -webkit-animation-delay: .70s; animation-delay: .70s; } +.loader row:nth-child(1) span:nth-child(3) { -webkit-animation-delay: .60s; animation-delay: .60s; } +.loader row:nth-child(2) span:nth-child(1) { -webkit-animation-delay: .20s; animation-delay: .20s; } +.loader row:nth-child(2) span:nth-child(2) { -webkit-animation-delay: .80s; animation-delay: .80s; } +.loader row:nth-child(2) span:nth-child(3) { -webkit-animation-delay: .90s; animation-delay: .90s; } +.loader row:nth-child(3) span:nth-child(1) { -webkit-animation-delay: .10s; animation-delay: .10s; } +.loader row:nth-child(3) span:nth-child(2) { -webkit-animation-delay: .30s; animation-delay: .30s; } +.loader row:nth-child(3) span:nth-child(3) { -webkit-animation-delay: .40s; animation-delay: .40s; } + +/* ORINGINAL SITE CSS */ +html { + box-sizing: border-box; + display: flex; + justify-content: center; + user-select: none; + -webkit-tap-highlight-color: transparent; +} + +*, *:before, *:after { + box-sizing: inherit; +} + +html, body { + height: 100%; + display: flex; + flex-flow: row wrap; +} + +body { + font: normal 20px/1.4 'Inter', sans-serif; + margin: 0 1em; + padding: 1em 0; + color: #000; + background: none; +} + +@supports (font-variation-settings: normal) { + body { + font-family: 'Inter var', sans-serif; + } +} + +main { + margin: auto; + font-size: 6vh; + line-height: 1.2; + max-width: 75vh; +} + +/* I was trying to figure out how to only call the <a> tags from index.html, so it wouldn't change the values for other <a> tags, and I tried everything, +** or so I thought, and I figured out I had to do `.links a` by scrolling up and saw `.loader row span` which wasn't even the correct syntax but I removed +** the `row` and IT WORKED! I actually got so happy lol. - 2:15 AM, 8/7/2019 +*/ + +.links a { + color: inherit; + text-decoration: none; + background-color: #ffdc73; /* hsl(200, 100%, 80% */ + box-shadow: + 0 7px 30px -10px #ffdc73, + 0 7px 30px -10px #ffdc73; + transition: background-color 0.15s ease-in-out; +} + +/* #ffdc73 box-shadow should usually be only box-shadow, but I made it two so it would be more visable. +// Secondary box-shadow, rgba(154,160,185,0.05) +*/ + +.links a:hover, +.links a:focus { + outline: none; + background-color: #282936; + color: #fff; + transition: color 0.15s ease-in-out; + box-shadow: + 0 7px 30px -10px #282936, /* rgba(154,160,185,0.05) */ + 0 7px 30px -10px #282936; /* rgba(166,173,201,0.2) */ + transition: box-shadow 0.15s ease-in-out; +} + diff --git a/mobile/index.html b/mobile/index.html new file mode 100644 index 0000000..f75b0c0 --- /dev/null +++ b/mobile/index.html @@ -0,0 +1,95 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="ie=edge"> + <meta name="theme-color" content="#FFF"> + <title>s1nical - Landing Page</title> + <link href='https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic' rel='stylesheet' type='text/css'> + <script src="https://cdnjs.cloudflare.com/ajax/libs/trianglify/0.3.1/trianglify.min.js"></script> + <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> + <link rel="stylesheet" href="css/main.css"> + <meta name="description" content="s1nical is a full stack developer."> + <meta property="og:description" content="s1nical is a full stack developer."> + <meta property="og:title" content="s1nical"> + <meta property="twitter:card" content="summary"> + <meta property="twitter:site" content="@s1nical"> + <meta property="og:image" content=""> + <script src="/cdn-cgi/apps/head/_vFlzwEWzfnxN-k3KPkfOrUdyXo.js"></script> + <script src="https://www.googletagmanager.com/gtag/js?id=UA-30692517-4"></script> + <script src="https://code.jquery.com/jquery-1.10.2.js"></script> + <link rel="image_src" href="https://secure.gravatar.com/avatar/f9c6903a50d1d861a47a614862b00b89.png?s=375"> + <link rel="apple-touch-icon" sizes="128x128" href="favicon.ico"> + <link rel="icon" type="image/ico" href="favicon.ico" sizes="128x128"> + <link rel="canonical" href="https://s1n.pw/"> + <script type="application/ld+json">{ + "name": "s1nical", + "alternateName": "s1n", + "description": "s1nical is a full stack developer.", + "headline": "s1nical is a full stack developer.", + "url": "https://s1n.pw/", + "image": "", + "sameAs": [ + "https://twitter.com/s1nical", + "https://github.com/s1nical", + "https://www.reddit.com/user/s1nical/", + ], + "publisher": { + "@type": "Organization", + "logo": { + "@type": "ImageObject", + "url": "" + } + }, + "@type": "WebSite", + "@context": "http://schema.org" + } + </script> + <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/inter.css" integrity="sha256-DyLTj16AbuvawyWJMPz4tJNp46iGflE/fWYAoU2IGpk=" crossorigin="anonymous"> + <!-- Global site tag (gtag.js) - Google Analytics --> + <script async src="https://www.googletagmanager.com/gtag/js?id=UA-145087191-1"></script> + <script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'UA-145087191-1'); + </script> +</head> + <body> + <script src="js/app.js"></script> + + <!-- Core Site Function, Site Primer/ Base --> + <main> + <div class="links"> + <a href="mailto:[email protected]">s1nical</a><br> + Full-stack developer.<br><br> + Follow me on <a href="https://twitter.com/s1nical">Twitter</a>. + View my code on <a href="https://github.com/s1nical">GitHub</a>. + </div> + </main> + + <!--Loading Animation--> + <div class="loader-wrapper"> + <div class="loader"> + <row> + <span></span> + <span></span> + <span></span> + </row> + <row> + <span></span> + <span></span> + <span></span> + </row> + <row> + <span></span> + <span></span> + <span></span> + </row> + </div> + </div> + + </body> +</html> diff --git a/mobile/js/app.js b/mobile/js/app.js new file mode 100644 index 0000000..69b6784 --- /dev/null +++ b/mobile/js/app.js @@ -0,0 +1,91 @@ +// LOADER ANIMATION +$(window).on("load", function () { + $(".loader-wrapper").fadeOut("slow"); +}) + +// BACKGROUND SPARKLES +// SCRIPT #1 + +// set up the base pattern +var pattern = Trianglify({ + height: window.innerHeight, // White: #fdfbfb, Salmon: #cc3300 + width: window.innerWidth, + x_colors: ['#040404', '#f9f9f9', '#fffff4', '#fbf7f5', '#d55454'], // Cappuccino: ['#854442', '#3c2f2f', '#fff4e6', '#be9b7b', '#4b3832'] + y_colors: ['#f9f1f1', '#f9f9f9', '#fffff4', '#fbf7f5', '#f9f1f1'], // Random colour generator: "#"+((1<<24)*Math.random()|0).toString(16) + variance: 10, + seed: Number.parseInt(Math.floor(Math.random() * 100)), // Random seed generator: Number.parseInt(Math.floor(Math.random() * 100)) + cell_size: 160 +}); + +// // canvas +// document.body.appendChild(pattern.canvas()) + +// svg +document.body.appendChild(pattern.svg()) + + + +// // png +// var png = document.createElement('img') +// png.src = pattern.png() +// document.body.appendChild(png) + +// SCRIPT #2 + +$('.title-wrapper').css('width', window.innerWidth); +$('.title-wrapper').css('height', window.innerHeight); + + +var time = 10, + $paths = $('body').find('svg').find('path'), + pathCollection = $paths.get(), + count = $paths.length; + +console.log(count); + +pathCollection.sort(function () { + return Math.random() * 10 > 5 ? 1 : -1; +}); + +function showText() { + var title = $('h1'), + subtitle = $('h2'); + + title.removeClass('hidden'); + setTimeout(function () { + subtitle.removeClass('hidden'); + }, 500); +} + +setTimeout(function () { + $.each(pathCollection, function (i, el) { + var $path = $(this); + setTimeout(function () { + + $path.css('opacity', '1'); + }, time) + time += 10; + + if (i + 1 === count) { + setTimeout(function () { + showText(); + }, 2000); + } + + }); +}, 2000); + +// LOADER ANIMATION END FOR WINDOW LOAD +$(window).on("load", function () { + $(".loader-wrapper").fadeOut("slow"); +}) + +// Honestly I have NO idea what this is but it was in the original site source code so I kept it :) +(async () => { + if (navigator.webdriver || document.visibilityState === 'prerender' || !location.hostname) { + return; + } + + document.querySelector('a[href="/cdn-cgi/l/email-protection"]').href = `\x6dailto:hi\x40${location.hostname}`; +})(); + |