From f50df507012169e903b55c2562225322cf6a4664 Mon Sep 17 00:00:00 2001 From: hugh5 Date: Sun, 21 Apr 2024 21:55:09 +1000 Subject: [PATCH] home page --- .gitignore | 2 +- _footer.html | 21 ++++++ _navbar.html | 7 ++ css/style.css | 179 ++++++++++++++++++++++++++++++++++++++++++++ images/email.png | Bin 0 -> 1083 bytes images/github.png | Bin 0 -> 11009 bytes images/linkedin.png | Bin 0 -> 8179 bytes index.html | 79 ++++++++++++++++--- js/script.js | 39 ++++++++++ 9 files changed, 317 insertions(+), 10 deletions(-) create mode 100644 _footer.html create mode 100644 _navbar.html create mode 100644 images/email.png create mode 100644 images/github.png create mode 100644 images/linkedin.png diff --git a/.gitignore b/.gitignore index a37273b..6bf14cb 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -files/ +files/ diff --git a/_footer.html b/_footer.html new file mode 100644 index 0000000..d8642d7 --- /dev/null +++ b/_footer.html @@ -0,0 +1,21 @@ +
+

© 2024 Hugh's Portfolio. All rights reserved.

+ +
+ + Email +
+
+ +
+ + GitHub +
+
+
+ + LinkedIn +
+
+
diff --git a/_navbar.html b/_navbar.html new file mode 100644 index 0000000..1839264 --- /dev/null +++ b/_navbar.html @@ -0,0 +1,7 @@ + diff --git a/css/style.css b/css/style.css index e69de29..8014ec0 100644 --- a/css/style.css +++ b/css/style.css @@ -0,0 +1,179 @@ + +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=Rubik+One&display=swap'); + + +:root { + --accent-color: #9B70ff; + --background-color: #141414; + --secondary-background-color: #525252; + --primary-text-color: #fff; + --secondary-text-color: #ccc; +} + + +html, body { + margin: 0; + padding: 0; + background-color: var(--background-color); + width: 100vw; + overflow-x: hidden; +} + +body { + font-family: 'Inter', sans-serif; + font-size: 16px; + line-height: 1.5; + color: #fff; + min-height: 100vh; + position: relative; +} + +header { + display: flex; + justify-content: center; + align-items: center; + margin-bottom: 80px; +} + +nav { + display: flex; + justify-content: space-between; + align-items: center; + padding: 5px 40px; + background-color: var(--secondary-background-color); + width: 700px; + position: fixed; + border-radius: 25px; + top: 20px; + z-index: 1000; +} + +nav a { + position: relative; + top: 2px; + font-size: 20px; + color: var(--secondary-text-color); + /* border-bottom: 3px solid transparent; */ + text-decoration: none; +} + +nav a:hover, nav a.active { + color: var(--primary-text-color); + /* border-bottom: 3px solid var(--accent-color); */ + box-shadow: 0 3px 0 var(--accent-color); +} + +footer { + position: absolute; + bottom: 0; + width: 100%; + display: flex; + justify-content: center; + align-items: center; + padding: 20px 0px; + background-color: var(--secondary-background-color); +} + +footer .row { + width: 800px; + justify-content: space-between; + overflow: auto; +} + +.social-icon { + width: 30px; + height: 30px; +} + +footer a { + text-decoration: none; + color: var(--primary-text-color); +} + +#page { + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 120px; +} + +h1 { + font-family: 'Rubik One', sans-serif; + font-weight: bold; + font-size: 80px; + text-transform: uppercase; + margin-top: 0; + margin-bottom: 0; +} + +h2 { + font-family: 'Inter', sans-serif; + font-weight: bold; + font-size: 40px; + text-transform: uppercase; + margin-top: 0; + margin-bottom: 0; + +} + +h3 { + font-family: 'Inter', sans-serif; + font-weight: bold; + font-size: 30px; + margin-top: 30px; + margin-bottom: 0; + margin-left: 30px; + align-self: flex-start; +} + +.row { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; +} + +.row>* { + margin: 0 20px; +} + +.column { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +#home { + max-width: 800px; +} + +/* Add your custom styles below */ +.hello { + display: flex; + flex-direction: column; +} + +.hello h1:nth-child(1) { + padding-left: 0; +} + +.hello h1:nth-child(2) { + padding-left: 80px; +} + +.hello h1:nth-child(3) { + padding-left: 160px; +} + +.helloimage { + border-radius: 50%; + width: 200px; + height: 200px; + object-fit: cover; + display: block; +} + +#experience { + max-width: 1000px; +} \ No newline at end of file diff --git a/images/email.png b/images/email.png new file mode 100644 index 0000000000000000000000000000000000000000..152f85691e9b6b464d45dfbea25d0988cc0fb94f GIT binary patch literal 1083 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGooCO|{#S9GG!XV7ZFl&wk0|WD0 zPZ!6KiaBrR-0T*07de)Gr@WV2idSz1r&1S(6pLt!4NJ%;0g*rKF76*4Iev=QoSiJu z)UofU(hije3WAO;3Q8SLLQ`}S%*v17{V2|LzBOq_-}YBw_g}sH{WsxW)vGz5Yq#(A zFAXjC?-y|5P;7w{M+_La8)^^mA6S2Y;cGg>kE2;-ThE_Y{ge10G|$wl;qrsseUgkh ztnZ$$+XZyPKAosPdk@UMGj*E8a^LvCNBQh*#o-Z*Y?J469*~JGYpP(VnQ^HhIq@TF zfy&e$n;WN3GFfFkYx1Fn^@ozVlk2&d{mk5i56X6LbNbX!WPkw z;#VK`&Hb8ud+r7|?)SWZ^nNvlGCua%vgppG*qhO(Rx+0AZk}Bfyr}g%)1LgV$64b= z4DR`8f3kd+@Sgt-`?J2r3T4Br6+3Ei;pNhNUmc7Sd zk!ji8m>{6PCTVx63r?QrfA2GQY5I**M!tMNCr^5FWlMdGgWr6n=k0fr&D?C{e(rwp z2&DS0hVL*(PyW}bo|xwiEDabuUHx3vIVCg!0IkRWA^-pY literal 0 HcmV?d00001 diff --git a/images/github.png b/images/github.png new file mode 100644 index 0000000000000000000000000000000000000000..2b5039c17e23c48133f30244b43bc01a968cb51c GIT binary patch literal 11009 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 literal 0 HcmV?d00001 diff --git a/images/linkedin.png b/images/linkedin.png new file mode 100644 index 0000000000000000000000000000000000000000..4c6ae53751c3865340f24985a9dd00befca08667 GIT binary patch literal 8179 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%0A8dZp zeP_wiS-P~@(JSF)b+G-ruSBu2Yp~AIV&A1;RSj)sl;7tE?bZ807}Ea&;oOoI6S+V7 z3LGr;On7s*D({2?f4o2vsUmMxy7qWUa-hWyjFP@D5ftP1*nHl77fD9ZIzS%OogI9_ z-mV8cUR;8st*(;pjG2X}gaa>M7|8@h8vwbV7RF3JoefV$BFgNaf{IG}jNx7KqySZl zDzTSdTO{S&T7o|IjPVy~lc{4KNMe*IHhLFU8$H&dMHhB^$?XD`R+ETPz#tI*G-45f zSM%qg%%foqD|%y#96{PXF-I}Bf*VT!rXsjkYDqS(RiLHj^p)5%Mmk98-FzPRj?g3( zKG~dVQJg&dRu!A9xJKbV3VbzUZ-qW~lPvNvr03S!^ZeNSP4f^A4J&a=2FCI37;R$` zWe?VfaCpzi)a4rvIfm_)C%sg|?AlKd2|3(DXaPQQ2p+?(9V6HjiOZ7qzypf;y1jmOT+pnQqu6x4Q(@=z>?J_KUu7 z(lH$FsBcUS6pbELMI|GM<4-UoLTo_lYlU&*R_sKZgUOyFqRlHXyEQy`-%^~W=JjY@ z4L@{W4n8RyAed$21~mg3cGkRy83B2?1WC=oS5<#T)aS+3*pE^U(_USvu^+qJWk5?8 z%I)*BkO72qI<@==ylc);30g~j99;_jwI6Q(FVlv5wQAcxH+&bZWQ}h1*i!x%>JR?` DFaB - - - - - Document - - - + + + + + + Hugh's Portfolio + + + + + +
+
+
+
+
+
+ Hugh +
+
+

Hello

+

I'm

+

Hugh

+
+
+

Introdction

+

+ I'm a passionate Mobile App Developer with a drive for + creativity and innovation. Here, you'll find a curated + collection of my work, showcasing my expertise, skills, + and dedication to excellence. +

+

+ I thrive on solving complex problems, exploring new + ideas, and creating meaningful experiences. With a + background in Computer Science, I bring a unique blend + of technical proficiency, strategic thinking, and a keen + eye for detail to every project I undertake. +

+

Career Objectives

+

+ I aim to drive innovation, deliver excellence, and solve + complex problems by collaborating effectively, + continuously learning and growing, and making meaningful + contributions to the field of mobile app development. +

+

+ I seek to collaborate with and learn from experienced + professionals in the field to continuously learn. With a + strong foundation in programming and a proactive + approach to skill development, my career objective is to + immerse myself in challenging projects and environments + where I can gain valuable insights, refine my technical + expertise, and contribute effectively to innovative + solutions. Through mentorship and collaboration with + seasoned industry veterans, I aspire to accelerate my + growth, broaden my skill set, and ultimately make + meaningful contributions to the advancement of + technology. +

+
+
+
+ + + diff --git a/js/script.js b/js/script.js index e69de29..b839b38 100644 --- a/js/script.js +++ b/js/script.js @@ -0,0 +1,39 @@ +function loadNav() { + // Load the navbar + $("header").load("_navbar.html", function () { + // Colour the active nav item + var path = window.location.pathname; + var page = path.split("/").pop(); + if (page == "" || page == "index.html") { + page = "/"; + } + $("nav a").each(function () { + var href = $(this).attr("href"); + if (page == href) { + $(this).addClass("active"); + } + }); + }); + + // Load the footer + $("footer").load("_footer.html"); + + // On scroll, hide/show the navbar + var lastScroll = 0; + $(window).scroll(function (event) { + var current = $(this).scrollTop(); + var scrollMax = window.document.body.scrollHeight - window.innerHeight; + if (current < 20 || (current < lastScroll && current < scrollMax)) { + // Scroll up, show the navbar + $("nav").show(150); + } else if (current > lastScroll) { + // Scroll down, hide the navbar + $("nav").hide(150); + } + lastScroll = current; + }); +} + +$(function () { + loadNav(); +});