diff options
-rw-r--r-- | html/main/about.tmpl.html | 6 | ||||
-rw-r--r-- | html/main/index.tmpl.html | 25 | ||||
-rw-r--r-- | html/master.tmpl.html | 48 | ||||
-rw-r--r-- | static/logo.svg | 13 | ||||
-rw-r--r-- | static/oldStyle.css | 348 | ||||
-rw-r--r-- | static/style-revised.css | 277 |
6 files changed, 327 insertions, 390 deletions
diff --git a/html/main/about.tmpl.html b/html/main/about.tmpl.html index ec88c22..afb6fcd 100644 --- a/html/main/about.tmpl.html +++ b/html/main/about.tmpl.html @@ -7,11 +7,7 @@ <h1>About</h1> <section class="postBackground"> <div class="postContent"> - <h2>Me and This Website</h2> - <figure> - <img src="/static/media/alex_profile_512.jpg" alt="Highschool senior photo portrait of Alex next to Yerkes Observatory."> - <figcaption>Highschool senior photo.</figcaption> - </figure> + <img src="/static/media/alex_profile_512.jpg" alt="Highschool senior photo portrait of Alex next to Yerkes Observatory."> <p>My name is Alex Scerba, and I am a design student at the College for Creative Studies in Detroit, MI.</p> <blockquote>"It's just a machine. Open it up and see what's wrong."</blockquote> <p>This phrase is mostly what my life revolves around. Tinkering, making, repairing, and improving the world through these outlets is what I strive to do in my lifetime.</p> diff --git a/html/main/index.tmpl.html b/html/main/index.tmpl.html index 6760fae..55acf81 100644 --- a/html/main/index.tmpl.html +++ b/html/main/index.tmpl.html @@ -3,24 +3,13 @@ {{ define "keywords" }}home{{end}} {{ define "main" }} - <h1 style="animation: 1s ease-out 0s 1 fadeIn">alexscerba.com</h1> - <div class="frontpage-subtitle" style="animation: 1s ease-out 0s 1 fadeIn"> - <div class="subtitle-text"> - <p>My place to:</p> - <p><strong>showcase design projects.<br>post life updates.<br>bulid web-development skills.</strong></p> - </div> - </div> - <section class="bottom"> - <h2>Latest Design Projects</h2> - <div class="posts"> + <h1>Design Projects</h1> + <section class="projects even-2-col-grid"> {{ range .Posts.Contents }} - <figure class="thumbnail"> - <a href="/projects/{{ .FileName }}"> - {{ .Image }} - <figcaption>{{ .Title }}</figcaption> - </a> - </figure> + <a href="/projects/{{ .FileName }}" class="thumbnail"> + {{ .Image }} + <p>{{ .Title }}</p> + </a> {{ end }} - </div> - </section> + </section> {{ end }}
\ No newline at end of file diff --git a/html/master.tmpl.html b/html/master.tmpl.html index 145d299..d107826 100644 --- a/html/master.tmpl.html +++ b/html/master.tmpl.html @@ -1,36 +1,46 @@ <!DOCTYPE html> <html lang="en-US"> - <head> - - <meta charset="utf-8" /> + <meta charset="UTF-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="author" content="Alexander Rees Scerba" /> <title>{{block "title" .}}Page{{end}} - Alex Scerba</title> <meta name="description" content="{{block "description" .}}Alex's personal site{{end}}" /> <meta name="keywords" content="{{block "keywords" .}}personal site{{end}}"> <link rel="canonical" href="https://www.alexscerba.com{{block "canonical" .}}{{end}}"> - <meta name="viewport" content="width=device-width, initial-scale=1" /> - <link rel="stylesheet" href="/static/style.css" /> + <link rel="stylesheet" href="/static/style-revised.css" /> <link rel="shortcut icon" href="/static/favicon.ico" type="image/x-icon" /> - </head> - <body> - - <input type="checkbox" class="toggler"> - <div class="hamburger"><div></div></div> - <nav aria-labelledby="global-navigation" class="menu"> - <a href="/">Home</a> - <a href="/projects">Projects</a> - <a href="/blog">Blog</a> - <a href="/about">About</a> - </nav> + <header> + <div class="logo-w-name"> + <img src="/static/logo.svg" alt="Logo" class="logo"/> + <span class="name">Alex Scerba</span> + </div> + <div class="main-nav-position"> + <input type="checkbox" class="toggler"> + <div class="hamburger"><div></div></div> + <nav aria-labelledby="global-navigation" class="main-nav"> + <a href="/">Projects</a> + <a href="/static/Documents/Resume_Scerba_Fall2023.pdf">Résumé</a> + <a href="/about">About</a> + </nav> + </div> + </header> <main> -{{ template "main" . }} + {{ template "main" . }} </main> - </body> -</html> + <footer> + <img src="/static/logo.svg" alt="Logo" class="footer-logo"/> + <address> + <p>Contact: <a href="mailto:alex@alexscerba.com">alex@alexscerba.com</a></p> + <p>LinkedIn: <a href="https://linkedin.com/in/ascerba">linkedin.com/in/ascerba</a></p></p> + </address> + </footer> + </body> +</html>
\ No newline at end of file diff --git a/static/logo.svg b/static/logo.svg new file mode 100644 index 0000000..c513188 --- /dev/null +++ b/static/logo.svg @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg id="Layer_2" data-name="Layer 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300.98 333.79"> + <defs> + <style> + .cls-1 { + stroke-width: 0px; + } + </style> + </defs> + <g id="Layer_1-2" data-name="Layer 1"> + <path class="cls-1" d="m246.34,193.56c-3.55-3.51-3.57-9.24-.06-12.78l33.44-33.74-43.76-43.38-76.74,77.42,44.09,43.71c4.69,4.65,4.73,12.23.07,16.92l-21.04,21.22-8.5-8.42,15.45-15.58c3.09-3.11,3.06-8.14-.05-11.23l-38.46-38.12-11.33-11.23h-.01s-64.65-64.06-64.65-64.06c-2.46-2.43-2.47-6.4-.04-8.85l31.97-32.26c2.43-2.46,6.4-2.47,8.85-.04l64.65,64.08,44.38-44.78L141.62,10.15c-13.74-13.62-35.93-13.53-49.55.22L10.15,93.01c-13.62,13.74-13.53,35.93.22,49.55l188.55,186.89c5.86,5.81,15.33,5.77,21.14-.09l80.92-81.63-54.64-54.16Z"/> + </g> +</svg>
\ No newline at end of file diff --git a/static/oldStyle.css b/static/oldStyle.css deleted file mode 100644 index 73a4838..0000000 --- a/static/oldStyle.css +++ /dev/null @@ -1,348 +0,0 @@ -/*@import url('https://fonts.googleapis.com/css?family=Roboto');*/ - - -/* Standard elements */ -* { - box-sizing: border-box; -} - -html { - scroll-behavior: smooth; -} - -/* Header */ - -header { - padding: 30px; - text-align: center; - background: rgba(0,0,0,0.1); -} - -.header.sticky { - padding-bottom: 99px; -} - -#name { - font-weight: bold; - font-size: 250%; -} - -/* Navigation */ - -.nav.sticky { - display: inline-block; - position: fixed; - min-width: 100%; - top: 0; - left: 0; -} - -.action { - margin: 0; - padding: 0; - background-color: #333; -} - -.action ul { - display: flex; - justify-content: space-around; - list-style: none; - margin: 0; - padding: 0; -} - -.action ul li a { - margin: 0; - padding: 20px; - color: white; - text-decoration: none; - display: inline-block; -} - -.action ul li { - margin: 5px; - border-radius: 15px; -} - -.action ul li:hover { - background-color: #ddd; -} - -.action ul li a:hover { - color: #333; -} - -.action span { - display: none; -} - -#side-navigation { - padding: 20px; - flex: 25%; -} - -#side-nav-scroll-box { - margin: 10px 0; - padding: 5px; - border: 2px #333 solid; - border-radius: 6px; - background-color: rgba(0,0,0,0.1); -} - -::-webkit-scrollbar-track { - background: rgba(0,0,0,0.1); -} - -#outline-navigation { - max-height: 50vh; - overflow: auto; - margin: 0; - padding: 0 0 0 25px; -} - -#outline-navigation li { - margin: 10px; -} - -/* Main content containers */ - -#root-article { - flex: 75%; -} - -#main-wo-aside { - padding: 20px 20%; -} - -#main-w-aside { - display: flex; - flex-wrap: wrap; - padding: 20px 0; - padding-right: 20%; -} - -/* Body and standard tags */ - -body { - /*font-family: 'Roboto', sans-serif; - font-size: 100%;*/ - font-family: Arial, Helvetica, sans-serif; - margin: 0px; -} - -main h1 { - text-align: center; -} - -/* main h1, h2, h3, h4, h5, h6 { - font-family: 'Arial'; -} */ - -main p { - text-align: justify; -} - -main p a { - text-decoration: underline; -} - -main a { - color: black; - text-decoration: none; -} - -main ul { - padding-left: 20px; -} - -main img { - border-radius: 6px; - max-width: 100%; -} - -main figure { - margin: auto; - /*margin: 10px;*/ - border: 2px #333 solid; - border-radius: 6px; - padding: 20px 20px 5px 20px; - max-width: 50%; -} - -blockquote { - font-style: italic; -} - -/* Special classes */ - -.head-bar { - border: 2px black solid; -} - -.framed-article { - margin: 25px; - padding: 5px 25px; - border: 2px #333 solid; - border-radius: 6px; - max-width: 100%; -} - -.framed-article-half { - flex: 50%; - padding: 5px 25px; - border: 2px #333 solid; - border-radius: 6px; - max-width: 100%; -} - -.tile { - display: flex; - flex-wrap: wrap; - padding: 25px; -} - -.tile article { - flex: 40%; - max-width: auto; - padding: 0px 15px 0px 15px; - border: 2px gray solid; - border-radius: 6px; - margin: 5px; -} - -.tile figure { - flex: 40%; - max-width: auto; - padding: 15px; - border: 2px gray solid; - border-radius: 6px; - margin: 5px; -} - -/* Footer */ - -footer { - margin: 0; - padding: 5px; - text-align: center; - color: white; - background-color: #333; -} - -footer a { - color: rgb(189, 212, 255); - padding: 0; -} - -/* Figure resize at 1500px */ - -@media screen and -(max-width: 1500px) { - figure { - max-width: 60%; - } - .tile figure { - max-width: auto; - } -} - -/* Flex side nav to top of screen and resize figure */ - -@media screen and -(max-width: 1200px) { - header, #main-w-aside{ - flex-direction: column; - } - #main-w-aside, #main-wo-aside { - padding-left: 10%; - padding-right: 10%; - } - figure { - max-width: 70%; - } - .tile figure { - max-width: auto; - } -} - -/* Mobile View */ - -@media only screen -and (max-width: 510px) { - main figure { - max-width: 100%; - } - .tile { - flex-direction: column; - } - .tile article { - max-width: 100%; - } - .tile figure { - max-width: 100%; - } - #side-navigation { - padding: 20px 10%; - } - - main a { - text-decoration: none; - } - - .action { - position: fixed; - bottom: 25px; - left: 25px; - width: 50px; - height: 50px; - cursor: pointer; - background: #333; - border-radius: 50%; - box-shadow: 0 5px 5px rgba(0,0,0,0.1); - } - .action span { - position: relative; - width: 100%; - height: 100%; - display: flex; - justify-content: center; - align-items: center; - color: white; - font-size: 2em; - transition: 0.3s ease-in-out - } - .action.active span { - transform: rotate(135deg); - } - .action ul { - position: absolute; - bottom: 25px; - background: #333; - min-width: 150px; - padding: 0; - border-radius: 20px; - opacity: 0; - display: inline; - visibility: hidden; - transition: 0.3s; - } - .action.active ul { - bottom: 70px; - opacity: 1; - visibility: visible; - transition: 0.3s; - } - .action ul li { - list-style: none; - display: flex; - justify-content: center; - align-items: center; - border-radius: 15px; - padding: 0; - margin: 5px; - } - - #outline-navigation { - max-height: 25vh; - } -}
\ No newline at end of file diff --git a/static/style-revised.css b/static/style-revised.css new file mode 100644 index 0000000..34d3971 --- /dev/null +++ b/static/style-revised.css @@ -0,0 +1,277 @@ +@font-face { + font-family: 'DejaVu Sans'; + src: url('/static/fonts/dejavu-sans-fontfacekit/web fonts/dejavusans_regular_macroman/DejaVuSans-webfont.woff') format('woff'); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: 'DejaVu Sans'; + src: url('/static/fonts/dejavu-sans-fontfacekit/web fonts/dejavusans_bold_macroman/DejaVuSans-Bold-webfont.woff') format('woff'); + font-weight: bold; + font-style: normal; +} + +@font-face { + font-family: 'DejaVu Sans'; + src: url('/static/fonts/dejavu-sans-fontfacekit/web fonts/dejavusans_oblique_macroman/DejaVuSans-Oblique-webfont.woff') format('woff'); + font-weight: normal; + font-style: italic; +} + +@font-face { + font-family: 'DejaVu Sans'; + src: url('/static/fonts/dejavu-sans-fontfacekit/web fonts/dejavusans_boldoblique_macroman/DejaVuSans-BoldOblique-webfont.woff') format('woff'); + font-weight: bold; + font-style: italic; +} + +@font-face { + font-family: 'DejaVu Sans'; + src: url('/static/fonts/dejavu-sans-fontfacekit/web fonts/dejavusans_extralight_macroman/DejaVuSans-ExtraLight-webfont.woff') format('woff'); + font-weight: lighter; + font-style: normal; +} + +* { + box-sizing: border-box; +} + +html { + scroll-behavior: smooth; +} + +body { + margin: 0; + font-family: 'DejaVu Sans', 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; +} + +main { + padding: 1rem; + padding-top: 9.25rem; + max-width: 85rem; + margin-left: auto; + margin-right: auto; +} + +header { + position: fixed; + width: 100%; + display: flex; + align-items: center; + padding: 1rem; + background-color: white; +} + +.logo-w-name { + display: flex; +} + +.logo { + padding: .75rem; + height: 6.25rem; +} + +.name { + font-size: 3rem; + margin: auto 1rem; +} + +.main-nav-position { + display: flex; + justify-content: right; + flex-grow: 1; + padding-right: 2rem; + border-right: .5rem solid rgb(196, 196, 196); +} + +.main-nav { + display: flex; + gap: 2rem; + padding-top: .5rem; + padding-bottom: .5rem; +} + +.toggler, .hamburger { + display: none; +} + +.even-2-col-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 1rem; +} + +img { + max-width: 100%; +} + +.thumbnail img { + width: fit-content; + aspect-ratio: 16/9; + object-fit: cover; +} + +a { + text-decoration: none; + color: black; +} + +.footer-logo { + filter: invert(100%); + width: 2.75rem; + margin-left: .75rem; +} + +footer { + display: flex; + background-color: black; + padding: 1rem; + gap: 1rem; + align-items: center; +} + +address { + padding-left: 1rem; + display: flex; + gap: 2rem; +} + +footer * { + color: white; +} + +@media screen and (max-width: 45rem) { + nav { + display: none; + } + + header { + width: 100%; + } + + .even-2-col-grid { + grid-template-columns: 1fr; + } + + .toggler{ + /* ALWAYS KEEPING THE TOGGLER OR THE CHECKBOX ON TOP OF EVERYTHING : */ + visibility: visible; + display: block; + z-index: 4; + height: 60px; + width: 60px; + position: fixed; + top: 2.5rem; + right: 1rem; + cursor: pointer; + opacity: 0; + margin: 0; + } + + .hamburger{ + z-index: 3; + position: fixed; + top: 2.5rem; + right: 1rem; + height: 60px; + width: 60px; + padding: 5px; + /*border-bottom-left-radius: 8px; + background-color: var(--dark-transparent);*/ + + /* FOR DISPLAYING EVERY ELEMENT IN THE CENTER : */ + + display: flex; + align-items: center; + justify-content: center; + } + + /* CREATING THE MIDDLE LINE OF THE HAMBURGER : */ + + .hamburger > div{ + position: relative; + top: 0; + right: 0; + background: black; + height: 2px; + width: 60%; + transition: all 0.4s ease; + } + + /* CREATING THE TOP AND BOTTOM LINES : + TOP AT -10PX ABOVE THE MIDDLE ONE AND BOTTOM ONE IS 10PX BELOW THE MIDDLE: */ + + .hamburger > div::before, + .hamburger > div::after{ + content: ''; + position: absolute; + top: -10px; + background: black; + width: 100%; + height: 2px; + transition: all 0.4s ease; + } + + .hamburger > div::after{ + top: 10px; + } + + /* IF THE TOGGLER IS IN ITS CHECKED STATE, THEN SETTING THE BACKGROUND OF THE MIDDLE LAYER TO COMPLETE BLACK AND OPAQUE : */ + + .toggler:checked + .hamburger > div{ + background: rgba(0,0,0,0); /*Not bothering with var because one-off*/ + } + + .toggler:checked + .hamburger > div::before{ + top: 0; + transform: rotate(-45deg); + } + + /* AND ROTATING THE TOP AND BOTTOM LINES : */ + + .toggler:checked + .hamburger > div::after{ + top: 0; + transform: rotate(45deg); + } + + /* MAIN MENU WITH THE WHITE BACKGROUND AND THE TEXT : */ + + .main-nav { + + /* APPLYING TRANSITION TO THE MENU : */ + + display: flex; + flex-direction: column; + position: fixed; + top: 0; + right: 0; + z-index: 2; + background-color: white; + padding: 8rem 1rem 1rem 1rem; + + /* HIDDEN INITIALLY : */ + + visibility: hidden; + } + + .main-nav > a { + margin-top: 15px; + margin-bottom: 15px; + font-size: 34px; + } + + /* IF THE TOGGLER IS CHECKED, THEN INCREASE THE WIDTH OF THE MENU TO 30% , CREATING A SMOOTH EFFECT : */ + + .toggler:checked ~ .main-nav{ + visibility: visible; + animation: fadeIn 0.8s ease; + } + .toggler:checked ~ .bg-nav-block { + visibility: visible; + animation: fadeIn 0.8s ease; + } + .toggler:checked ~ .hamburger { + background-color: #00000000; + } + }
\ No newline at end of file |