summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authors1nical <[email protected]>2019-08-07 15:22:49 -0700
committers1nical <[email protected]>2019-08-07 15:22:49 -0700
commit4d5b7f80b1cbf1db4fe9662022892e49c5078a41 (patch)
tree218607e8dd3ae91344d011f6f288741aaeddaa68
parentUpdate README.md (diff)
downloads1n.pw-admin-4d5b7f80b1cbf1db4fe9662022892e49c5078a41.tar.xz
s1n.pw-admin-4d5b7f80b1cbf1db4fe9662022892e49c5078a41.zip
Add navbar, mobile version
-rw-r--r--404/css/main.css5
-rw-r--r--css/main.css460
-rw-r--r--css/main.scss231
-rw-r--r--dev/README.todo5
-rw-r--r--dev/test.js9
-rw-r--r--index.html70
-rw-r--r--js/app.js10
-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
11 files changed, 1167 insertions, 182 deletions
diff --git a/404/css/main.css b/404/css/main.css
index 92a83d9..e8e3200 100644
--- a/404/css/main.css
+++ b/404/css/main.css
@@ -4,7 +4,7 @@ html {
body {
height: 100%;
- background: url("") no-repeat left top; /* https://wallpapercave.com/wp/6SLzBEY.jpg */
+ background: url("https://wallpapercave.com/wp/6SLzBEY.jpg") no-repeat left top;
background-size: cover;
overflow: hidden;
display: -webkit-box;
@@ -43,7 +43,7 @@ body {
}
.text h3 {
- color: black; /* originally black but looks bad without a bg value from above */
+ color: white;
margin-left: 30px;
font-size: 2em;
text-shadow: -5px 5px 0px rgba(0, 0, 0, 0.7);
@@ -75,4 +75,3 @@ body {
-webkit-box-shadow: inset 0 0 40px 2px #000, 0 0 20px 4px rgba(13, 13, 10, 0.8);
box-shadow: inset 0 0 40px 2px #000, 0 0 20px 4px rgba(13, 13, 10, 0.8);
}
-/*# sourceMappingURL=main.css.map */
diff --git a/css/main.css b/css/main.css
index 4d80342..65067cc 100644
--- a/css/main.css
+++ b/css/main.css
@@ -1,148 +1,318 @@
-/* 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 */
-
+/* BACKGROUND SPARKLES CSS */
+@import url("https://fonts.googleapis.com/css?family=DM+Sans:500,700&display=swap");
+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%;
-}
-
-body {
- font: normal 20px/1.4 'Inter', sans-serif;
- margin: 0 1em;
- padding: 1em 0;
- color: #000;
- background: none;
- display: flex;
-}
-
-@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;
-}
-
-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;
-}
-
+** 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; ** This is only needed for mobile */
+ 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)
-*/
-
-a:hover,
-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;
-}
+*/
+.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;
+}
+
+/* NAVIGATION MENU */
+.navigation-bar {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 1;
+ -ms-flex: 1 0 100%;
+ flex: 1 0 100%;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+}
+
+.nav {
+ overflow: hidden;
+ max-width: 100%;
+ background-color: #fff;
+ padding: 0 20px;
+ border-radius: 40px;
+ -webkit-box-shadow: 0 10px 40px rgba(159, 162, 177, 0.8);
+ box-shadow: 0 10px 40px rgba(159, 162, 177, 0.8);
+ position: absolute;
+ /* Only reason it's centered. */
+ /* Manual position adjusting
+ ** top: 0;
+ ** left: 0;
+ */
+ 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;
+}
+
+.nav-item {
+ color: #83818c;
+ padding: 20px;
+ text-decoration: none;
+ -webkit-transition: .3s;
+ transition: .3s;
+ margin: 0 6px;
+ font-family: 'DM Sans', sans-serif;
+ font-weight: 500;
+ position: relative;
+ 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;
+}
+
+.nav-item:before {
+ content: "";
+ position: absolute;
+ bottom: -6px;
+ left: 0;
+ width: 100%;
+ height: 5px;
+ background-color: #dfe2ea;
+ border-radius: 8px 8px 0 0;
+ opacity: 0;
+ -webkit-transition: .3s;
+ transition: .3s;
+}
+
+.nav-item:not(.is-active):hover:before {
+ opacity: 1;
+ bottom: 0;
+}
+
+.nav-item:not(.is-active):hover {
+ color: #333;
+}
+
+.nav-indicator {
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ height: 4px;
+ -webkit-transition: .4s;
+ transition: .4s;
+ height: 5px;
+ z-index: 1;
+ border-radius: 8px 8px 0 0;
+}
+
+@media (max-width: 580px) {
+ .nav {
+ overflow: auto;
+ }
+}
diff --git a/css/main.scss b/css/main.scss
new file mode 100644
index 0000000..267e903
--- /dev/null
+++ b/css/main.scss
@@ -0,0 +1,231 @@
+/* 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; ** This is only needed for mobile */
+ 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;
+}
+
+/* NAVIGATION MENU */
+@import url('https://fonts.googleapis.com/css?family=DM+Sans:500,700&display=swap');
+
+.navigation-bar {
+ display: flex;
+ flex: 1 0 100%;
+ justify-content: center;
+}
+
+.nav {
+ overflow: hidden;
+ max-width: 100%;
+ background-color: #fff;
+ padding: 0 20px;
+ border-radius: 40px;
+ box-shadow: 0 10px 40px rgba(159, 162, 177, .8);
+ position: absolute; /* Only reason it's centered. */
+ /* Manual position adjusting
+ ** top: 0;
+ ** left: 0;
+ */
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.nav-item {
+ color: #83818c;
+ padding: 20px;
+ text-decoration: none;
+ transition: .3s;
+ margin: 0 6px;
+ font-family: 'DM Sans', sans-serif;
+ font-weight: 500;
+ position: relative;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+
+ &:before {
+ content: "";
+ position: absolute;
+ bottom: -6px;
+ left: 0;
+ width: 100%;
+ height: 5px;
+ background-color: #dfe2ea;
+ border-radius: 8px 8px 0 0;
+ opacity: 0;
+ transition: .3s;
+ }
+}
+
+.nav-item:not(.is-active):hover:before {
+ opacity: 1;
+ bottom: 0;
+}
+
+
+.nav-item:not(.is-active):hover { color: #333; }
+
+.nav-indicator {
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ height: 4px;
+ transition: .4s;
+ height: 5px;
+ z-index: 1;
+ border-radius: 8px 8px 0 0;
+}
+
+@media (max-width: 580px) {
+ .nav { overflow: auto; }
+}
diff --git a/dev/README.todo b/dev/README.todo
new file mode 100644
index 0000000..68c1711
--- /dev/null
+++ b/dev/README.todo
@@ -0,0 +1,5 @@
+Q: What was I doing?
+A: It was like 3 AM and I was trying to fix the centering issue on the new navigation bar in `css/main.scss`.
+ Current GitHub branch: dev
+ Commited?: No
+ Asked on Reddit?: https://www.reddit.com/r/webdev/comments/cn3vfu/i_cant_find_the_reason_my_navigation_bar_isnt/ \ No newline at end of file
diff --git a/dev/test.js b/dev/test.js
new file mode 100644
index 0000000..fa8d751
--- /dev/null
+++ b/dev/test.js
@@ -0,0 +1,9 @@
+// This one doesn't work at the moment but I'll try to find a way to fix it.
+
+if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(navigator.userAgent)) {
+ location.href = './mobile/';
+} else if (/Chrome|Mac|MacBook|Firefox|Mozilla|Opera|OperaGX|Avast|IE|Windows|MacOS|/i.test(navigator.userAgent)) {
+ location.href = './index.html';
+} else {
+ location.href = './index.html';
+} \ No newline at end of file
diff --git a/index.html b/index.html
index 195cb13..4cd4980 100644
--- a/index.html
+++ b/index.html
@@ -23,7 +23,6 @@
<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/">
- <link rel="stylesheet" href="css/main.css">
<script type="application/ld+json">{
"name": "s1nical",
"alternateName": "s1n",
@@ -60,42 +59,49 @@
</head>
<body>
<script src="js/app.js"></script>
+
+ <!-- Navigation Bar -->
+ <div class="navigation-bar">
+ <nav class="nav">
+ <a href="#" class="nav-item" active-color="orange">Home</a> <!-- Had `is-active` after it but removed it due to not highlighting. -->
+ <a href="https://github.com/users/s1nical/projects/1" class="nav-item" active-color="green">About</a> <!-- About -->
+ <a href="./dino/" class="nav-item" active-color="blue">Dino</a> <!-- Testimonials -->
+ <a href="./doge" class="nav-item" active-color="red">Doge</a> <!-- Blog -->
+ <a href="./cars/" class="nav-item" active-color="rebeccapurple">Cars</a> <!-- Contact -->
+ <span class="nav-indicator"></span>
+ </nav>
+ </div>
+ <!-- Core Site Function, Site Primer/ Base -->
<main>
- <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>.
- </main>
-
- <!--I have no idea what this is from, I think it might be old testing code when I was making my Hidden 404 Page.
- <div class="col-6 col-sm-4 col-md-4 col-lg-2 d-flex pb-4">
- <div class="d-inline-block w-100 box-shadow card" style="cursor: pointer;">
- <a href="404/index.html" style="text-decoration: none;">
- </a>
- </div>
+ <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>
+ <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/js/app.js b/js/app.js
index 00d7fde..44a5a57 100644
--- a/js/app.js
+++ b/js/app.js
@@ -1,8 +1,13 @@
-// LOADER ANIM
+// LOADER ANIMATION
$(window).on("load", function () {
$(".loader-wrapper").fadeOut("slow");
})
+// THIS CHECKS WHAT OS THE USER IS ON
+if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(navigator.userAgent)) {
+ location.href = './mobile/';
+}
+
// BACKGROUND SPARKLES
// SCRIPT #1
@@ -80,7 +85,7 @@ $(window).on("load", function () {
$(".loader-wrapper").fadeOut("slow");
})
-// HONESTLY I HAVE NO IDEA WHAT THIS IS BUT IT WAS IN THE ORIGINAL SRC
+// 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;
@@ -88,3 +93,4 @@ $(window).on("load", function () {
document.querySelector('a[href="/cdn-cgi/l/email-protection"]').href = `\x6dailto:hi\x40${location.hostname}`;
})();
+
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}`;
+})();
+