diff --git a/src/public/css/fonts.css b/src/public/assets/css/fonts.css similarity index 96% rename from src/public/css/fonts.css rename to src/public/assets/css/fonts.css index 42d73fc..0fb4c95 100644 --- a/src/public/css/fonts.css +++ b/src/public/assets/css/fonts.css @@ -1,59 +1,59 @@ -/* roboto-regular - latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local(''), - url('../fonts/roboto-v29-latin-regular.woff2') format('woff2'), - /* Chrome 26+, Opera 23+, Firefox 39+ */ - url('../fonts/roboto-v29-latin-regular.woff') format('woff'); - /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ -} - -/* roboto-italic - latin */ -@font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 400; - src: local(''), - url('../fonts/roboto-v29-latin-italic.woff2') format('woff2'), - /* Chrome 26+, Opera 23+, Firefox 39+ */ - url('../fonts/roboto-v29-latin-italic.woff') format('woff'); - /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ -} - -/* roboto-700 - latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local(''), - url('../fonts/roboto-v29-latin-700.woff2') format('woff2'), - /* Chrome 26+, Opera 23+, Firefox 39+ */ - url('../fonts/roboto-v29-latin-700.woff') format('woff'); - /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ -} - -/* montserrat-regular - latin */ -@font-face { - font-family: 'Montserrat'; - font-style: normal; - font-weight: 400; - src: local(''), - url('../fonts/montserrat-v23-latin-regular.woff2') format('woff2'), - /* Chrome 26+, Opera 23+, Firefox 39+ */ - url('../fonts/montserrat-v23-latin-regular.woff') format('woff'); - /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ -} - -/* montserrat-700 - latin */ -@font-face { - font-family: 'Montserrat'; - font-style: normal; - font-weight: 700; - src: local(''), - url('../fonts/montserrat-v23-latin-700.woff2') format('woff2'), - /* Chrome 26+, Opera 23+, Firefox 39+ */ - url('../fonts/montserrat-v23-latin-700.woff') format('woff'); - /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +/* roboto-regular - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: local(''), + url('../fonts/roboto-v29-latin-regular.woff2') format('woff2'), + /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('../fonts/roboto-v29-latin-regular.woff') format('woff'); + /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* roboto-italic - latin */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 400; + src: local(''), + url('../fonts/roboto-v29-latin-italic.woff2') format('woff2'), + /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('../fonts/roboto-v29-latin-italic.woff') format('woff'); + /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* roboto-700 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + src: local(''), + url('../fonts/roboto-v29-latin-700.woff2') format('woff2'), + /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('../fonts/roboto-v29-latin-700.woff') format('woff'); + /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* montserrat-regular - latin */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 400; + src: local(''), + url('../fonts/montserrat-v23-latin-regular.woff2') format('woff2'), + /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('../fonts/montserrat-v23-latin-regular.woff') format('woff'); + /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* montserrat-700 - latin */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 700; + src: local(''), + url('../fonts/montserrat-v23-latin-700.woff2') format('woff2'), + /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('../fonts/montserrat-v23-latin-700.woff') format('woff'); + /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ } \ No newline at end of file diff --git a/src/public/css/styles.css b/src/public/assets/css/styles.css similarity index 93% rename from src/public/css/styles.css rename to src/public/assets/css/styles.css index d01c7e5..e9a0637 100644 --- a/src/public/css/styles.css +++ b/src/public/assets/css/styles.css @@ -1,440 +1,440 @@ -/* Global CSS Properties */ -:root { - --main: #00629b; - --accent: #ffcd00; - --secondary: #ffffff; - --dark: #2a1a4e; -} - -* { - scrollbar-width: auto; - scrollbar-color: var(--main) transparent; -} - -*::-webkit-scrollbar { - width: 0.6em; - height: 0.6em; -} - -*::-webkit-scrollbar-track { - background: var(--main); -} - -*::-webkit-scrollbar-thumb { - background-color: var(--secondary); -} - -html { - font-family: "Roboto", sans-serif; - font-weight: bold; -} - -body { - margin: 0; -} - -a { - text-decoration: none; - color: var(--main); -} - -a:hover { - text-decoration: underline; -} - -#root { - display: flex; - flex-direction: column; -} - -.topbar { - display: flex; - flex-direction: row; - justify-content: space-between; - color: var(--main); - background-color: var(--secondary); - padding: 0.5em; - align-items: center; -} - -.topbar.burger-bar { - flex-direction: column; - position: relative; -} - -.topbar.burger-bar>.img-cont { - align-self: flex-start; - display: flex; - justify-content: space-between; - width: 100%; - align-items: center; -} - -.img-cont img { - width: 22em; -} - -.burger { - font-size: 2.8em; - font-weight: normal; - user-select: none; - cursor: pointer; - margin-right: 0.3em; -} - -.link-items.burger-time { - flex-direction: column; - position: absolute; - background-color: var(--secondary); - width: 10em; - box-shadow: rgba(0, 0, 0, 0.3) 4px 4px 3px 0px; - right: 0; - margin-top: 0.36em; -} - -.link-items.burger-time>a { - margin: 0; - padding: 0.4em 0.75em; -} - -.link-items.burger-time>a:hover { - background-color: rgba(0, 0, 0, 0.1); -} - -.navlink { - font-size: 1.1em; - margin: 0.75em; -} - -.splash { - background-color: var(--main); - background-blend-mode: overlay; - border-radius: 0 0 50% 50% / 4rem; - background-position: center; - height: 35em; - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - background-repeat: no-repeat; - background-size: cover; -} - -.call-to-action { - font-size: 3.2em; - width: 11em; - color: var(--secondary); - text-align: center; - font-family: "Montserrat"; -} - -.splash-socials { - margin-top: 2em; -} - -.splash-socials>a { - margin-left: 1.5em; - margin-right: 1.5em; -} - -.splash-socials img { - width: 4.7em; -} - -.default-section { - display: flex; - align-items: center; - justify-content: center; - flex-direction: column; - color: var(--main); - background-color: var(--secondary); - padding-top: 2em; - padding-bottom: 2em; -} - -.section-title { - font-size: 3em; - margin-top: 0.8em; - margin-bottom: 0.8em; -} - -.default-section>p, -.project-space>p { - font-size: 1.8em; - width: 22em; - color: var(--dark); - text-align: center; -} - -.project-space>p { - color: var(--secondary); -} - -.default-section>p:first-child { - margin-top: 0; -} - -.project-space { - border-radius: 50% 50% 0 0 / 4rem; - background-color: var(--main); - background-blend-mode: overlay; - background-image: url("../img/backgrounds/ps.webp"); - height: 40em; - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - background-repeat: no-repeat; - background-size: cover; -} - -.project-space a { - color: var(--accent); -} - -.ps-title { - font-size: 3em; - color: white; - margin-bottom: 1em; -} - -.visit-us { - font-size: 2em; - margin-bottom: 2em; -} - -.ex-link { - color: var(--accent); - font-size: 2em; - margin-bottom: 2em; -} - -.involved { - border-radius: 50% 50% 0 0 / 4rem; - transform: translateY(-4rem); -} - -.cards { - display: flex; - justify-content: space-around; - flex-wrap: wrap; -} - -.involve-card { - padding: 1.75em 2.5em; - border: var(--main) solid 0.37em; - border-radius: 1.5em; - color: var(--main); - display: flex; - align-items: center; - justify-content: center; - flex-direction: column; - margin: 1em; -} - -.involve-title { - font-size: 3em; - color: var(--main); - margin-bottom: 0.5em; -} - -.involve-card>img { - width: 20em; - margin-bottom: 1em; - border-radius: 0.2em; -} - -.links { - font-size: 1.5em; -} - -.social-card { - display: flex; - align-items: center; - padding: 1em; - width: 25em; -} - -.social-card>img { - width: 4.7em; -} - -.social-message { - font-size: 2em; - padding: 0.5em; -} - -.join-scls, -.footer-scls { - display: flex; - flex-direction: row; - max-width: 55em; - justify-content: space-around; - flex-wrap: wrap; - margin-left: 5em; -} - -.carousel-item { - display: flex; - flex-direction: column; - align-items: center; - padding: 1.5em; - border: 0.35em solid var(--main); - border-radius: 1em; - margin: 1em; -} - -.carousel-item>img { - width: 18.7em; - border-radius: 0.2em; -} - -.carousel-name { - font-size: 2em; - padding-top: 0.25em; -} - -.carousel-pos { - font-style: italic; - font-weight: normal; - font-size: 1.25em; -} - -.carousel-email { - margin-top: 0.5em; -} - -.carousel-page { - display: flex; - flex-wrap: wrap; - justify-content: center; -} - -.carousel { - display: flex; - align-items: center; - justify-content: center; -} - -.carousel-left { - margin-left: 2em; - transform: scaleX(-1); -} - -.carousel-right, -.carousel-left { - cursor: pointer; - width: 4em; -} - -.carousel-right { - margin-right: 2em; -} - -.contact { - border-radius: 0 0 50% 50% / 4rem; - transform: translateY(4rem); -} - -.footer { - background-color: var(--main); - padding-top: 7em; - display: flex; - justify-content: space-between; - align-items: start; - padding-left: 2em; - padding-right: 2em; -} - -.footer a { - color: white; -} - -.footer-scls { - max-width: 30em; - font-size: 0.6em; - margin-bottom: 2em; -} - -.footer-scls img { - width: 4.7em; -} - -.footer>img { - width: 30em; -} - -/* Responsive queries go here */ -@media screen and (max-width: 700px) { - html { - font-size: 0.85em; - } -} - -@media screen and (max-width: 650px) { - html { - font-size: 0.8em; - } - - .footer>img { - width: 15em; - } -} - -@media screen and (max-width: 540px) { - html { - font-size: 0.6em; - } - - .footer>img { - display: none; - } -} - -@media screen and (max-width: 420px) { - html { - font-size: 0.5em; - } -} - -@media screen and (max-width: 320px) { - html { - font-size: 0.45em; - } -} - -#cal { - border: solid 1px #777; - width: 800px; - height: 600px; -} - -#calendar { - display: flex; - align-items: center; - justify-content: center; - flex-direction: column; - color: var(--main); - padding-top: 2em; - padding-bottom: 2em; -} - -iframe { - width: 80vw; - height: 600px; - max-width: 1000px; -} - -.project-desc { - display: flex; - justify-content: center; - column-gap: 10em; - vertical-align: middle; - flex-wrap: wrap; -} - -.project-desc img { - width: 30em; - padding-top: 3em; - padding-bottom: 3em; +/* Global CSS Properties */ +:root { + --main: #00629b; + --accent: #ffcd00; + --secondary: #ffffff; + --dark: #2a1a4e; +} + +* { + scrollbar-width: auto; + scrollbar-color: var(--main) transparent; +} + +*::-webkit-scrollbar { + width: 0.6em; + height: 0.6em; +} + +*::-webkit-scrollbar-track { + background: var(--main); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--secondary); +} + +html { + font-family: "Roboto", sans-serif; + font-weight: bold; +} + +body { + margin: 0; +} + +a { + text-decoration: none; + color: var(--main); +} + +a:hover { + text-decoration: underline; +} + +#root { + display: flex; + flex-direction: column; +} + +.topbar { + display: flex; + flex-direction: row; + justify-content: space-between; + color: var(--main); + background-color: var(--secondary); + padding: 0.5em; + align-items: center; +} + +.topbar.burger-bar { + flex-direction: column; + position: relative; +} + +.topbar.burger-bar>.img-cont { + align-self: flex-start; + display: flex; + justify-content: space-between; + width: 100%; + align-items: center; +} + +.img-cont img { + width: 22em; +} + +.burger { + font-size: 2.8em; + font-weight: normal; + user-select: none; + cursor: pointer; + margin-right: 0.3em; +} + +.link-items.burger-time { + flex-direction: column; + position: absolute; + background-color: var(--secondary); + width: 10em; + box-shadow: rgba(0, 0, 0, 0.3) 4px 4px 3px 0px; + right: 0; + margin-top: 0.36em; +} + +.link-items.burger-time>a { + margin: 0; + padding: 0.4em 0.75em; +} + +.link-items.burger-time>a:hover { + background-color: rgba(0, 0, 0, 0.1); +} + +.navlink { + font-size: 1.1em; + margin: 0.75em; +} + +.splash { + background-color: var(--main); + background-blend-mode: overlay; + border-radius: 0 0 50% 50% / 4rem; + background-position: center; + height: 35em; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + background-repeat: no-repeat; + background-size: cover; +} + +.call-to-action { + font-size: 3.2em; + width: 11em; + color: var(--secondary); + text-align: center; + font-family: "Montserrat"; +} + +.splash-socials { + margin-top: 2em; +} + +.splash-socials>a { + margin-left: 1.5em; + margin-right: 1.5em; +} + +.splash-socials img { + width: 4.7em; +} + +.default-section { + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + color: var(--main); + background-color: var(--secondary); + padding-top: 2em; + padding-bottom: 2em; +} + +.section-title { + font-size: 3em; + margin-top: 0.8em; + margin-bottom: 0.8em; +} + +.default-section>p, +.project-space>p { + font-size: 1.8em; + width: 22em; + color: var(--dark); + text-align: center; +} + +.project-space>p { + color: var(--secondary); +} + +.default-section>p:first-child { + margin-top: 0; +} + +.project-space { + border-radius: 50% 50% 0 0 / 4rem; + background-color: var(--main); + background-blend-mode: overlay; + background-image: url("../img/backgrounds/ps.webp"); + height: 40em; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + background-repeat: no-repeat; + background-size: cover; +} + +.project-space a { + color: var(--accent); +} + +.ps-title { + font-size: 3em; + color: white; + margin-bottom: 1em; +} + +.visit-us { + font-size: 2em; + margin-bottom: 2em; +} + +.ex-link { + color: var(--accent); + font-size: 2em; + margin-bottom: 2em; +} + +.involved { + border-radius: 50% 50% 0 0 / 4rem; + transform: translateY(-4rem); +} + +.cards { + display: flex; + justify-content: space-around; + flex-wrap: wrap; +} + +.involve-card { + padding: 1.75em 2.5em; + border: var(--main) solid 0.37em; + border-radius: 1.5em; + color: var(--main); + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + margin: 1em; +} + +.involve-title { + font-size: 3em; + color: var(--main); + margin-bottom: 0.5em; +} + +.involve-card>img { + width: 20em; + margin-bottom: 1em; + border-radius: 0.2em; +} + +.links { + font-size: 1.5em; +} + +.social-card { + display: flex; + align-items: center; + padding: 1em; + width: 25em; +} + +.social-card>img { + width: 4.7em; +} + +.social-message { + font-size: 2em; + padding: 0.5em; +} + +.join-scls, +.footer-scls { + display: flex; + flex-direction: row; + max-width: 55em; + justify-content: space-around; + flex-wrap: wrap; + margin-left: 5em; +} + +.carousel-item { + display: flex; + flex-direction: column; + align-items: center; + padding: 1.5em; + border: 0.35em solid var(--main); + border-radius: 1em; + margin: 1em; +} + +.carousel-item>img { + width: 18.7em; + border-radius: 0.2em; +} + +.carousel-name { + font-size: 2em; + padding-top: 0.25em; +} + +.carousel-pos { + font-style: italic; + font-weight: normal; + font-size: 1.25em; +} + +.carousel-email { + margin-top: 0.5em; +} + +.carousel-page { + display: flex; + flex-wrap: wrap; + justify-content: center; +} + +.carousel { + display: flex; + align-items: center; + justify-content: center; +} + +.carousel-left { + margin-left: 2em; + transform: scaleX(-1); +} + +.carousel-right, +.carousel-left { + cursor: pointer; + width: 4em; +} + +.carousel-right { + margin-right: 2em; +} + +.contact { + border-radius: 0 0 50% 50% / 4rem; + transform: translateY(4rem); +} + +.footer { + background-color: var(--main); + padding-top: 7em; + display: flex; + justify-content: space-between; + align-items: start; + padding-left: 2em; + padding-right: 2em; +} + +.footer a { + color: white; +} + +.footer-scls { + max-width: 30em; + font-size: 0.6em; + margin-bottom: 2em; +} + +.footer-scls img { + width: 4.7em; +} + +.footer>img { + width: 30em; +} + +/* Responsive queries go here */ +@media screen and (max-width: 700px) { + html { + font-size: 0.85em; + } +} + +@media screen and (max-width: 650px) { + html { + font-size: 0.8em; + } + + .footer>img { + width: 15em; + } +} + +@media screen and (max-width: 540px) { + html { + font-size: 0.6em; + } + + .footer>img { + display: none; + } +} + +@media screen and (max-width: 420px) { + html { + font-size: 0.5em; + } +} + +@media screen and (max-width: 320px) { + html { + font-size: 0.45em; + } +} + +#cal { + border: solid 1px #777; + width: 800px; + height: 600px; +} + +#calendar { + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + color: var(--main); + padding-top: 2em; + padding-bottom: 2em; +} + +iframe { + width: 80vw; + height: 600px; + max-width: 1000px; +} + +.project-desc { + display: flex; + justify-content: center; + column-gap: 10em; + vertical-align: middle; + flex-wrap: wrap; +} + +.project-desc img { + width: 30em; + padding-top: 3em; + padding-bottom: 3em; } \ No newline at end of file diff --git a/src/public/fonts/montserrat-v23-latin-700.woff b/src/public/assets/fonts/montserrat-v23-latin-700.woff similarity index 100% rename from src/public/fonts/montserrat-v23-latin-700.woff rename to src/public/assets/fonts/montserrat-v23-latin-700.woff diff --git a/src/public/fonts/montserrat-v23-latin-700.woff2 b/src/public/assets/fonts/montserrat-v23-latin-700.woff2 similarity index 100% rename from src/public/fonts/montserrat-v23-latin-700.woff2 rename to src/public/assets/fonts/montserrat-v23-latin-700.woff2 diff --git a/src/public/fonts/montserrat-v23-latin-regular.woff b/src/public/assets/fonts/montserrat-v23-latin-regular.woff similarity index 100% rename from src/public/fonts/montserrat-v23-latin-regular.woff rename to src/public/assets/fonts/montserrat-v23-latin-regular.woff diff --git a/src/public/fonts/montserrat-v23-latin-regular.woff2 b/src/public/assets/fonts/montserrat-v23-latin-regular.woff2 similarity index 100% rename from src/public/fonts/montserrat-v23-latin-regular.woff2 rename to src/public/assets/fonts/montserrat-v23-latin-regular.woff2 diff --git a/src/public/fonts/roboto-v29-latin-700.woff b/src/public/assets/fonts/roboto-v29-latin-700.woff similarity index 100% rename from src/public/fonts/roboto-v29-latin-700.woff rename to src/public/assets/fonts/roboto-v29-latin-700.woff diff --git a/src/public/fonts/roboto-v29-latin-700.woff2 b/src/public/assets/fonts/roboto-v29-latin-700.woff2 similarity index 100% rename from src/public/fonts/roboto-v29-latin-700.woff2 rename to src/public/assets/fonts/roboto-v29-latin-700.woff2 diff --git a/src/public/fonts/roboto-v29-latin-italic.woff b/src/public/assets/fonts/roboto-v29-latin-italic.woff similarity index 100% rename from src/public/fonts/roboto-v29-latin-italic.woff rename to src/public/assets/fonts/roboto-v29-latin-italic.woff diff --git a/src/public/fonts/roboto-v29-latin-italic.woff2 b/src/public/assets/fonts/roboto-v29-latin-italic.woff2 similarity index 100% rename from src/public/fonts/roboto-v29-latin-italic.woff2 rename to src/public/assets/fonts/roboto-v29-latin-italic.woff2 diff --git a/src/public/fonts/roboto-v29-latin-regular.woff b/src/public/assets/fonts/roboto-v29-latin-regular.woff similarity index 100% rename from src/public/fonts/roboto-v29-latin-regular.woff rename to src/public/assets/fonts/roboto-v29-latin-regular.woff diff --git a/src/public/fonts/roboto-v29-latin-regular.woff2 b/src/public/assets/fonts/roboto-v29-latin-regular.woff2 similarity index 100% rename from src/public/fonts/roboto-v29-latin-regular.woff2 rename to src/public/assets/fonts/roboto-v29-latin-regular.woff2 diff --git a/src/public/img/.DS_Store b/src/public/assets/img/.DS_Store similarity index 100% rename from src/public/img/.DS_Store rename to src/public/assets/img/.DS_Store diff --git a/src/public/img/arrow.svg b/src/public/assets/img/arrow.svg similarity index 100% rename from src/public/img/arrow.svg rename to src/public/assets/img/arrow.svg diff --git a/src/public/img/backgrounds/committee.webp b/src/public/assets/img/backgrounds/committee.webp similarity index 100% rename from src/public/img/backgrounds/committee.webp rename to src/public/assets/img/backgrounds/committee.webp diff --git a/src/public/img/backgrounds/fa21qp.webp b/src/public/assets/img/backgrounds/fa21qp.webp similarity index 100% rename from src/public/img/backgrounds/fa21qp.webp rename to src/public/assets/img/backgrounds/fa21qp.webp diff --git a/src/public/img/backgrounds/fa21social.webp b/src/public/assets/img/backgrounds/fa21social.webp similarity index 100% rename from src/public/img/backgrounds/fa21social.webp rename to src/public/assets/img/backgrounds/fa21social.webp diff --git a/src/public/img/backgrounds/gbm.webp b/src/public/assets/img/backgrounds/gbm.webp similarity index 100% rename from src/public/img/backgrounds/gbm.webp rename to src/public/assets/img/backgrounds/gbm.webp diff --git a/src/public/img/backgrounds/micromouse.webp b/src/public/assets/img/backgrounds/micromouse.webp similarity index 100% rename from src/public/img/backgrounds/micromouse.webp rename to src/public/assets/img/backgrounds/micromouse.webp diff --git a/src/public/img/backgrounds/ps.webp b/src/public/assets/img/backgrounds/ps.webp similarity index 100% rename from src/public/img/backgrounds/ps.webp rename to src/public/assets/img/backgrounds/ps.webp diff --git a/src/public/img/backgrounds/robocar.webp b/src/public/assets/img/backgrounds/robocar.webp similarity index 100% rename from src/public/img/backgrounds/robocar.webp rename to src/public/assets/img/backgrounds/robocar.webp diff --git a/src/public/img/backgrounds/robofest.webp b/src/public/assets/img/backgrounds/robofest.webp similarity index 100% rename from src/public/img/backgrounds/robofest.webp rename to src/public/assets/img/backgrounds/robofest.webp diff --git a/src/public/img/backgrounds/sp22qp.webp b/src/public/assets/img/backgrounds/sp22qp.webp similarity index 100% rename from src/public/img/backgrounds/sp22qp.webp rename to src/public/assets/img/backgrounds/sp22qp.webp diff --git a/src/public/img/committees/outreach.webp b/src/public/assets/img/committees/outreach.webp similarity index 100% rename from src/public/img/committees/outreach.webp rename to src/public/assets/img/committees/outreach.webp diff --git a/src/public/img/committees/pr.webp b/src/public/assets/img/committees/pr.webp similarity index 100% rename from src/public/img/committees/pr.webp rename to src/public/assets/img/committees/pr.webp diff --git a/src/public/img/committees/professional.webp b/src/public/assets/img/committees/professional.webp similarity index 100% rename from src/public/img/committees/professional.webp rename to src/public/assets/img/committees/professional.webp diff --git a/src/public/img/committees/social.webp b/src/public/assets/img/committees/social.webp similarity index 100% rename from src/public/img/committees/social.webp rename to src/public/assets/img/committees/social.webp diff --git a/src/public/img/committees/technical.webp b/src/public/assets/img/committees/technical.webp similarity index 100% rename from src/public/img/committees/technical.webp rename to src/public/assets/img/committees/technical.webp diff --git a/src/public/img/disc.svg b/src/public/assets/img/disc.svg similarity index 100% rename from src/public/img/disc.svg rename to src/public/assets/img/disc.svg diff --git a/src/public/img/disc_white.svg b/src/public/assets/img/disc_white.svg similarity index 100% rename from src/public/img/disc_white.svg rename to src/public/assets/img/disc_white.svg diff --git a/src/public/img/email.svg b/src/public/assets/img/email.svg similarity index 100% rename from src/public/img/email.svg rename to src/public/assets/img/email.svg diff --git a/src/public/img/email_white.svg b/src/public/assets/img/email_white.svg similarity index 100% rename from src/public/img/email_white.svg rename to src/public/assets/img/email_white.svg diff --git a/src/public/img/fab.svg b/src/public/assets/img/fab.svg similarity index 100% rename from src/public/img/fab.svg rename to src/public/assets/img/fab.svg diff --git a/src/public/img/fab_white.svg b/src/public/assets/img/fab_white.svg similarity index 100% rename from src/public/img/fab_white.svg rename to src/public/assets/img/fab_white.svg diff --git a/src/public/img/inst.svg b/src/public/assets/img/inst.svg similarity index 100% rename from src/public/img/inst.svg rename to src/public/assets/img/inst.svg diff --git a/src/public/img/inst_white.svg b/src/public/assets/img/inst_white.svg similarity index 100% rename from src/public/img/inst_white.svg rename to src/public/assets/img/inst_white.svg diff --git a/src/public/img/logo.svg b/src/public/assets/img/logo.svg similarity index 100% rename from src/public/img/logo.svg rename to src/public/assets/img/logo.svg diff --git a/src/public/img/logo_white.svg b/src/public/assets/img/logo_white.svg similarity index 100% rename from src/public/img/logo_white.svg rename to src/public/assets/img/logo_white.svg diff --git a/src/public/img/officers/.DS_Store b/src/public/assets/img/officers/.DS_Store similarity index 100% rename from src/public/img/officers/.DS_Store rename to src/public/assets/img/officers/.DS_Store diff --git a/src/public/img/officers/abby.jpg b/src/public/assets/img/officers/abby.jpg similarity index 100% rename from src/public/img/officers/abby.jpg rename to src/public/assets/img/officers/abby.jpg diff --git a/src/public/img/officers/arjun.jpg b/src/public/assets/img/officers/arjun.jpg similarity index 100% rename from src/public/img/officers/arjun.jpg rename to src/public/assets/img/officers/arjun.jpg diff --git a/src/public/img/officers/brigette.jpg b/src/public/assets/img/officers/brigette.jpg similarity index 100% rename from src/public/img/officers/brigette.jpg rename to src/public/assets/img/officers/brigette.jpg diff --git a/src/public/img/officers/daniel.jpg b/src/public/assets/img/officers/daniel.jpg similarity index 100% rename from src/public/img/officers/daniel.jpg rename to src/public/assets/img/officers/daniel.jpg diff --git a/src/public/img/officers/darin.jpg b/src/public/assets/img/officers/darin.jpg similarity index 100% rename from src/public/img/officers/darin.jpg rename to src/public/assets/img/officers/darin.jpg diff --git a/src/public/img/officers/dennis.jpg b/src/public/assets/img/officers/dennis.jpg similarity index 100% rename from src/public/img/officers/dennis.jpg rename to src/public/assets/img/officers/dennis.jpg diff --git a/src/public/img/officers/derek.jpg b/src/public/assets/img/officers/derek.jpg similarity index 100% rename from src/public/img/officers/derek.jpg rename to src/public/assets/img/officers/derek.jpg diff --git a/src/public/img/officers/jason.jpg b/src/public/assets/img/officers/jason.jpg similarity index 100% rename from src/public/img/officers/jason.jpg rename to src/public/assets/img/officers/jason.jpg diff --git a/src/public/img/officers/jiliana.jpg b/src/public/assets/img/officers/jiliana.jpg similarity index 100% rename from src/public/img/officers/jiliana.jpg rename to src/public/assets/img/officers/jiliana.jpg diff --git a/src/public/img/officers/josh.jpg b/src/public/assets/img/officers/josh.jpg similarity index 100% rename from src/public/img/officers/josh.jpg rename to src/public/assets/img/officers/josh.jpg diff --git a/src/public/img/officers/kevin.jpg b/src/public/assets/img/officers/kevin.jpg similarity index 100% rename from src/public/img/officers/kevin.jpg rename to src/public/assets/img/officers/kevin.jpg diff --git a/src/public/img/officers/matthew.jpg b/src/public/assets/img/officers/matthew.jpg similarity index 100% rename from src/public/img/officers/matthew.jpg rename to src/public/assets/img/officers/matthew.jpg diff --git a/src/public/img/officers/mohak.jpg b/src/public/assets/img/officers/mohak.jpg similarity index 100% rename from src/public/img/officers/mohak.jpg rename to src/public/assets/img/officers/mohak.jpg diff --git a/src/public/img/officers/niklas.jpg b/src/public/assets/img/officers/niklas.jpg similarity index 100% rename from src/public/img/officers/niklas.jpg rename to src/public/assets/img/officers/niklas.jpg diff --git a/src/public/img/officers/parisa.jpg b/src/public/assets/img/officers/parisa.jpg similarity index 100% rename from src/public/img/officers/parisa.jpg rename to src/public/assets/img/officers/parisa.jpg diff --git a/src/public/img/officers/rafaella.jpg b/src/public/assets/img/officers/rafaella.jpg similarity index 100% rename from src/public/img/officers/rafaella.jpg rename to src/public/assets/img/officers/rafaella.jpg diff --git a/src/public/img/officers/raymond.jpg b/src/public/assets/img/officers/raymond.jpg similarity index 100% rename from src/public/img/officers/raymond.jpg rename to src/public/assets/img/officers/raymond.jpg diff --git a/src/public/img/officers/sanh.jpg b/src/public/assets/img/officers/sanh.jpg similarity index 100% rename from src/public/img/officers/sanh.jpg rename to src/public/assets/img/officers/sanh.jpg diff --git a/src/public/img/officers/sankalp.jpg b/src/public/assets/img/officers/sankalp.jpg similarity index 100% rename from src/public/img/officers/sankalp.jpg rename to src/public/assets/img/officers/sankalp.jpg diff --git a/src/public/img/officers/shaun.jpg b/src/public/assets/img/officers/shaun.jpg similarity index 100% rename from src/public/img/officers/shaun.jpg rename to src/public/assets/img/officers/shaun.jpg diff --git a/src/public/img/officers/stephanie.jpg b/src/public/assets/img/officers/stephanie.jpg similarity index 100% rename from src/public/img/officers/stephanie.jpg rename to src/public/assets/img/officers/stephanie.jpg diff --git a/src/public/img/officers/tasnia.jpg b/src/public/assets/img/officers/tasnia.jpg similarity index 100% rename from src/public/img/officers/tasnia.jpg rename to src/public/assets/img/officers/tasnia.jpg diff --git a/src/public/img/officers/temp.png b/src/public/assets/img/officers/temp.png similarity index 100% rename from src/public/img/officers/temp.png rename to src/public/assets/img/officers/temp.png diff --git a/src/public/img/officers/tien.jpg b/src/public/assets/img/officers/tien.jpg similarity index 100% rename from src/public/img/officers/tien.jpg rename to src/public/assets/img/officers/tien.jpg diff --git a/src/public/img/officers/vuong.jpg b/src/public/assets/img/officers/vuong.jpg similarity index 100% rename from src/public/img/officers/vuong.jpg rename to src/public/assets/img/officers/vuong.jpg diff --git a/src/public/img/officers/yash.jpg b/src/public/assets/img/officers/yash.jpg similarity index 100% rename from src/public/img/officers/yash.jpg rename to src/public/assets/img/officers/yash.jpg diff --git a/src/public/img/officers/yusuf.jpg b/src/public/assets/img/officers/yusuf.jpg similarity index 100% rename from src/public/img/officers/yusuf.jpg rename to src/public/assets/img/officers/yusuf.jpg diff --git a/src/public/img/favicon.ico b/src/public/favicon.ico similarity index 100% rename from src/public/img/favicon.ico rename to src/public/favicon.ico diff --git a/src/util/index.ts b/src/util/index.ts index bffd60b..cef6181 100644 --- a/src/util/index.ts +++ b/src/util/index.ts @@ -11,6 +11,7 @@ interface Website { jsfile: string; cssfile: string; themecolor: string; + path?: string; } const APP = express(); @@ -23,32 +24,33 @@ const WEBSITES = [ sitename: "index", title: "IEEE at UCSD", description: "", - jsfile: "js/index.js", - cssfile: "css/styles.css", + jsfile: "assets/js/index.js", + cssfile: "assets/css/styles.css", themecolor: "", + path: "/", }, { sitename: "events", title: "IEEE at UCSD", description: "", - jsfile: "js/events.js", - cssfile: "css/styles.css", + jsfile: "assets/js/events.js", + cssfile: "assets/css/styles.css", themecolor: "", }, { sitename: "projects", title: "IEEE at UCSD", description: "", - jsfile: "js/projects.js", - cssfile: "css/styles.css", + jsfile: "assets/js/projects.js", + cssfile: "assets/css/styles.css", themecolor: "", }, { sitename: "committees", title: "IEEE at UCSD", description: "", - jsfile: "js/committees.js", - cssfile: "css/styles.css", + jsfile: "assets/js/committees.js", + cssfile: "assets/css/styles.css", themecolor: "", }, ] as Website[]; @@ -106,8 +108,19 @@ function generateFilePages() { let site: Website; for (site of WEBSITES) { const html = generatePage(site.sitename); + fs.mkdirSync( + path.join(__dirname, "../public/", site.path ?? site.sitename), + { + recursive: true, + } + ); fs.writeFileSync( - path.join(__dirname, "../public/", `${site.sitename}.html`), + path.join( + __dirname, + "../public/", + site.path ?? site.sitename, + "/index.html" + ), html ); } diff --git a/src/util/template.html b/src/util/template.html index 9b165eb..d3cd658 100644 --- a/src/util/template.html +++ b/src/util/template.html @@ -2,10 +2,9 @@ - - + - + diff --git a/webpack.config.js b/webpack.config.js index 1ba3bc5..f486e11 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -6,7 +6,7 @@ module.exports = { entry: loadEntries("./src/public"), output: { path: path.resolve(__dirname, "build/public"), - filename: "./js/[name].js", + filename: "./assets/js/[name].js", }, mode: "production", module: { @@ -32,19 +32,11 @@ module.exports = { new CopyPlugin({ patterns: [ { - // Copy utility files - from: "./src/util", - to: "../util", - globOptions: { - ignore: ["**/*.ts", "**/*.tsx"], - }, - }, - { - // Copy public files - from: "./src/public", - to: "./", - globOptions: { - ignore: ["**/*.ts", "**/*.tsx"], + // Copy non-ts, non-tsx files + from: "./src", + to: "../", + filter: (resourcePath) => { + return !resourcePath.match(/\.(tsx|ts)?$/); }, }, ],