diff options
| author | s1nical <[email protected]> | 2019-08-07 15:22:49 -0700 |
|---|---|---|
| committer | s1nical <[email protected]> | 2019-08-07 15:22:49 -0700 |
| commit | 4d5b7f80b1cbf1db4fe9662022892e49c5078a41 (patch) | |
| tree | 218607e8dd3ae91344d011f6f288741aaeddaa68 | |
| parent | Update README.md (diff) | |
| download | s1n.pw-admin-4d5b7f80b1cbf1db4fe9662022892e49c5078a41.tar.xz s1n.pw-admin-4d5b7f80b1cbf1db4fe9662022892e49c5078a41.zip | |
Add navbar, mobile version
| -rw-r--r-- | 404/css/main.css | 5 | ||||
| -rw-r--r-- | css/main.css | 460 | ||||
| -rw-r--r-- | css/main.scss | 231 | ||||
| -rw-r--r-- | dev/README.todo | 5 | ||||
| -rw-r--r-- | dev/test.js | 9 | ||||
| -rw-r--r-- | index.html | 70 | ||||
| -rw-r--r-- | js/app.js | 10 | ||||
| -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 |
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 @@ -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>
@@ -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}`; +})(); + |