**SUMMARY OF AMENDMENTS:**
- Added more information pertaining to the Systems Committee.
- Increased some quorum numbers.
- Changed some details pertaining to special meetings.
- Changed some capitalization/punctuation/grammar to be more consistent, and changed some phrasing to be more clear.
Co-authored-by: shahanneda <shahan.neda@gmail.com>
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Co-authored-by: Laura Nguyen <l69nguye@csclub.uwaterloo.ca>
Co-authored-by: Raymond Li <hi@raymond.li>
Reviewed-on: www/www-new#534
Reviewed-by: Mark Chiu <e26chiu@csclub.uwaterloo.ca>
Co-authored-by: Shahan Nedadahandeh <snedadah@csclub.uwaterloo.ca>
Co-committed-by: Shahan Nedadahandeh <snedadah@csclub.uwaterloo.ca>
Our ZNC instance was sunset last year, so we shouldn't be advertising it on our website anymore.
Reviewed-on: www/www-new#565
Reviewed-by: Shahan Nedadahandeh <snedadah@csclub.uwaterloo.ca>
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Added news for Alt tab event, and two class profile related news.
Co-authored-by: shahanneda <shahan.neda@gmail.com>
Co-authored-by: Mark Chiu <e26chiu@csclub.uwaterloo.ca>
Reviewed-on: www/www-new#563
Reviewed-by: Mark Chiu <e26chiu@csclub.uwaterloo.ca>
Closes#527
Co-authored-by: dlslo <dlslo@uwaterloo.ca>
Reviewed-on: www/www-new#562
Reviewed-by: Shahan Nedadahandeh <snedadah@csclub.uwaterloo.ca>
Co-authored-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
Co-committed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
Also hide the discord mods team at their request
Co-authored-by: shahanneda <shahan.neda@gmail.com>
Co-authored-by: Mark Chiu <e26chiu@csclub.uwaterloo.ca>
Reviewed-on: www/www-new#558
Reviewed-by: Mark Chiu <e26chiu@csclub.uwaterloo.ca>
- with two bad jokes now
Co-authored-by: Leo Shen <i@szclsya.me>
Reviewed-on: www/www-new#552
Reviewed-by: Shahan Nedadahandeh <snedadah@csclub.uwaterloo.ca>
Co-authored-by: Yiao Shen <y266shen@csclub.uwaterloo.ca>
Co-committed-by: Yiao Shen <y266shen@csclub.uwaterloo.ca>
Closes#540.
Co-authored-by: dlslo <dlslo@uwaterloo.ca>
Reviewed-on: www/www-new#547
Reviewed-by: Mark Chiu <e26chiu@csclub.uwaterloo.ca>
Reviewed-by: Shahan Nedadahandeh <snedadah@csclub.uwaterloo.ca>
Co-authored-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
Co-committed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
This change ensures that the temporary directory created by `mkdir --directory` is always removed when `deploy.sh` exits, whether or not the script succeeded.
It also modifies the `git clone` command to use the `file://` protocol instead of HTTPS, to speed up the download.
Reviewed-on: www/www-new#530
Reviewed-by: Shahan Nedadahandeh <snedadah@csclub.uwaterloo.ca>
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
please merge if looks good
Co-authored-by: shahanneda <shahan.neda@gmail.com>
Reviewed-on: www/www-new#525
Reviewed-by: Amy Wang <a258wang@csclub.uwaterloo.ca>
Someone was making fun of me for not having an image on our website, so here we go.
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: www/www-new#501
Reviewed-by: Raymond Li <raymo@csclub.uwaterloo.ca>
Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
Reviewed-on: www/www-new#499
Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
Co-authored-by: Raymond Li <raymo@csclub.uwaterloo.ca>
Co-committed-by: Raymond Li <raymo@csclub.uwaterloo.ca>
Also added a short bio for myself. :3
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: www/www-new#497
Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
- Fixed edge case with fetching execs
- Added Bootcamp mentor application news, and CSC x Google event
**Problem:** When building the Meet the Team page using LDAP (in CI), we were only checking CSC members for the "current" term (Fall 2022) to see if any of them were execs. Since our actual current execs (the Spring 2022 execs, since Fall 2022 elections have not occurred yet) have not renewed their memberships for Fall 2022, the script was unable to find individuals for the Prez/VP/AVP/Trez positions, which caused an error.
**Solution:**
1. Gracefully handle the edge case where an exec position might be intentionally unfilled, by simply omitting it from the Meet the Team page.
2. Search through CSC members for both the current term and the previous term, when checking for execs. Note that this might make the build time slightly slower, since the script now needs to loop through two terms of members in order to pick out the execs, however the difference should be insignificant.
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: www/www-new#491
Reviewed-by: j285he <j285he@localhost>
I don't think we should keep a long message in the file, since all the warnings are loaded on every page load, so it might have a negative effect on performance over a long period if we keep all warnings.
Feel free to merge on green.
Co-authored-by: shahanneda <shahan.neda@gmail.com>
Reviewed-on: www/www-new#487
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
Co-authored-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
Co-committed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
The "Community Coordinators", formerly the "Class Representatives", have requested to change their team name on the website to "Community Representatives".
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: www/www-new#478
Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
The CSC's Executive updated the Machine Usage Agreement on 10 July 2022.
The updates are as follows:
- A note was added that CSC Cloud resources fall under the same policies as the rest of CSC's machines and network.
- A note was added that the Systems Committee may delete CSC Cloud resources when their CSC account expires.
- A directive was added that all club reps read the Wiki page on Club Hosting when they become a club rep and then at least once a term for notices on that page.
- MFCF was replaced with CSCF (when the previous 2007 version was published, CSC had relations with MFCF instead of CSCF, which may not even have existed at the time. CSC now has relations with CSCF more than MFCF.)
- Various grammatical errors were corrected.
Note: Please do not merge this PR until 18 July 2022, to allow members time to receive the new version.
---
Update (@a3thakra) Adding the WIP label till to indicate that this shouldn't be merged. Feel free to remove it when you're ready.
Co-authored-by: Raymond Li <hi@raymond.li>
Reviewed-on: www/www-new#473
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
Reviewed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
Update the room number and graphic
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: www/www-new#476
Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
We have an Andrew Wang on the Discord team, and a different Andrew Wang on Syscom. Previously, the Syscom Andrew Wang's photo was being used for both Andrews on the Meet the Team page. This PR fixes things to use the correct image for each Andrew.
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: www/www-new#471
Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
We have been having issues with the image optimization script consuming egregious amounts of memory and failing CI as a result.
This PR changes the script so that we use a new `ImagePool` to process each batch of images.
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: www/www-new#470
Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
@merenber recently merged this #462
It is a little annoying that we have to manually change the index in literally all the other unrelated files.
This PR introduces an ORDER.json file that orders the sections as an array.
Reviewed-on: www/www-new#468
Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
I asked Eden to write a blurb... he got this far.
Since this is still an improvement over "Coming Soon!", let's just update the site with this short blurb for now, and we can change it later.
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: www/www-new#467
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
Reviewed-by: j285he <j285he@localhost>
We should let new and prospective members know that the CSC Cloud exists.
Reviewed-on: www/www-new#462
Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
* The website will have a dark theme or a light theme depending on your OS preferences. You can still customize in the `themer` page to override some properties.
* A toggle button in the footer to toggle between light mode and dark mode.
* Added a "Reset to dark mode" button in the `themer` page.
Staging link: https://csclub.uwaterloo.ca/~a3thakra/csc/dark-theme/
Co-authored-by: Miniapple8888 <miniapple8888@gmail.com>
Reviewed-on: www/www-new#407
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
This PR aims to resolve the issues surrounding the optimize-images script, at least in the short term, in order to unblock other work.
**Problems:** Our optimize-images script was taking a very long time to run (~7 minutes in CI, when successful). This led to two problems:
1. It was near impossible to run the script locally.
2. CI jobs would often get killed on the optimize-images step.
**Solutions:**
1. Resize the images in `images/events` prior to optimizing them, similar to what is done for the images in `images/team`. This solution on its own reduced the run-time of the script to ~30 seconds locally on Amy's laptop, which is comparable to the run-time of the script back when it was originally written.
2. EDIT: Copy/resize/optimize the images in batches of 32 at a time. The reason why the CI job was being killed is because the script would run out of memory, however this change should resolve that while also keeping build times reasonable (~30 sec locally/when deploying on caffeine, ~3 min in CI). ~~As a temporary fix, this PR also replaces the images in `images/events` with their resized + optimized versions. (For some unknown reason, Solution 1 is not sufficient to solve Problem 2.)~~
This PR also adds some logging to the script so we can get a (slightly) better sense of where the script is getting stuck.
Related issue: #456
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: www/www-new#457
Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
Removed old exec blurbs so Eden's role would be displayed correctly. Also updated Codey's blurb slightly, and fixed a bug where exec images would be squished instead of cropped.
Staging: https://csclub.uwaterloo.ca/~a3thakra/csc/amy-s22-delete-old-blurbs
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: www/www-new#435
Reviewed-by: Shahan Nedadahandeh <snedadah@csclub.uwaterloo.ca>
I also added an announcement about the release of CSC cloud, and moved the Spring 2022 Bootcamp mentor application news to the appropriate folder.
Staging: https://csclub.uwaterloo.ca/~a3thakra/csc/amy-news-2022-05-02/
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: www/www-new#432
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
Co-authored-by: Amy <a258wang@csclub.uwaterloo.ca>
Co-committed-by: Amy <a258wang@csclub.uwaterloo.ca>
Previously, the instructions for "Online Term" on the Get Involved page would be open by default. This PR changes the instructions for "In Person" to be open by default.
There are also some other small wording changes on the Get Involved page.
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: www/www-new#429
Reviewed-by: b38peng <b38peng@uwaterloo.ca>
Please confirm the time -- should it be 2-3pm EST or EDT?
Co-authored-by: Jared He <66887902+jaredjhe@users.noreply.github.com>
Reviewed-on: www/www-new#416
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
#128
CI doesn't need to run/pass for this to be merged. No code changes.
Reviewed-on: www/www-new#391
Reviewed-by: a258wang <a258wang@csclub.uwaterloo.ca>
Reviewed-by: j285he <j285he@localhost>
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
Updated the website with some past and upcoming events.
All three Tesla coffee chat events are currently using the Autopilot Coffee Chat graphic, since different graphics do not exist for the Vehicle Software Systems and Vehicle Software Development coffee chats yet.
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: www/www-new#408
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
* 3 News items are displayed on the homepage (`MiniNewsCard` component)
* Single News item path: `/news/20xx/term/20xx-xx-xx` (`NewsCard` component)
* Purple header for the date
* News items of the same date are displayed on the same page
Co-authored-by: Miniapple8888 <miniapple8888@gmail.com>
Reviewed-on: www/www-new#390
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
Update:
In order to solve the issues discussed below, we decided to put the warnings in a json file, since they can be easily imported into a javascript file and webpack automatically bundles them with the client side app, so no static props is needed.
__________
To get the warning data, since it is something that needs to be on all pages, it makes sense for the component to go in the app.js file (similar to the nav bar). However, next.js has a cumbersome issue that it does not support getStaticProps in the app.ts file (and getStaticProps only works in page files), thus we have no way of requesting the warning data easily in the \<WarningHeader\> Component. (https://github.com/vercel/next.js/discussions/10949)
Here is my solution:
- Request the warning data on the client side through the use of an api.
- I made a warning api (/api/currentWarning) which sends a json of the current warning
- Advantage: warnings will always be up to date since it is recalculated on every request
- Advantage: It can potentially incorporate with other CSC services who might need to know about the warning (eg linktree?)
- Disadvantage: can get expensive if we have a lot of warnings, to fix this I can cache the current warning and only re-read the files every 24h if this is a problem, but if we don’t have that many warnings I think it should be fine
- Disadvantage: listed below:
The current problem with what I implemented is that it doesn’t build in the production environment:
- The way we build the website, when we call “next export” that disables any api endpoints.
- According to this https://github.com/vercel/vercel/discussions/6551, if we want to allow api endpoints, we have to just do “next build”. This has implications that the site won’t be completely static anymore, but the other solutions also have similar problems ( though the GitHub post says that next will still optimize for static with only next build).
Another advantage of allowing api’s is that maybe in the future we will implement other features where an api might be useful.
If you want to try it out, my branch works fine locally (when just running npm run dev or npm run build”)
Other possible solutions:
- Use getInitialProps inside _app.js, but this has the downside that it will “disable Automatic Static Optimization in pages without Static Generation.” (https://nextjs.org/docs/advanced-features/custom-app), which I believe will slow the whole site down, but, we will be able to still use the old build command I think, I am not sure of the full effect of this.
- However, implementing this would also be relatively simple.
- Add the warning request to the getStaticProps of every single page, possibly through some wrapper component around every single page, this has the disadvantage that we need to do a lot of refactoring of all the pages of the site and cant use the intended “_app.ts” wrapper.
- Add warning header only to the homepage (or maybe one or two other important pages).
Co-authored-by: shahanneda <shahan.neda@gmail.com>
Reviewed-on: www/www-new#394
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
Reviewed-on: www/www-new#399
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
Co-authored-by: Raymond Li <raymo@csclub.uwaterloo.ca>
Co-committed-by: Raymond Li <raymo@csclub.uwaterloo.ca>
If Head of Discord, Heads of Design, Head of Reps are to be included, just notify me ~ 😃
Co-authored-by: Rebecca-Chou <beihaozhou@gmail.com>
Reviewed-on: www/www-new#383
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
Reviewed-by: j285he <j285he@localhost>
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
Co-authored-by: Beihao Zhou <b72zhou@csclub.uwaterloo.ca>
Co-committed-by: Beihao Zhou <b72zhou@csclub.uwaterloo.ca>
Reviewed-on: www/www-new#395
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
Co-authored-by: Raymond Li <raymo@csclub.uwaterloo.ca>
Co-committed-by: Raymond Li <raymo@csclub.uwaterloo.ca>
Andy (Head of Discord) asked that we change the label for the Discord team members on the Meet the Team page from "Discord Mod" to either "Codey Coder" or "Discord". I have opted to change it to simply "Discord" for clarity.
When we separate the teams on the Meet the Team page (#364), please change "Discord" to "Developer" (similar to what we have for the Web Committee).
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: www/www-new#393
Reviewed-by: Emily Chiu <e26chiu@csclub.uwaterloo.ca>
Co-authored-by: Amy <a258wang@csclub.uwaterloo.ca>
Co-committed-by: Amy <a258wang@csclub.uwaterloo.ca>
Added the upcoming Afterhours: Diversity in Tech event, as well as the Beginning of Term event that happened last week.
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: www/www-new#389
Reviewed-by: Emily Chiu <e26chiu@csclub.uwaterloo.ca>
Co-authored-by: Amy <a258wang@csclub.uwaterloo.ca>
Co-committed-by: Amy <a258wang@csclub.uwaterloo.ca>
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [@next/mdx](https://github.com/vercel/next.js) | dependencies | minor | [`11.0.1` -> `11.1.3`](https://renovatebot.com/diffs/npm/@next%2fmdx/11.0.1/11.1.3) |
⚠️ Release Notes retrieval for this PR were skipped because no github.com credentials were available.
If you are self-hosted, please see [this instruction](https://github.com/renovatebot/renovate/blob/master/docs/usage/examples/self-hosting.md#githubcom-token-for-release-notes).
---
### Configuration
📅 **Schedule**: At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Renovate will not automatically rebase this PR, because other commits have been found.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
Co-authored-by: Aditya Thakral <github@9at8.dev>
Reviewed-on: www/www-new#143
Reviewed-by: Aditya Thakral <a3thakra@csclub.uwaterloo.ca>
Co-authored-by: Renovate Bot <no-reply@csclub.uwaterloo.ca>
Co-committed-by: Renovate Bot <no-reply@csclub.uwaterloo.ca>
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [npm](https://docs.npmjs.com/) ([source](https://github.com/npm/cli)) | engines | major | [`^7` -> `^8.0.0`](https://renovatebot.com/diffs/npm/npm/7.24.2/8.3.1) |
⚠️ Release Notes retrieval for this PR were skipped because no github.com credentials were available.
If you are self-hosted, please see [this instruction](https://github.com/renovatebot/renovate/blob/master/docs/usage/examples/self-hosting.md#githubcom-token-for-release-notes).
---
### Configuration
📅 **Schedule**: At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Renovate will not automatically rebase this PR, because other commits have been found.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
Co-authored-by: Aditya Thakral <github@9at8.dev>
Reviewed-on: www/www-new#340
Reviewed-by: Aditya Thakral <a3thakra@csclub.uwaterloo.ca>
Co-authored-by: Renovate Bot <no-reply@csclub.uwaterloo.ca>
Co-committed-by: Renovate Bot <no-reply@csclub.uwaterloo.ca>
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [postcss-preset-env](https://github.com/csstools/postcss-plugins) | devDependencies | major | [`^6.7.0` -> `^7.0.0`](https://renovatebot.com/diffs/npm/postcss-preset-env/6.7.0/7.2.3) |
⚠️ Release Notes retrieval for this PR were skipped because no github.com credentials were available.
If you are self-hosted, please see [this instruction](https://github.com/renovatebot/renovate/blob/master/docs/usage/examples/self-hosting.md#githubcom-token-for-release-notes).
---
### Configuration
📅 **Schedule**: At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Renovate will not automatically rebase this PR, because other commits have been found.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
Co-authored-by: Aditya Thakral <github@9at8.dev>
Reviewed-on: www/www-new#360
Reviewed-by: Aditya Thakral <a3thakra@csclub.uwaterloo.ca>
Co-authored-by: Renovate Bot <no-reply@csclub.uwaterloo.ca>
Co-committed-by: Renovate Bot <no-reply@csclub.uwaterloo.ca>
#301https://csclub.uwaterloo.ca/~a3thakra/csc/j285he-ldap/about/members/
Co-authored-by: Jared He <66887902+jaredjhe@users.noreply.github.com>
Co-authored-by: Jared He <j285he@uwaterloo.ca>
Reviewed-on: www/www-new#354
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
Co-authored-by: j285he <j285he@localhost>
Co-committed-by: j285he <j285he@localhost>
A build-time script to optimize images. Note that going forward, all images should be placed in `images` instead of `public/images`.
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: www/www-new#348
Reviewed-by: Aditya Thakral <a3thakra@csclub.uwaterloo.ca>
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
Co-authored-by: Amy <a258wang@csclub.uwaterloo.ca>
Co-committed-by: Amy <a258wang@csclub.uwaterloo.ca>
Updating my own bio for a couple days until it gets changed again. :)
Reviewed-on: www/www-new#353
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
Co-authored-by: k4tu <k4tu@localhost>
Co-committed-by: k4tu <k4tu@localhost>
- [Architecture and Folder Structure](docs/architecture.md)
- [Everything about pages](docs/pages.md)
## Development
### Dependencies
Make sure that you have `node` >= 14 and `npm` >= 7. Node 14 ships with npm v6,
so if you're using node 14, you would need to upgrade npm. Alternatively you
@ -8,19 +15,20 @@ could also upgrade to node 16, which ships with npm 7.
How to upgrade npm: `npm i -g npm`
## Local
### Local
- `npm install` to install project dependencies
- `npm run build:images` to optimize images for the first time after cloning
- `npm run dev` to run the dev server (http://localhost:3000)
## Production
### Production
- `npm install` to install project dependencies
- `npm run build` to generate html/css/js
- `npm run export` to move the built files (along with assets in the public directory) to the `/out` directory
- Use your favourite web server to host the files in the `/out` directory. (A very simple one would be `python -m http.server` - not sure if it should actually be used for production :P)
# Deploy
## Deploy
- `groups` (make sure you're in the `www` group)
- `curl -o- https://git.csclub.uwaterloo.ca/www/www-new/raw/branch/main/deploy.sh | bash` (run on `caffeine`)