mirror of
				https://github.com/Clortox/tylerperkins.xyz.git
				synced 2025-07-17 14:42:11 +00:00 
			
		
		
		
	Add base index page
This commit is contained in:
		
							parent
							
								
									ebb1b01c3e
								
							
						
					
					
						commit
						fb64b9802f
					
				
							
								
								
									
										10
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | ||||
| # Vim files | ||||
| *.swp | ||||
| *.swo | ||||
| *.swn | ||||
| 
 | ||||
| # Hugo | ||||
| /public | ||||
| /resources/_gen | ||||
| /resources/_gen/* | ||||
| 
 | ||||
| @ -3,4 +3,7 @@ title: "Home" | ||||
| date: 2023-06-27 | ||||
| --- | ||||
| 
 | ||||
| Welcome to my site! | ||||
| 
 | ||||
| # Hi, I'm Tyler  | ||||
| 
 | ||||
| I'm a software engineer that does a little bit of everything | ||||
|  | ||||
							
								
								
									
										36
									
								
								data/footer.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								data/footer.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | ||||
| { | ||||
|     "Contact": [ | ||||
|         { | ||||
|             "name": "Email", | ||||
|             "url": "mailto:hello@clortox.com" | ||||
|         }, | ||||
|         { | ||||
|             "name": "LinkedIn", | ||||
|             "url": "https://www.linkedin.com/in/tyler-perkins-xyz/" | ||||
|         }, | ||||
|         { | ||||
|             "name": "Github", | ||||
|             "url": "https://github.com/Clortox" | ||||
|         } | ||||
|     ], | ||||
|     "Services": [ | ||||
|         { | ||||
|             "name": "Git", | ||||
|             "url": "https://git.clortox.com/" | ||||
|         }, | ||||
|         { | ||||
|             "name": "Files", | ||||
|             "url": "https://files.clortox.com/" | ||||
|         }, | ||||
|         { | ||||
|             "name": "Search", | ||||
|             "url": "https://search.clortox.com/" | ||||
|         }, | ||||
|         { | ||||
|             "name": "Youtube Frontend", | ||||
|             "url": "https://watch.clortox.com/" | ||||
|         } | ||||
|     ] | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
							
								
								
									
										27
									
								
								data/header.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								data/header.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,27 @@ | ||||
| { | ||||
|     "LeftHandSide": [ | ||||
|         { | ||||
|             "name": "Home", | ||||
|             "url": "/" | ||||
|         }, | ||||
|         { | ||||
|             "name": "Resume", | ||||
|             "url": "/resume/" | ||||
|         }, | ||||
|         { | ||||
|             "name": "Blog", | ||||
|             "url": "/blog/" | ||||
|         }, | ||||
|         { | ||||
|             "name": "About", | ||||
|             "url": "/about/" | ||||
|         } | ||||
|     ], | ||||
|     "RightHandSide": [ | ||||
|         { | ||||
|             "name": "Login", | ||||
|             "url": "https://auth.clortox.com/" | ||||
|         } | ||||
|     ] | ||||
| 
 | ||||
| } | ||||
| @ -1,16 +1,7 @@ | ||||
| {{ define "main" }} | ||||
|     <div class="centered top-fade dashed-bottom"> | ||||
|     <div class="centered top-fade"> | ||||
|         <div class="intro-content"> | ||||
|             {{ .Content }} | ||||
|         </div> | ||||
|     </div> | ||||
| 
 | ||||
|     <div class="content-list"> | ||||
|         <ul> | ||||
|         {{ range .Site.RegularPages }} | ||||
|             <li><a href="{{ .Permalink }}">{{ .Title }}</a></li> | ||||
|         {{ end }} | ||||
|         </ul> | ||||
|     </div> | ||||
| 
 | ||||
| {{ end }} | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										16
									
								
								static/css/background.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								static/css/background.css
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| @keyframes animatedBackground { | ||||
|     from { background-position: 0 0; } | ||||
|     to { background-position: 0 100%; } | ||||
| } | ||||
| @keyframes rotateBackground { | ||||
|     from { transform: rotate(0deg); } | ||||
|     to { transform: rotate(360deg); } | ||||
| } | ||||
| 
 | ||||
| body { | ||||
|     background-image: url("/img/webb-dark.png"); | ||||
| 
 | ||||
|     background-position: center; | ||||
|     background-repeat: cover; | ||||
|     background-attachment: fixed; | ||||
| } | ||||
							
								
								
									
										57
									
								
								static/css/footer.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								static/css/footer.css
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,57 @@ | ||||
| /* Footer */ | ||||
| 
 | ||||
| footer { | ||||
|   background-color: rgba(11,11,11,0.9); | ||||
|   color: white; | ||||
|   padding: 15px; | ||||
|   text-align: center; | ||||
|   padding-top: 3vh; | ||||
| } | ||||
| 
 | ||||
| .footer-fade { | ||||
|     background: linear-gradient(rgba(11,11,12,0.2) 0%, rgba(11,11,12,1) 35%); | ||||
| } | ||||
| 
 | ||||
| .footer-sections { | ||||
|     display: grid; | ||||
|     align-content: center; | ||||
|     justify-content: center; | ||||
|     align-items: start; | ||||
|     justify-items: center; | ||||
|     grid-template-columns: 1fr 1fr 1fr; | ||||
| } | ||||
| 
 | ||||
| .footer-list { | ||||
|     width: 100%; | ||||
|     margin: 0; | ||||
|     display: grid; | ||||
|     grid-template-columns: 1fr; | ||||
|     text-align: left; | ||||
| } | ||||
| 
 | ||||
| .footer-list a { | ||||
|     width: calc(100% - 30px); | ||||
|     background: rgba(22,22,24,1); | ||||
|     border: grey; | ||||
|     text-decoration: underline 0.1em rgba(255,255,255,0); | ||||
|     transition: 300ms; | ||||
|     margin: 1px 0px; | ||||
|     padding: 15px; | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| .footer-list a:hover { | ||||
|     text-decoration: underline 0.1em rgba(255,255,255,1); | ||||
|     background: rgba(33,33,36,1); | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| .footer-header { | ||||
|     margin-top: 5px; | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| small { | ||||
|     font-size: 0.8em; | ||||
|     color: rgba(255,255,255,0.5); | ||||
| } | ||||
							
								
								
									
										39
									
								
								static/css/header.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								static/css/header.css
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,39 @@ | ||||
| /* Header */ | ||||
| 
 | ||||
| .navbar { | ||||
|     margin: 0; | ||||
|     background: rgb(11,11,12); | ||||
|     height: 3em; | ||||
|     border-color: white; | ||||
|     border-bottom: 5px; | ||||
| 
 | ||||
|     overflow: hidden; | ||||
| 
 | ||||
|     -ms-overflow-style: none; | ||||
|     scrollbar-width: none; | ||||
| } | ||||
| 
 | ||||
| .sticky { | ||||
|     position: fixed; | ||||
|     top: 0; | ||||
|     width: 100%; | ||||
| } | ||||
| 
 | ||||
| .navbar a { | ||||
|     float: left; | ||||
|     display: block; | ||||
|     color: white; | ||||
|     text-align: center; | ||||
|     padding: 10px 10px; | ||||
|     text-decoration: underline 0.1em rgba(255,255,255,0); | ||||
|     transition: text-decoration 300ms; | ||||
| } | ||||
| 
 | ||||
| .navbar a:hover { | ||||
|     text-decoration: underline 0.1em rgba(255,255,255,1); | ||||
| } | ||||
| 
 | ||||
| .navbar-right { | ||||
|     float: right; | ||||
|     margin-right 10px; | ||||
| } | ||||
| @ -1,3 +1,43 @@ | ||||
| /* General Formatting*/ | ||||
| 
 | ||||
| @font-face { | ||||
|     font-family: 'Hermit'; | ||||
|     src: url('fonts/Hermit-Regular.woff') format('woff'); | ||||
|          url('fonts/Hermit-Regular.woff2') format('woff2'); | ||||
|     font-weight: normal; | ||||
|     font-style: normal; | ||||
|     font-display: swap; | ||||
| } | ||||
| 
 | ||||
| body { | ||||
|     overflow-x: hidden; | ||||
|     margin: 0; | ||||
|     height: 100%; | ||||
|     padding-bottom: 0px; | ||||
| } | ||||
| 
 | ||||
| h1, h2, h3, h4 { | ||||
|     font-family: 'Hermit', Helvetica, Arial, sans-serif; | ||||
|     font-size: 56px; | ||||
|     line-height: 80px; | ||||
|     text-shadow: 1px 1px 1px grey; | ||||
|     color: white; | ||||
| } | ||||
| 
 | ||||
| p, a, li, tr, td, span, noscript, figcaption { | ||||
|     font-family: 'Hermit', Helvetica, Arial, sans-serif; | ||||
|     font-size: 16px; | ||||
|     line-height: 25px; | ||||
|     color: white; | ||||
| } | ||||
| 
 | ||||
| html { | ||||
|     scroll-behavior: smooth; | ||||
|     width: 100vw; | ||||
|     -ms-overflow-style: none; | ||||
|     scrollbar-width: none; | ||||
| } | ||||
| 
 | ||||
| .centered { | ||||
|     width: 100vw; | ||||
|     max-width: 100%; | ||||
| @ -11,16 +51,13 @@ | ||||
| } | ||||
| 
 | ||||
| .top-fade { | ||||
|     background: linear-gradient(rgba(11,11,12,1) 0%, rgba(11,11,12,0.9 20%), rgba(0,0,0,0.1), 100%) | ||||
|     background: linear-gradient(rgba(11,11,12,1) 0%, rgba(11,11,12,0.9) 30%, rgba(0,0,0,0.1) 100%) | ||||
| } | ||||
| 
 | ||||
| .dashed-bottom { | ||||
|     border-bottom: 5px dashed white; | ||||
| } | ||||
| 
 | ||||
| body { | ||||
|     overflow-x: hidden; | ||||
|     margin: 0; | ||||
|     height: 100%; | ||||
|     padding-bottom: 0px; | ||||
| .intro-content { | ||||
|     text-align: center; | ||||
| } | ||||
|  | ||||
							
								
								
									
										
											BIN
										
									
								
								static/fonts/Hermit-Regular.woff
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								static/fonts/Hermit-Regular.woff
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								static/fonts/Hermit-Regular.woff2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								static/fonts/Hermit-Regular.woff2
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								static/img/prism.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								static/img/prism.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 9.5 KiB | 
							
								
								
									
										
											BIN
										
									
								
								static/img/webb-dark.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								static/img/webb-dark.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 12 KiB | 
										
											Binary file not shown.
										
									
								
							| @ -1,5 +1,22 @@ | ||||
| <footer> | ||||
|     <p> | ||||
| <footer class="footer-fade"> | ||||
|     <div class="footer-sections"> | ||||
|         <div class="footer-list" style="width: 85%"> | ||||
|             <h4 id="contact" class="footer-header" style="margin-bottom: 5px">Contact</h4> | ||||
| 
 | ||||
|             {{ range .Site.Data.footer.Contact }} | ||||
|             <a data-value="{{ .name }}" class="scramble" href="{{ .url }}">{{ .name }}</a> | ||||
|             {{ end }} | ||||
|         </div> | ||||
|         <div class="footer-list" style="width: 85%"></div> | ||||
|         <div class="footer-list" style="width: 85%"> | ||||
|             <h4 class="footer-header" style="margin-bottom: 5px">Services</h4> | ||||
| 
 | ||||
|             {{ range .Site.Data.footer.Services }} | ||||
|             <a data-value="{{ .name }}" class="scramble" href="{{ .url }}">{{ .name }}</a> | ||||
|             {{ end }} | ||||
|         </div> | ||||
|     </div> | ||||
|     <p style="margin: 0px;"> | ||||
|         <small>Copyright © {{ now.Year }}. All rights Reserved</small> | ||||
|     </p> | ||||
| </footer> | ||||
|  | ||||
| @ -1,3 +1,8 @@ | ||||
| <head> | ||||
|     <link rel="stylesheet" href="{{ "css/clortox.css" | relURL }}"> | ||||
|     <link rel="stylesheet" href="{{ "css/styles.css" | relURL }}"> | ||||
|     <link rel="stylesheet" href="{{ "css/header.css" | relURL }}"> | ||||
|     <link rel="stylesheet" href="{{ "css/footer.css" | relURL }}"> | ||||
| 
 | ||||
|     <link rel="stylesheet" href="{{ "css/background.css" | relURL }}"> | ||||
|     <script src="{{ "js/scramble.js" | relURL }}"></script> | ||||
| </head> | ||||
|  | ||||
| @ -1,4 +1,10 @@ | ||||
| <header class="navbar sticky"> | ||||
|     <a href="{{ "/" | relURL }}">Home</a> | ||||
|     <a href="{{ "/about/" | relURL }}">About</a> | ||||
|     {{ range .Site.Data.header.LeftHandSide }} | ||||
|     <a data-value="{{ .name }}" class="scramble header-item" href="{{ .url | relURL }}">{{ .name }}</a> | ||||
|     {{ end }} | ||||
|     <div class="navbar-right"> | ||||
|         {{ range .Site.Data.header.RightHandSide }} | ||||
|         <a data-value="{{ .name }}" class="scramble header-item" href="{{ .url }}">{{ .name }}</a> | ||||
|         {{ end }} | ||||
|     </div> | ||||
| </header> | ||||
|  | ||||
| @ -1,14 +0,0 @@ | ||||
| .navbar { | ||||
|     margin: 0; | ||||
|     background: rgb(11,11,12); | ||||
|     height: 3em; | ||||
|     border-color: white; | ||||
|     border-bottom: 5px; | ||||
|     overflow: hidden; | ||||
| } | ||||
| 
 | ||||
| .sticky { | ||||
|     position: fixed; | ||||
|     top: 0; | ||||
|     width: 100%; | ||||
| } | ||||
							
								
								
									
										29
									
								
								themes/clortox/static/js/scramble.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								themes/clortox/static/js/scramble.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,29 @@ | ||||
| const letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" | ||||
| 
 | ||||
| window.onload = function() { | ||||
|     document.querySelectorAll(".scramble").forEach(item => { | ||||
|         item.addEventListener("mouseover", scramble); | ||||
|     }); | ||||
| } | ||||
| 
 | ||||
| function scramble(event) { | ||||
|     let iterations = 0; | ||||
|     const originalValue = event.target.dataset.value; | ||||
| 
 | ||||
|     let interval = setInterval(() => { | ||||
|         event.target.innerText = event.target.innerText.split("") | ||||
|             .map((letter, index) => { | ||||
|                 if(index < iterations){ | ||||
|                     return originalValue[index]; | ||||
|                 } | ||||
|                 return letters[Math.floor(Math.random() * letters.length)]; | ||||
|             }).join("") | ||||
| 
 | ||||
|         iterations += 1 / 3; | ||||
| 
 | ||||
|         if(iterations > originalValue.length){ | ||||
|             clearInterval(interval); | ||||
|             event.target.innerText = originalValue; | ||||
|         } | ||||
|     }, 30); | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Tyler Perkins
						Tyler Perkins