reorganize file structure for firebase

This commit is contained in:
Raymond Wang 2022-10-25 11:54:07 -07:00
parent 972064a710
commit 0e48bf7c31
70 changed files with 527 additions and 523 deletions

View file

@ -1,59 +1,59 @@
/* roboto-regular - latin */ /* roboto-regular - latin */
@font-face { @font-face {
font-family: 'Roboto'; font-family: 'Roboto';
font-style: normal; font-style: normal;
font-weight: 400; font-weight: 400;
src: local(''), src: local(''),
url('../fonts/roboto-v29-latin-regular.woff2') format('woff2'), url('../fonts/roboto-v29-latin-regular.woff2') format('woff2'),
/* Chrome 26+, Opera 23+, Firefox 39+ */ /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/roboto-v29-latin-regular.woff') format('woff'); url('../fonts/roboto-v29-latin-regular.woff') format('woff');
/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
} }
/* roboto-italic - latin */ /* roboto-italic - latin */
@font-face { @font-face {
font-family: 'Roboto'; font-family: 'Roboto';
font-style: italic; font-style: italic;
font-weight: 400; font-weight: 400;
src: local(''), src: local(''),
url('../fonts/roboto-v29-latin-italic.woff2') format('woff2'), url('../fonts/roboto-v29-latin-italic.woff2') format('woff2'),
/* Chrome 26+, Opera 23+, Firefox 39+ */ /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/roboto-v29-latin-italic.woff') format('woff'); url('../fonts/roboto-v29-latin-italic.woff') format('woff');
/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
} }
/* roboto-700 - latin */ /* roboto-700 - latin */
@font-face { @font-face {
font-family: 'Roboto'; font-family: 'Roboto';
font-style: normal; font-style: normal;
font-weight: 700; font-weight: 700;
src: local(''), src: local(''),
url('../fonts/roboto-v29-latin-700.woff2') format('woff2'), url('../fonts/roboto-v29-latin-700.woff2') format('woff2'),
/* Chrome 26+, Opera 23+, Firefox 39+ */ /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/roboto-v29-latin-700.woff') format('woff'); url('../fonts/roboto-v29-latin-700.woff') format('woff');
/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
} }
/* montserrat-regular - latin */ /* montserrat-regular - latin */
@font-face { @font-face {
font-family: 'Montserrat'; font-family: 'Montserrat';
font-style: normal; font-style: normal;
font-weight: 400; font-weight: 400;
src: local(''), src: local(''),
url('../fonts/montserrat-v23-latin-regular.woff2') format('woff2'), url('../fonts/montserrat-v23-latin-regular.woff2') format('woff2'),
/* Chrome 26+, Opera 23+, Firefox 39+ */ /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/montserrat-v23-latin-regular.woff') format('woff'); url('../fonts/montserrat-v23-latin-regular.woff') format('woff');
/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
} }
/* montserrat-700 - latin */ /* montserrat-700 - latin */
@font-face { @font-face {
font-family: 'Montserrat'; font-family: 'Montserrat';
font-style: normal; font-style: normal;
font-weight: 700; font-weight: 700;
src: local(''), src: local(''),
url('../fonts/montserrat-v23-latin-700.woff2') format('woff2'), url('../fonts/montserrat-v23-latin-700.woff2') format('woff2'),
/* Chrome 26+, Opera 23+, Firefox 39+ */ /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/montserrat-v23-latin-700.woff') format('woff'); url('../fonts/montserrat-v23-latin-700.woff') format('woff');
/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
} }

View file

@ -1,440 +1,440 @@
/* Global CSS Properties */ /* Global CSS Properties */
:root { :root {
--main: #00629b; --main: #00629b;
--accent: #ffcd00; --accent: #ffcd00;
--secondary: #ffffff; --secondary: #ffffff;
--dark: #2a1a4e; --dark: #2a1a4e;
} }
* { * {
scrollbar-width: auto; scrollbar-width: auto;
scrollbar-color: var(--main) transparent; scrollbar-color: var(--main) transparent;
} }
*::-webkit-scrollbar { *::-webkit-scrollbar {
width: 0.6em; width: 0.6em;
height: 0.6em; height: 0.6em;
} }
*::-webkit-scrollbar-track { *::-webkit-scrollbar-track {
background: var(--main); background: var(--main);
} }
*::-webkit-scrollbar-thumb { *::-webkit-scrollbar-thumb {
background-color: var(--secondary); background-color: var(--secondary);
} }
html { html {
font-family: "Roboto", sans-serif; font-family: "Roboto", sans-serif;
font-weight: bold; font-weight: bold;
} }
body { body {
margin: 0; margin: 0;
} }
a { a {
text-decoration: none; text-decoration: none;
color: var(--main); color: var(--main);
} }
a:hover { a:hover {
text-decoration: underline; text-decoration: underline;
} }
#root { #root {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
} }
.topbar { .topbar {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
justify-content: space-between; justify-content: space-between;
color: var(--main); color: var(--main);
background-color: var(--secondary); background-color: var(--secondary);
padding: 0.5em; padding: 0.5em;
align-items: center; align-items: center;
} }
.topbar.burger-bar { .topbar.burger-bar {
flex-direction: column; flex-direction: column;
position: relative; position: relative;
} }
.topbar.burger-bar>.img-cont { .topbar.burger-bar>.img-cont {
align-self: flex-start; align-self: flex-start;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
width: 100%; width: 100%;
align-items: center; align-items: center;
} }
.img-cont img { .img-cont img {
width: 22em; width: 22em;
} }
.burger { .burger {
font-size: 2.8em; font-size: 2.8em;
font-weight: normal; font-weight: normal;
user-select: none; user-select: none;
cursor: pointer; cursor: pointer;
margin-right: 0.3em; margin-right: 0.3em;
} }
.link-items.burger-time { .link-items.burger-time {
flex-direction: column; flex-direction: column;
position: absolute; position: absolute;
background-color: var(--secondary); background-color: var(--secondary);
width: 10em; width: 10em;
box-shadow: rgba(0, 0, 0, 0.3) 4px 4px 3px 0px; box-shadow: rgba(0, 0, 0, 0.3) 4px 4px 3px 0px;
right: 0; right: 0;
margin-top: 0.36em; margin-top: 0.36em;
} }
.link-items.burger-time>a { .link-items.burger-time>a {
margin: 0; margin: 0;
padding: 0.4em 0.75em; padding: 0.4em 0.75em;
} }
.link-items.burger-time>a:hover { .link-items.burger-time>a:hover {
background-color: rgba(0, 0, 0, 0.1); background-color: rgba(0, 0, 0, 0.1);
} }
.navlink { .navlink {
font-size: 1.1em; font-size: 1.1em;
margin: 0.75em; margin: 0.75em;
} }
.splash { .splash {
background-color: var(--main); background-color: var(--main);
background-blend-mode: overlay; background-blend-mode: overlay;
border-radius: 0 0 50% 50% / 4rem; border-radius: 0 0 50% 50% / 4rem;
background-position: center; background-position: center;
height: 35em; height: 35em;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
flex-direction: column; flex-direction: column;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: cover; background-size: cover;
} }
.call-to-action { .call-to-action {
font-size: 3.2em; font-size: 3.2em;
width: 11em; width: 11em;
color: var(--secondary); color: var(--secondary);
text-align: center; text-align: center;
font-family: "Montserrat"; font-family: "Montserrat";
} }
.splash-socials { .splash-socials {
margin-top: 2em; margin-top: 2em;
} }
.splash-socials>a { .splash-socials>a {
margin-left: 1.5em; margin-left: 1.5em;
margin-right: 1.5em; margin-right: 1.5em;
} }
.splash-socials img { .splash-socials img {
width: 4.7em; width: 4.7em;
} }
.default-section { .default-section {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
flex-direction: column; flex-direction: column;
color: var(--main); color: var(--main);
background-color: var(--secondary); background-color: var(--secondary);
padding-top: 2em; padding-top: 2em;
padding-bottom: 2em; padding-bottom: 2em;
} }
.section-title { .section-title {
font-size: 3em; font-size: 3em;
margin-top: 0.8em; margin-top: 0.8em;
margin-bottom: 0.8em; margin-bottom: 0.8em;
} }
.default-section>p, .default-section>p,
.project-space>p { .project-space>p {
font-size: 1.8em; font-size: 1.8em;
width: 22em; width: 22em;
color: var(--dark); color: var(--dark);
text-align: center; text-align: center;
} }
.project-space>p { .project-space>p {
color: var(--secondary); color: var(--secondary);
} }
.default-section>p:first-child { .default-section>p:first-child {
margin-top: 0; margin-top: 0;
} }
.project-space { .project-space {
border-radius: 50% 50% 0 0 / 4rem; border-radius: 50% 50% 0 0 / 4rem;
background-color: var(--main); background-color: var(--main);
background-blend-mode: overlay; background-blend-mode: overlay;
background-image: url("../img/backgrounds/ps.webp"); background-image: url("../img/backgrounds/ps.webp");
height: 40em; height: 40em;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
flex-direction: column; flex-direction: column;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: cover; background-size: cover;
} }
.project-space a { .project-space a {
color: var(--accent); color: var(--accent);
} }
.ps-title { .ps-title {
font-size: 3em; font-size: 3em;
color: white; color: white;
margin-bottom: 1em; margin-bottom: 1em;
} }
.visit-us { .visit-us {
font-size: 2em; font-size: 2em;
margin-bottom: 2em; margin-bottom: 2em;
} }
.ex-link { .ex-link {
color: var(--accent); color: var(--accent);
font-size: 2em; font-size: 2em;
margin-bottom: 2em; margin-bottom: 2em;
} }
.involved { .involved {
border-radius: 50% 50% 0 0 / 4rem; border-radius: 50% 50% 0 0 / 4rem;
transform: translateY(-4rem); transform: translateY(-4rem);
} }
.cards { .cards {
display: flex; display: flex;
justify-content: space-around; justify-content: space-around;
flex-wrap: wrap; flex-wrap: wrap;
} }
.involve-card { .involve-card {
padding: 1.75em 2.5em; padding: 1.75em 2.5em;
border: var(--main) solid 0.37em; border: var(--main) solid 0.37em;
border-radius: 1.5em; border-radius: 1.5em;
color: var(--main); color: var(--main);
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
flex-direction: column; flex-direction: column;
margin: 1em; margin: 1em;
} }
.involve-title { .involve-title {
font-size: 3em; font-size: 3em;
color: var(--main); color: var(--main);
margin-bottom: 0.5em; margin-bottom: 0.5em;
} }
.involve-card>img { .involve-card>img {
width: 20em; width: 20em;
margin-bottom: 1em; margin-bottom: 1em;
border-radius: 0.2em; border-radius: 0.2em;
} }
.links { .links {
font-size: 1.5em; font-size: 1.5em;
} }
.social-card { .social-card {
display: flex; display: flex;
align-items: center; align-items: center;
padding: 1em; padding: 1em;
width: 25em; width: 25em;
} }
.social-card>img { .social-card>img {
width: 4.7em; width: 4.7em;
} }
.social-message { .social-message {
font-size: 2em; font-size: 2em;
padding: 0.5em; padding: 0.5em;
} }
.join-scls, .join-scls,
.footer-scls { .footer-scls {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
max-width: 55em; max-width: 55em;
justify-content: space-around; justify-content: space-around;
flex-wrap: wrap; flex-wrap: wrap;
margin-left: 5em; margin-left: 5em;
} }
.carousel-item { .carousel-item {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
padding: 1.5em; padding: 1.5em;
border: 0.35em solid var(--main); border: 0.35em solid var(--main);
border-radius: 1em; border-radius: 1em;
margin: 1em; margin: 1em;
} }
.carousel-item>img { .carousel-item>img {
width: 18.7em; width: 18.7em;
border-radius: 0.2em; border-radius: 0.2em;
} }
.carousel-name { .carousel-name {
font-size: 2em; font-size: 2em;
padding-top: 0.25em; padding-top: 0.25em;
} }
.carousel-pos { .carousel-pos {
font-style: italic; font-style: italic;
font-weight: normal; font-weight: normal;
font-size: 1.25em; font-size: 1.25em;
} }
.carousel-email { .carousel-email {
margin-top: 0.5em; margin-top: 0.5em;
} }
.carousel-page { .carousel-page {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: center; justify-content: center;
} }
.carousel { .carousel {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.carousel-left { .carousel-left {
margin-left: 2em; margin-left: 2em;
transform: scaleX(-1); transform: scaleX(-1);
} }
.carousel-right, .carousel-right,
.carousel-left { .carousel-left {
cursor: pointer; cursor: pointer;
width: 4em; width: 4em;
} }
.carousel-right { .carousel-right {
margin-right: 2em; margin-right: 2em;
} }
.contact { .contact {
border-radius: 0 0 50% 50% / 4rem; border-radius: 0 0 50% 50% / 4rem;
transform: translateY(4rem); transform: translateY(4rem);
} }
.footer { .footer {
background-color: var(--main); background-color: var(--main);
padding-top: 7em; padding-top: 7em;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: start; align-items: start;
padding-left: 2em; padding-left: 2em;
padding-right: 2em; padding-right: 2em;
} }
.footer a { .footer a {
color: white; color: white;
} }
.footer-scls { .footer-scls {
max-width: 30em; max-width: 30em;
font-size: 0.6em; font-size: 0.6em;
margin-bottom: 2em; margin-bottom: 2em;
} }
.footer-scls img { .footer-scls img {
width: 4.7em; width: 4.7em;
} }
.footer>img { .footer>img {
width: 30em; width: 30em;
} }
/* Responsive queries go here */ /* Responsive queries go here */
@media screen and (max-width: 700px) { @media screen and (max-width: 700px) {
html { html {
font-size: 0.85em; font-size: 0.85em;
} }
} }
@media screen and (max-width: 650px) { @media screen and (max-width: 650px) {
html { html {
font-size: 0.8em; font-size: 0.8em;
} }
.footer>img { .footer>img {
width: 15em; width: 15em;
} }
} }
@media screen and (max-width: 540px) { @media screen and (max-width: 540px) {
html { html {
font-size: 0.6em; font-size: 0.6em;
} }
.footer>img { .footer>img {
display: none; display: none;
} }
} }
@media screen and (max-width: 420px) { @media screen and (max-width: 420px) {
html { html {
font-size: 0.5em; font-size: 0.5em;
} }
} }
@media screen and (max-width: 320px) { @media screen and (max-width: 320px) {
html { html {
font-size: 0.45em; font-size: 0.45em;
} }
} }
#cal { #cal {
border: solid 1px #777; border: solid 1px #777;
width: 800px; width: 800px;
height: 600px; height: 600px;
} }
#calendar { #calendar {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
flex-direction: column; flex-direction: column;
color: var(--main); color: var(--main);
padding-top: 2em; padding-top: 2em;
padding-bottom: 2em; padding-bottom: 2em;
} }
iframe { iframe {
width: 80vw; width: 80vw;
height: 600px; height: 600px;
max-width: 1000px; max-width: 1000px;
} }
.project-desc { .project-desc {
display: flex; display: flex;
justify-content: center; justify-content: center;
column-gap: 10em; column-gap: 10em;
vertical-align: middle; vertical-align: middle;
flex-wrap: wrap; flex-wrap: wrap;
} }
.project-desc img { .project-desc img {
width: 30em; width: 30em;
padding-top: 3em; padding-top: 3em;
padding-bottom: 3em; padding-bottom: 3em;
} }

View file

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

View file

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 107 KiB

View file

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View file

Before

Width:  |  Height:  |  Size: 275 KiB

After

Width:  |  Height:  |  Size: 275 KiB

View file

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 73 KiB

View file

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View file

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View file

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 86 KiB

View file

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 121 KiB

View file

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 55 KiB

View file

Before

Width:  |  Height:  |  Size: 129 KiB

After

Width:  |  Height:  |  Size: 129 KiB

View file

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 70 KiB

View file

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB

View file

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 115 KiB

View file

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 899 B

After

Width:  |  Height:  |  Size: 899 B

View file

Before

Width:  |  Height:  |  Size: 897 B

After

Width:  |  Height:  |  Size: 897 B

View file

Before

Width:  |  Height:  |  Size: 511 B

After

Width:  |  Height:  |  Size: 511 B

View file

Before

Width:  |  Height:  |  Size: 509 B

After

Width:  |  Height:  |  Size: 509 B

View file

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View file

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View file

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View file

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 78 KiB

View file

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View file

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View file

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View file

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View file

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View file

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View file

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View file

Before

Width:  |  Height:  |  Size: 104 KiB

After

Width:  |  Height:  |  Size: 104 KiB

View file

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View file

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View file

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View file

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View file

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View file

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 60 KiB

View file

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 55 KiB

View file

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 57 KiB

View file

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View file

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

View file

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View file

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View file

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View file

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View file

Before

Width:  |  Height:  |  Size: 361 KiB

After

Width:  |  Height:  |  Size: 361 KiB

View file

@ -11,6 +11,7 @@ interface Website {
jsfile: string; jsfile: string;
cssfile: string; cssfile: string;
themecolor: string; themecolor: string;
path?: string;
} }
const APP = express(); const APP = express();
@ -23,32 +24,33 @@ const WEBSITES = [
sitename: "index", sitename: "index",
title: "IEEE at UCSD", title: "IEEE at UCSD",
description: "", description: "",
jsfile: "js/index.js", jsfile: "assets/js/index.js",
cssfile: "css/styles.css", cssfile: "assets/css/styles.css",
themecolor: "", themecolor: "",
path: "/",
}, },
{ {
sitename: "events", sitename: "events",
title: "IEEE at UCSD", title: "IEEE at UCSD",
description: "", description: "",
jsfile: "js/events.js", jsfile: "assets/js/events.js",
cssfile: "css/styles.css", cssfile: "assets/css/styles.css",
themecolor: "", themecolor: "",
}, },
{ {
sitename: "projects", sitename: "projects",
title: "IEEE at UCSD", title: "IEEE at UCSD",
description: "", description: "",
jsfile: "js/projects.js", jsfile: "assets/js/projects.js",
cssfile: "css/styles.css", cssfile: "assets/css/styles.css",
themecolor: "", themecolor: "",
}, },
{ {
sitename: "committees", sitename: "committees",
title: "IEEE at UCSD", title: "IEEE at UCSD",
description: "", description: "",
jsfile: "js/committees.js", jsfile: "assets/js/committees.js",
cssfile: "css/styles.css", cssfile: "assets/css/styles.css",
themecolor: "", themecolor: "",
}, },
] as Website[]; ] as Website[];
@ -106,8 +108,19 @@ function generateFilePages() {
let site: Website; let site: Website;
for (site of WEBSITES) { for (site of WEBSITES) {
const html = generatePage(site.sitename); const html = generatePage(site.sitename);
fs.mkdirSync(
path.join(__dirname, "../public/", site.path ?? site.sitename),
{
recursive: true,
}
);
fs.writeFileSync( fs.writeFileSync(
path.join(__dirname, "../public/", `${site.sitename}.html`), path.join(
__dirname,
"../public/",
site.path ?? site.sitename,
"/index.html"
),
html html
); );
} }

View file

@ -2,10 +2,9 @@
<html lang="en"> <html lang="en">
<head> <head>
<link rel="stylesheet" type="text/css" href="assets/css/fonts.css" media="screen">
<link rel="stylesheet" type="text/css" href="css/fonts.css" media="screen">
<link rel="stylesheet" type="text/css" href="$CSSFILE" media="screen"> <link rel="stylesheet" type="text/css" href="$CSSFILE" media="screen">
<link rel="icon" href="img/favicon.ico" type="image/x-icon"> <link rel="icon" href="favicon.ico" type="image/x-icon">
<meta name="viewport" content="height=device-height, width=device-width, initial-scale=1"> <meta name="viewport" content="height=device-height, width=device-width, initial-scale=1">
<meta name="description" content="$DESCRIPTION"> <meta name="description" content="$DESCRIPTION">
<meta name="theme-color" content="$THEMECOLOR"> <meta name="theme-color" content="$THEMECOLOR">

View file

@ -6,7 +6,7 @@ module.exports = {
entry: loadEntries("./src/public"), entry: loadEntries("./src/public"),
output: { output: {
path: path.resolve(__dirname, "build/public"), path: path.resolve(__dirname, "build/public"),
filename: "./js/[name].js", filename: "./assets/js/[name].js",
}, },
mode: "production", mode: "production",
module: { module: {
@ -32,19 +32,11 @@ module.exports = {
new CopyPlugin({ new CopyPlugin({
patterns: [ patterns: [
{ {
// Copy utility files // Copy non-ts, non-tsx files
from: "./src/util", from: "./src",
to: "../util", to: "../",
globOptions: { filter: (resourcePath) => {
ignore: ["**/*.ts", "**/*.tsx"], return !resourcePath.match(/\.(tsx|ts)?$/);
},
},
{
// Copy public files
from: "./src/public",
to: "./",
globOptions: {
ignore: ["**/*.ts", "**/*.tsx"],
}, },
}, },
], ],