Computer Science Club of the University of Waterloo's website. https://csclub.uwaterloo.ca
Go to file
Amy Wang 94156adfd2
continuous-integration/drone/push Build is passing Details
Fix exec fetching and add events (#491)
- 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: #491
Reviewed-by: j285he <j285he@localhost>
2022-09-02 14:34:02 -04:00
.vscode Fix Andrew Wang Photos (#471) 2022-06-29 00:42:46 -04:00
components Create members.json api (#489) 2022-08-08 04:31:15 -04:00
content Fix exec fetching and add events (#491) 2022-09-02 14:34:02 -04:00
docs Add some docs about architecture (#459) 2022-06-19 01:45:41 -04:00
hooks Meet the Team page (#94) 2021-08-23 11:11:42 -04:00
images Fix exec fetching and add events (#491) 2022-09-02 14:34:02 -04:00
lib Fix exec fetching and add events (#491) 2022-09-02 14:34:02 -04:00
pages Fix exec fetching and add events (#491) 2022-09-02 14:34:02 -04:00
public Create members.json api (#489) 2022-08-08 04:31:15 -04:00
scripts Create members.json api (#489) 2022-08-08 04:31:15 -04:00
.drone.yml Create members.json api (#489) 2022-08-08 04:31:15 -04:00
.eslintignore Add mdx support and playground 2021-04-26 19:16:55 -04:00
.eslintrc.js Use eslint-plugin-import to bring some order to the mess (#132) 2021-08-13 04:16:37 -04:00
.gitignore Create members.json api (#489) 2022-08-08 04:31:15 -04:00
README.md Add some docs about architecture (#459) 2022-06-19 01:45:41 -04:00
deploy-demo.bash Script to deploy site to your CSC website (#99) 2021-08-03 19:17:08 -04:00
deploy.sh Generate members list (#354) 2021-11-22 12:47:00 -05:00
next-env.d.ts Upgrade Next, React, TypeScript (#91) 2021-08-01 17:54:25 -04:00
next.config.js Update content for advice pages (#299) 2021-09-11 16:00:22 -04:00
package-lock.json Create members.json api (#489) 2022-08-08 04:31:15 -04:00
package.json Create members.json api (#489) 2022-08-08 04:31:15 -04:00
postcss.config.json Convert rems to px and use calc to convert on build time 2021-05-24 18:58:28 +00:00
renovate.json Force node 16+ and npm 7+ in renovate (#192) 2021-08-28 00:05:56 -04:00
tsconfig.json Dynamically generate event calendar (#332) 2021-09-27 16:20:18 -04:00
types.d.ts Add Multiple News Items on Homepage and Single News Item Page (Closes #281) (#390) 2022-02-23 00:15:37 -05:00
utils.ts Create members.json api (#489) 2022-08-08 04:31:15 -04:00

README.md

README

Documentation

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 could also upgrade to node 16, which ships with npm 7.

How to upgrade npm: npm i -g npm

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

  • 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

  • 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)