summaryrefslogtreecommitdiff
path: root/mobile
diff options
context:
space:
mode:
Diffstat (limited to 'mobile')
-rw-r--r--mobile/css/main.css217
-rw-r--r--mobile/css/main.scss156
-rw-r--r--mobile/index.html95
-rw-r--r--mobile/js/app.js91
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}`;
+})();
+