From cd58f520a59cf71e53b949802bfbb8d6a24ef698 Mon Sep 17 00:00:00 2001 From: Aditya Thakral Date: Mon, 23 Aug 2021 09:53:56 -0400 Subject: [PATCH 1/9] Add services content --- .../resources/services/club-web-hosting.md | 11 ++++++++++ content/resources/services/cs-club-email.md | 12 +++++++++++ content/resources/services/in-office-books.md | 6 ++++++ content/resources/services/irc.md | 10 ++++++++++ content/resources/services/live-streaming.md | 8 ++++++++ .../resources/services/machine-accounts.md | 20 +++++++++++++++++++ content/resources/services/mailing-lists.md | 10 ++++++++++ .../services/open-source-software-mirror.md | 6 ++++++ .../resources/services/video-conferencing.md | 8 ++++++++ content/resources/services/web-hosting.md | 17 ++++++++++++++++ 10 files changed, 108 insertions(+) create mode 100644 content/resources/services/club-web-hosting.md create mode 100644 content/resources/services/cs-club-email.md create mode 100644 content/resources/services/in-office-books.md create mode 100644 content/resources/services/irc.md create mode 100644 content/resources/services/live-streaming.md create mode 100644 content/resources/services/machine-accounts.md create mode 100644 content/resources/services/mailing-lists.md create mode 100644 content/resources/services/open-source-software-mirror.md create mode 100644 content/resources/services/video-conferencing.md create mode 100644 content/resources/services/web-hosting.md diff --git a/content/resources/services/club-web-hosting.md b/content/resources/services/club-web-hosting.md new file mode 100644 index 00000000..f99b9959 --- /dev/null +++ b/content/resources/services/club-web-hosting.md @@ -0,0 +1,11 @@ +--- +title: Club Web Hosting +index: 4 +--- + +If you're a club and looking for web space, the CS Club is the place go. + +- Clubs have access to the same member services (e.g. disk quota, databases). +- We also offer club.uwaterloo.ca domain registration. + +For more details, see the club hosting [wiki page](http://wiki.csclub.uwaterloo.ca/Club_Hosting). diff --git a/content/resources/services/cs-club-email.md b/content/resources/services/cs-club-email.md new file mode 100644 index 00000000..d0b8fe33 --- /dev/null +++ b/content/resources/services/cs-club-email.md @@ -0,0 +1,12 @@ +--- +title: CS Club Email +index: 2 +--- + +Members also receive a **username@csclub.uwaterloo.ca** email address. + +- Mailboxes are considered as part of your disk quota, so your mailbox may grow up to the amount of disk quota you have. +- Attachments of any file size or type may be sent. +- Our mail server runs a POP3, IMAP, and SMTP server with SSL/TLS enabled. + +You can also access your mail via a [Roundcube web mail client](https://mail.csclub.uwaterloo.ca/). diff --git a/content/resources/services/in-office-books.md b/content/resources/services/in-office-books.md new file mode 100644 index 00000000..902d09f8 --- /dev/null +++ b/content/resources/services/in-office-books.md @@ -0,0 +1,6 @@ +--- +title: In-Office Books +index: 9 +--- + +The CS Club maintains an [extensive collection of Computer Science-related books](http://csclub.uwaterloo.ca/library/). Feel free to come by the office to take a look at our library. diff --git a/content/resources/services/irc.md b/content/resources/services/irc.md new file mode 100644 index 00000000..79111d97 --- /dev/null +++ b/content/resources/services/irc.md @@ -0,0 +1,10 @@ +--- +title: IRC +index: 6 +--- + +We host an instance of [The Lounge](https://chat.csclub.uwaterloo.ca/) for all of our members. The Lounge is a web-based IRC client which is simple to setup and use. It also has a Progressive Web App available for mobile devices. + +We also host an instance of [ZNC](https://znc.csclub.uwaterloo.ca/) for those who wish to use their own IRC client but do not want to run their own bouncer. ZNC saves your messages persistently so you do not have to keep your IRC client running 24/7. + +For more information, see [this page](https://wiki.csclub.uwaterloo.ca/How_to_IRC) on our wiki. diff --git a/content/resources/services/live-streaming.md b/content/resources/services/live-streaming.md new file mode 100644 index 00000000..247465f4 --- /dev/null +++ b/content/resources/services/live-streaming.md @@ -0,0 +1,8 @@ +--- +title: Live Streaming +index: 8 +--- + +We host an instance of [Icecast](https://icy.csclub.uwaterloo.ca/), which can stream live audio and video. We have successfully streamed live events to Icecast using OBS Studio. Latency usually ranges between 5-10 sec. + +If you are interested in live streaming via Icecast, please contact the [Systems Committee](mailto:syscom@csclub.uwaterloo.ca) (syscom at csclub dot uwaterloo dot ca). diff --git a/content/resources/services/machine-accounts.md b/content/resources/services/machine-accounts.md new file mode 100644 index 00000000..0adbcd5a --- /dev/null +++ b/content/resources/services/machine-accounts.md @@ -0,0 +1,20 @@ +--- +title: Machine Accounts +index: 1 +--- + +The main benefit of becoming a CS Club member is to get access to our various machines. + +- We offer a large range of hardware, including Alpha, MIPS, UltraSPARC, i386, and AMD64. Our primary development machine, high-fructose-corn-syrup, is a 4x AMD Opteron (64 cores at 2.4 GHz) with 64 GiB of RAM, and it easily outperforms the Linux machines available through CSCF. +- Most of our machines are connected via gigabit ethernet. We offer 4 GB of disk quota that is accessible across all of our machines. Our wiki contains a [full machine list](https://wiki.csclub.uwaterloo.ca/wiki/Machine_List). + +SSH key fingerprints for caffeine (our main server) can be found below: + +``` +RSA: 0c:a3:66:52:10:19:7e:d6:9c:96:3f:60:c1:0c:d6:24 +ED25519: 9e:a8:11:bb:65:1a:31:23:38:6b:94:9d:83:fd:ba:b1 +``` + +[SSH key fingerprints for other machines](https://csclub.uwaterloo.ca/services/fingerprints) + + diff --git a/content/resources/services/mailing-lists.md b/content/resources/services/mailing-lists.md new file mode 100644 index 00000000..b031e548 --- /dev/null +++ b/content/resources/services/mailing-lists.md @@ -0,0 +1,10 @@ +--- +title: Mailing Lists +index: 10 +--- + +Our [csc-general mailing list](http://mailman.csclub.uwaterloo.ca/listinfo/csc-general) informs members about our current events. + +Our [csc-industry mailing list](http://mailman.csclub.uwaterloo.ca/listinfo/csc-industry) allows students to opt-in to receiving emails from industry representatives. + +- Corporate events, job postings, info sessions, and related events may be posted here. diff --git a/content/resources/services/open-source-software-mirror.md b/content/resources/services/open-source-software-mirror.md new file mode 100644 index 00000000..5a24ddc2 --- /dev/null +++ b/content/resources/services/open-source-software-mirror.md @@ -0,0 +1,6 @@ +--- +title: Open-Source Software Mirror +index: 5 +--- + +The CSC runs a mirror of popular open source software. The [mirror](http://mirror.csclub.uwaterloo.ca/) has a list of available software. More information is available on our [wiki article](http://wiki.csclub.uwaterloo.ca/Mirror). diff --git a/content/resources/services/video-conferencing.md b/content/resources/services/video-conferencing.md new file mode 100644 index 00000000..841e3b96 --- /dev/null +++ b/content/resources/services/video-conferencing.md @@ -0,0 +1,8 @@ +--- +title: Video Conferencing +index: 7 +--- + +We host an instance of [BigBlueButton](https://bbb.csclub.uwaterloo.ca/), a free and open-source video conferencing platform. BigBlueButton offers many useful features such as a multi-user whiteboard, breakout rooms, shared notes, and more. + +To get the most out of BigBlueButton, you can watch some tutorial videos [here](https://bigbluebutton.org/html5). diff --git a/content/resources/services/web-hosting.md b/content/resources/services/web-hosting.md new file mode 100644 index 00000000..2437c682 --- /dev/null +++ b/content/resources/services/web-hosting.md @@ -0,0 +1,17 @@ +--- +title: Web Hosting +index: 3 +--- + +Many of members take advantage of our web hosting service. Our web server runs on Apache, and has PHP, Python, and Perl modules installed. We also have MySQL and PostgreSQL databases available upon request. + +If you are already a member, you can enable your web space as follows: + +1. Log in to one of the CSC machines (e.g. csclub.uwaterloo.ca) using an [SSH](http://www.openssh.com/) client (e.g. [PuTTY](http://www.chiark.greenend.org.uk/~sgtatham/putty/) on Windows or [OpenSSH](http://www.openssh.com/) on \*nix). +2. Create a directory called `www` in your home directory by typing `mkdir ~/www`. (This directory may already exist.) +3. Put the files you want on your web page in your new `www` directory. `index.{html,php}` will be loaded by default. You can upload files using an scp client (e.g. [WinSCP](http://winscp.net/) on Windows or [OpenSSH](http://www.openssh.com/) on \*nix). +4. Visit your new web page at `http://csclub.uwaterloo.ca/~username/`, where `username` should be replaced by your username. + +Examples of configurations for more advanced web hosting setups can be found in [this wiki article](https://wiki.csclub.uwaterloo.ca/Web_Hosting). + +If you're still having trouble getting your page up, contact the [Systems Committee](mailto:syscom@csclub.uwaterloo.ca). -- 2.39.2 From 6a10dd0070cdbc426157e21a1fe239c35573bcff Mon Sep 17 00:00:00 2001 From: Aditya Thakral Date: Mon, 23 Aug 2021 10:19:29 -0400 Subject: [PATCH 2/9] Support description in OrganizedContent Header --- components/OrganizedContent/Header.module.css | 13 ++++++++ components/OrganizedContent/Header.tsx | 21 ++++++++++-- components/OrganizedContent/ReadAll.tsx | 18 +++++++++-- components/OrganizedContent/Section.tsx | 32 ++++++++++--------- 4 files changed, 64 insertions(+), 20 deletions(-) diff --git a/components/OrganizedContent/Header.module.css b/components/OrganizedContent/Header.module.css index ac0377bd..0a715376 100644 --- a/components/OrganizedContent/Header.module.css +++ b/components/OrganizedContent/Header.module.css @@ -19,6 +19,15 @@ text-align: center; } +.imageRight { + flex-direction: row-reverse; +} + +.imageRight .header { + text-align: left; + margin-left: 0; +} + @media only screen and (max-width: calc(768rem / 16)) { .headerContainer { flex-direction: column; @@ -34,4 +43,8 @@ .headerImage { width: calc(100rem / 16); } + + .description { + display: none; + } } diff --git a/components/OrganizedContent/Header.tsx b/components/OrganizedContent/Header.tsx index 38cb9149..780fcf25 100644 --- a/components/OrganizedContent/Header.tsx +++ b/components/OrganizedContent/Header.tsx @@ -8,14 +8,29 @@ export interface Props { title: string; image: string; children: ReactNode; + description?: string; + imagePosition?: "left" | "right"; } -export function Header({ title, image, children }: Props) { +export function Header({ + title, + image, + children, + description, + imagePosition, +}: Props) { return (
-
+
-

{title}

+
+

{title}

+ {description &&

{description}

} +
{children}
diff --git a/components/OrganizedContent/ReadAll.tsx b/components/OrganizedContent/ReadAll.tsx index 66863de2..6a610346 100644 --- a/components/OrganizedContent/ReadAll.tsx +++ b/components/OrganizedContent/ReadAll.tsx @@ -26,10 +26,19 @@ export interface Options { pagePath: string; title: string; image: string; + imagePosition?: "left" | "right"; link?: ComponentType; + description?: string; } -export function createReadAllPage({ title, image, pagePath, link }: Options) { +export function createReadAllPage({ + title, + image, + pagePath, + link, + description, + imagePosition, +}: Options) { const Link = link ?? createLink(pagePath); return function Page({ sections }: Props) { @@ -44,7 +53,12 @@ export function createReadAllPage({ title, image, pagePath, link }: Options) { ); return ( -
+
; -} - -export function createSectionPage({ title, image, pagePath, link }: Options) { +export function createSectionPage({ + title, + image, + pagePath, + link, + description, + imagePosition, +}: Options) { const Link = link ?? createLink(pagePath); return function Page(this: void, { content, sections, current }: Props) { return ( -
+
Date: Mon, 23 Aug 2021 10:19:58 -0400 Subject: [PATCH 3/9] More generic code-of-conduct and consititution pages --- pages/about/code-of-conduct.tsx | 12 ++++++------ pages/about/code-of-conduct/[section].tsx | 12 ++++-------- pages/about/constitution.tsx | 12 ++++++------ pages/about/constitution/[section].tsx | 12 ++++-------- 4 files changed, 20 insertions(+), 28 deletions(-) diff --git a/pages/about/code-of-conduct.tsx b/pages/about/code-of-conduct.tsx index a68d5dc4..3fc88256 100644 --- a/pages/about/code-of-conduct.tsx +++ b/pages/about/code-of-conduct.tsx @@ -3,12 +3,12 @@ import path from "path"; import { createReadAllPage } from "@/components/OrganizedContent/ReadAll"; import { createReadAllGetStaticProps } from "@/components/OrganizedContent/static"; -export const CODE_OF_CONDUCT_PAGE = path.join("about", "code-of-conduct"); - -export default createReadAllPage({ +export const options = { title: "Code of Conduct", image: "images/code-of-conduct.svg", - pagePath: CODE_OF_CONDUCT_PAGE, -}); + pagePath: path.join("about", "code-of-conduct"), +}; -export const getStaticProps = createReadAllGetStaticProps(CODE_OF_CONDUCT_PAGE); +export default createReadAllPage(options); + +export const getStaticProps = createReadAllGetStaticProps(options.pagePath); diff --git a/pages/about/code-of-conduct/[section].tsx b/pages/about/code-of-conduct/[section].tsx index 0aa7c957..7d71be05 100644 --- a/pages/about/code-of-conduct/[section].tsx +++ b/pages/about/code-of-conduct/[section].tsx @@ -4,13 +4,9 @@ import { createSectionGetStaticProps, } from "@/components/OrganizedContent/static"; -import { CODE_OF_CONDUCT_PAGE } from "../code-of-conduct"; +import { options } from "../code-of-conduct"; -export default createSectionPage({ - title: "Code of Conduct", - image: "images/code-of-conduct.svg", - pagePath: CODE_OF_CONDUCT_PAGE, -}); +export default createSectionPage(options); -export const getStaticProps = createSectionGetStaticProps(CODE_OF_CONDUCT_PAGE); -export const getStaticPaths = createSectionGetStaticPaths(CODE_OF_CONDUCT_PAGE); +export const getStaticProps = createSectionGetStaticProps(options.pagePath); +export const getStaticPaths = createSectionGetStaticPaths(options.pagePath); diff --git a/pages/about/constitution.tsx b/pages/about/constitution.tsx index 0e82b62a..cf1d7902 100644 --- a/pages/about/constitution.tsx +++ b/pages/about/constitution.tsx @@ -3,12 +3,12 @@ import path from "path"; import { createReadAllPage } from "@/components/OrganizedContent/ReadAll"; import { createReadAllGetStaticProps } from "@/components/OrganizedContent/static"; -export const CONSTITUTION_PAGE = path.join("about", "constitution"); - -export default createReadAllPage({ +export const options = { title: "Constitution", image: "images/constitution.svg", - pagePath: CONSTITUTION_PAGE, -}); + pagePath: path.join("about", "constitution"), +}; -export const getStaticProps = createReadAllGetStaticProps(CONSTITUTION_PAGE); +export default createReadAllPage(options); + +export const getStaticProps = createReadAllGetStaticProps(options.pagePath); diff --git a/pages/about/constitution/[section].tsx b/pages/about/constitution/[section].tsx index d8c6f3a4..bd7cb7a1 100644 --- a/pages/about/constitution/[section].tsx +++ b/pages/about/constitution/[section].tsx @@ -4,13 +4,9 @@ import { createSectionGetStaticProps, } from "@/components/OrganizedContent/static"; -import { CONSTITUTION_PAGE } from "../constitution"; +import { options } from "../constitution"; -export default createSectionPage({ - title: "Constitution", - image: "images/constitution.svg", - pagePath: CONSTITUTION_PAGE, -}); +export default createSectionPage(options); -export const getStaticProps = createSectionGetStaticProps(CONSTITUTION_PAGE); -export const getStaticPaths = createSectionGetStaticPaths(CONSTITUTION_PAGE); +export const getStaticProps = createSectionGetStaticProps(options.pagePath); +export const getStaticPaths = createSectionGetStaticPaths(options.pagePath); -- 2.39.2 From fc7a31cc57a9d6d1685ead80fac8c5fd23bbf2e5 Mon Sep 17 00:00:00 2001 From: Aditya Thakral Date: Mon, 23 Aug 2021 10:20:14 -0400 Subject: [PATCH 4/9] Add services page --- pages/resources/services.mdx | 1 - pages/resources/services.tsx | 20 ++++++++++++++++++++ pages/resources/services/[section].tsx | 12 ++++++++++++ public/images/services.svg | 9 +++++++++ 4 files changed, 41 insertions(+), 1 deletion(-) delete mode 100644 pages/resources/services.mdx create mode 100644 pages/resources/services.tsx create mode 100644 pages/resources/services/[section].tsx create mode 100644 public/images/services.svg diff --git a/pages/resources/services.mdx b/pages/resources/services.mdx deleted file mode 100644 index 3effab29..00000000 --- a/pages/resources/services.mdx +++ /dev/null @@ -1 +0,0 @@ -# Services Page \ No newline at end of file diff --git a/pages/resources/services.tsx b/pages/resources/services.tsx new file mode 100644 index 00000000..5f65a39c --- /dev/null +++ b/pages/resources/services.tsx @@ -0,0 +1,20 @@ +import path from "path"; + +import { + createReadAllPage, + Options, +} from "@/components/OrganizedContent/ReadAll"; +import { createReadAllGetStaticProps } from "@/components/OrganizedContent/static"; + +export const options: Options = { + title: "Services", + image: "images/services.svg", + pagePath: path.join("resources", "services"), + description: + "Here you can find all the links and instructions to the different resources available to all CSC members!", + imagePosition: "right", +}; + +export default createReadAllPage(options); + +export const getStaticProps = createReadAllGetStaticProps(options.pagePath); diff --git a/pages/resources/services/[section].tsx b/pages/resources/services/[section].tsx new file mode 100644 index 00000000..d54c0bd9 --- /dev/null +++ b/pages/resources/services/[section].tsx @@ -0,0 +1,12 @@ +import { createSectionPage } from "@/components/OrganizedContent/Section"; +import { + createSectionGetStaticPaths, + createSectionGetStaticProps, +} from "@/components/OrganizedContent/static"; + +import { options } from "../services"; + +export default createSectionPage(options); + +export const getStaticProps = createSectionGetStaticProps(options.pagePath); +export const getStaticPaths = createSectionGetStaticPaths(options.pagePath); diff --git a/public/images/services.svg b/public/images/services.svg new file mode 100644 index 00000000..854a8a85 --- /dev/null +++ b/public/images/services.svg @@ -0,0 +1,9 @@ + + + + + + + + + -- 2.39.2 From 581481f6e2d46adbd747af0f11a2a4e8037c8b13 Mon Sep 17 00:00:00 2001 From: Aditya Thakral Date: Mon, 23 Aug 2021 10:48:06 -0400 Subject: [PATCH 5/9] Use custom button and pre in markdown --- components/Pre.module.css | 6 ++++++ components/Pre.tsx | 9 +++++++++ pages/_app.tsx | 6 +++++- 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 components/Pre.module.css create mode 100644 components/Pre.tsx diff --git a/components/Pre.module.css b/components/Pre.module.css new file mode 100644 index 00000000..b3e7a635 --- /dev/null +++ b/components/Pre.module.css @@ -0,0 +1,6 @@ +.pre { + padding: calc(10rem / 16); + background: var(--input-background); + overflow-x: auto; + border-radius: calc(5rem / 16); +} diff --git a/components/Pre.tsx b/components/Pre.tsx new file mode 100644 index 00000000..1068d1cf --- /dev/null +++ b/components/Pre.tsx @@ -0,0 +1,9 @@ +import React, { HTMLAttributes } from "react"; + +import styles from "./Pre.module.css"; + +export function Pre(props: HTMLAttributes) { + const classes = [styles.pre, props.className ?? ""]; + + return
;
+}
diff --git a/pages/_app.tsx b/pages/_app.tsx
index 6be350bf..bd681180 100644
--- a/pages/_app.tsx
+++ b/pages/_app.tsx
@@ -3,11 +3,13 @@ import { NextComponentType, NextPageContext } from "next";
 import { AppProps as DefaultAppProps } from "next/app";
 import React, { ComponentType, ReactNode } from "react";
 
+import { Button } from "@/components/Button";
 import { DefaultLayout } from "@/components/DefaultLayout";
 import { Footer } from "@/components/Footer";
 import { HorizontalLine } from "@/components/HorizontalLine";
 import { Link } from "@/components/Link";
 import { Navbar } from "@/components/Navbar";
+import { Pre } from "@/components/Pre";
 import { ThemeProvider } from "@/components/Theme";
 
 import styles from "./_app.module.css";
@@ -20,7 +22,9 @@ export default function App({ Component, pageProps }: AppProps): JSX.Element {
 
   return (
     
-      
+      
         
{/* Wrapping content with a div to allow for a display: block parent */} -- 2.39.2 From 563702a81795b2773e49eb5d49f6717d5080fb83 Mon Sep 17 00:00:00 2001 From: Aditya Thakral Date: Mon, 23 Aug 2021 10:48:20 -0400 Subject: [PATCH 6/9] Add blank machine usage agreement --- components/Navbar.tsx | 4 ++++ pages/resources/machine-usage-agreement.mdx | 1 + 2 files changed, 5 insertions(+) create mode 100644 pages/resources/machine-usage-agreement.mdx diff --git a/components/Navbar.tsx b/components/Navbar.tsx index e3967cb0..fb12d446 100644 --- a/components/Navbar.tsx +++ b/components/Navbar.tsx @@ -62,6 +62,10 @@ const menu: Menu = [ name: "Services", route: "/resources/services", }, + { + name: "Machine Usage Agreement", + route: "/resources/machine-usage-agreement", + }, { name: "Tech Talks", route: "/resources/tech-talks", diff --git a/pages/resources/machine-usage-agreement.mdx b/pages/resources/machine-usage-agreement.mdx new file mode 100644 index 00000000..8cc1e3bc --- /dev/null +++ b/pages/resources/machine-usage-agreement.mdx @@ -0,0 +1 @@ +# Machine Usage Agreement \ No newline at end of file -- 2.39.2 From 903aaf2ce2d03ee6208a54cb526d8c25a0e10965 Mon Sep 17 00:00:00 2001 From: Aditya Thakral Date: Mon, 23 Aug 2021 20:09:58 -0400 Subject: [PATCH 7/9] Add /resources/machine-usage-agreement page (#170) closes #167 Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/170 Co-authored-by: Aditya Thakral Co-committed-by: Aditya Thakral --- components/Navbar.tsx | 2 +- .../code-of-conduct/additional-information.md | 2 +- .../code-of-conduct/contact-information.md | 2 +- .../experiencing-unacceptable-behaviour.md | 2 +- content/about/constitution/code-of-conduct.md | 4 +- content/get-involved.mdx | 8 ++-- .../acceptable-and-unacceptable-use.md | 8 ++++ .../machine-usage-agreement/club-accounts.md | 24 +++++++++++ .../machine-usage-agreement/definitions.md | 43 +++++++++++++++++++ .../rights-of-syscom-and-exec.md | 10 +++++ .../machine-usage-agreement/security.md | 13 ++++++ .../machine-usage-agreement/summary.md | 31 +++++++++++++ .../machine-usage-agreement/usage-policy.md | 15 +++++++ .../machine-usage-agreement/user-agreement.md | 20 +++++++++ .../user-responsibilities.md | 10 +++++ .../resources/services/machine-accounts.md | 3 +- pages/resources/machine-usage-agreement.mdx | 1 - pages/resources/machine-usage-agreement.tsx | 18 ++++++++ .../machine-usage-agreement/[section].tsx | 12 ++++++ 19 files changed, 216 insertions(+), 12 deletions(-) create mode 100644 content/resources/machine-usage-agreement/acceptable-and-unacceptable-use.md create mode 100644 content/resources/machine-usage-agreement/club-accounts.md create mode 100644 content/resources/machine-usage-agreement/definitions.md create mode 100644 content/resources/machine-usage-agreement/rights-of-syscom-and-exec.md create mode 100644 content/resources/machine-usage-agreement/security.md create mode 100644 content/resources/machine-usage-agreement/summary.md create mode 100644 content/resources/machine-usage-agreement/usage-policy.md create mode 100644 content/resources/machine-usage-agreement/user-agreement.md create mode 100644 content/resources/machine-usage-agreement/user-responsibilities.md delete mode 100644 pages/resources/machine-usage-agreement.mdx create mode 100644 pages/resources/machine-usage-agreement.tsx create mode 100644 pages/resources/machine-usage-agreement/[section].tsx diff --git a/components/Navbar.tsx b/components/Navbar.tsx index fb12d446..ab3e1c1d 100644 --- a/components/Navbar.tsx +++ b/components/Navbar.tsx @@ -63,7 +63,7 @@ const menu: Menu = [ route: "/resources/services", }, { - name: "Machine Usage Agreement", + name: "Machine Usage", route: "/resources/machine-usage-agreement", }, { diff --git a/content/about/code-of-conduct/additional-information.md b/content/about/code-of-conduct/additional-information.md index 394ceb7b..9c8d86bc 100644 --- a/content/about/code-of-conduct/additional-information.md +++ b/content/about/code-of-conduct/additional-information.md @@ -5,4 +5,4 @@ index: 10 Additionally, the Executive Council are available to help Club members engage with local law enforcement or to otherwise help those experiencing unacceptable behaviour feel safe. In the context of in-person events, organizers will also provide escorts as desired by the person experiencing distress. -Changes to the Code of Conduct are governed by the Club's [constitution](https://csclub.uwaterloo.ca/about/constitution). +Changes to the Code of Conduct are governed by the Club's [constitution](/about/constitution). diff --git a/content/about/code-of-conduct/contact-information.md b/content/about/code-of-conduct/contact-information.md index cb05e4a8..99e845b9 100644 --- a/content/about/code-of-conduct/contact-information.md +++ b/content/about/code-of-conduct/contact-information.md @@ -3,4 +3,4 @@ title: Contact Information index: 9 --- -- The Computer Science Club [Officers can be contacted as a whole](https://csclub.uwaterloo.ca/about/). +- The Computer Science Club [Officers can be contacted as a whole](/about). diff --git a/content/about/code-of-conduct/experiencing-unacceptable-behaviour.md b/content/about/code-of-conduct/experiencing-unacceptable-behaviour.md index f8ce9034..bfdfc0b4 100644 --- a/content/about/code-of-conduct/experiencing-unacceptable-behaviour.md +++ b/content/about/code-of-conduct/experiencing-unacceptable-behaviour.md @@ -5,7 +5,7 @@ index: 4 _The Executive Council and Faculty Advisor are herein referred to as the Officers, or singularly as Officer._ -If you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, [contact an Officer](https://csclub.uwaterloo.ca/about/). No situation is considered inconsequential. If you do not feel comfortable contacting an Executive Council member due to the nature of the incident, you may contact the [Faculty Advisor](https://csclub.uwaterloo.ca/about/exec#advisor). +If you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, [contact an Officer](/about). No situation is considered inconsequential. If you do not feel comfortable contacting an Executive Council member due to the nature of the incident, you may contact the [Faculty Advisor](/about#advisor). Upon receiving a complaint the Officer will inform the first of the following people who is not personally involved in the situation, or in a close relationship with the someone involved in the situation and is available, and this person shall handle the complaint and shall here after be referred to as the Handling Officer. diff --git a/content/about/constitution/code-of-conduct.md b/content/about/constitution/code-of-conduct.md index 74d4424a..92a9d31c 100644 --- a/content/about/constitution/code-of-conduct.md +++ b/content/about/constitution/code-of-conduct.md @@ -3,6 +3,6 @@ title: 12. Code of Conduct index: 12 --- -1. The Club has a [Code of Conduct](https://csclub.uwaterloo.ca/about/code-of-conduct). -2. The [scope of the Code of Conduct](https://csclub.uwaterloo.ca/about/code-of-conduct/scopes-and-spaces) is specified by the Code of Conduct. +1. The Club has a [Code of Conduct](/about/code-of-conduct). +2. The [scope of the Code of Conduct](/about/code-of-conduct/scopes-and-spaces) is specified by the Code of Conduct. 3. Changes to the Code of Conduct are governed by the same rules as changes to the Constitution. diff --git a/content/get-involved.mdx b/content/get-involved.mdx index fef63b05..cf09520d 100644 --- a/content/get-involved.mdx +++ b/content/get-involved.mdx @@ -14,10 +14,10 @@ a bunch of ways you can join and help out. 1. Drop by our office in **MC 3036/3037** with - your WatCard, and - $2 for term that you would like to pay for -2. Sign our [Machine Usage Agreement](https://csclub.uwaterloo.ca/services/machine_usage) +2. Sign our [Machine Usage Agreement](/resources/machine-usage-agreement) That's all! After your account created, you'll have access to all the -[services](https://csclub.uwaterloo.ca/services/) available to members. +[services](/resources/services) available to members. #### Membership Renewal @@ -36,7 +36,7 @@ University of Waterloo email address with the following: 1. a scan or photograph copy of your **WatCard**, 2. your **WatIAM userid**, and 3. your acknowledgement of having read, understood, and agreeing with our  -[Machine Usage Agreement](https://csclub.uwaterloo.ca/services/machine_usage). +[Machine Usage Agreement](/resources/machine-usage-agreement). #### Membership Renewal @@ -82,4 +82,4 @@ Each term the CSC holds elections to determine the executive council. To find out when and where the next elections will be held, keep an eye on on the [News](/). -For details on the elections, see the [Constitution](https://csclub.uwaterloo.ca/about/constitution). \ No newline at end of file +For details on the elections, see the [Constitution](/about/constitution). \ No newline at end of file diff --git a/content/resources/machine-usage-agreement/acceptable-and-unacceptable-use.md b/content/resources/machine-usage-agreement/acceptable-and-unacceptable-use.md new file mode 100644 index 00000000..7db0bee3 --- /dev/null +++ b/content/resources/machine-usage-agreement/acceptable-and-unacceptable-use.md @@ -0,0 +1,8 @@ +--- +title: Acceptable and Unacceptable Use +index: 3 +--- + +The CSC machines are intended for research, personal projects, and general use in accordance with the aims of the CSC (see the [CSC Constitution](/about/constitution) for further details). Projects that are of interest to the CSC may be given special priority by the CSC Systems Committee. + +Users must adhere to the CSC's policies concerning machine usage. diff --git a/content/resources/machine-usage-agreement/club-accounts.md b/content/resources/machine-usage-agreement/club-accounts.md new file mode 100644 index 00000000..cd5ea4e2 --- /dev/null +++ b/content/resources/machine-usage-agreement/club-accounts.md @@ -0,0 +1,24 @@ +--- +title: Club Accounts +index: 7 +--- + +The club accounts policy is divided into the following 2 sections: + +1. Access Control +1. Responsibility and Accountability + +## Access Control + +_Note: For the given section, any mention of the club, except in direct reference to the Computer Science Club, will refer to a club other than the CSC, which has, or requests, an account on a Computer Science Club machine._ + +Clubs are given accounts and provided with an e-mail and WWW pages, but are subject to the following to certain rules. They are as follows: + +1. The club account is subject to all restrictions of a users account, except that it is a shareable account. +1. The club members must have regular user accounts on the CSC machine that the club account will be on. If the club member does not already have such an account, one will be created to allow the member to manage the club account. +1. The members of the club with access to the club account shall be known to the CSC Systems Administrator to ensure that these people are aware of this section of the user agreement. +1. The club members with access to the club account shall not grant access to any other members by any means that are available to them, other than approaching the CSC System Administrator and requesting the change of access. + +## Responsibility and Accountability + +The account is the responsibility of the members who have access. If the resources owned by the club account are found to be in violation of any policy/rule/law of any of, but not limited to, the Computer Science Club, MFCF, the University of Waterloo, or any relevant law enforcement agency, then the members with access will be held **equally** responsible for that action. diff --git a/content/resources/machine-usage-agreement/definitions.md b/content/resources/machine-usage-agreement/definitions.md new file mode 100644 index 00000000..59be7a77 --- /dev/null +++ b/content/resources/machine-usage-agreement/definitions.md @@ -0,0 +1,43 @@ +--- +title: Definitions +index: 8 +--- + +CSC + +- The University of Waterloo [Computer Science Club](/) whose office is located in room 3036/3037 of Mathematics and Computer Building (UW campus), telephone number (519) 888-4657 x3870. + +CSC Network + +- The network of computer hardware and peripherals owned by, rented to, on loan to, or otherwise under the control of the CSC. + +MFCF + +- The [Math Faculty Computing Facility](http://www.math.uwaterloo.ca/mfcf/) at the University of Waterloo. + +Machine + +- Computer, terminal or other piece of hardware. +- Non-CSC machines include MFCF's xterms and printers. + +Systems Committee + +- An appointed body responsible for the operation of the CSC network and the software that runs on it. A complete description is available in the [CSC Constitution](/about/constitution). + +Network Bandwidth + +- The percentage of bytes per unit of time that can be handled by the network(s) in question. These networks include the University of Waterloo on-campus network and the Internet. + +Computing Resources + +- Resources the CSC considers limited include + - Public temporary disk space + - Swap space + - Other commonly held disk space (which may include the home file system) + - inodes + - Memory + - CPU time + - Processes + - TTYs and pseudo-TTYs + - Network bandwidth + - Ports diff --git a/content/resources/machine-usage-agreement/rights-of-syscom-and-exec.md b/content/resources/machine-usage-agreement/rights-of-syscom-and-exec.md new file mode 100644 index 00000000..1fbb41fb --- /dev/null +++ b/content/resources/machine-usage-agreement/rights-of-syscom-and-exec.md @@ -0,0 +1,10 @@ +--- +title: Rights of the Systems Committee and the CSC Executive +index: 6 +--- + +The Systems Committee may examine any files or programs believed to be out of control or in violation of the usage policies for the CSC network. Examination of a program includes examination of the running process and its binary. Files believed to be the data or source to the process may also be examined. The process may be killed, stopped or otherwise interrupted at the discretion of the Systems Committee. If the Systems Committee takes any of the above actions, the owner of the process will be notified. + +The Systems Committee may at any time revoke a user's permission to access an account provided that a written (possibly electronic) explanation is given. Cause for removal of access to an account includes, but is not limited to, violation of the machine usage policy. In the event of a dispute, a user whose account has been revoked may appeal to the CSC Executive for its reinstatement, as per the [CSC Constitution](/about/constitution). + +The CSC Executive has the right to update any policy, including this one, with reasonable notice. diff --git a/content/resources/machine-usage-agreement/security.md b/content/resources/machine-usage-agreement/security.md new file mode 100644 index 00000000..1d914225 --- /dev/null +++ b/content/resources/machine-usage-agreement/security.md @@ -0,0 +1,13 @@ +--- +title: Security +index: 5 +--- + +Users may not attempt to gain access to accounts other than those which they have been permitted to use. Similarly, users may not attempt to access other users' private files, nor may they attempt to find out the password of any account. + +An account may only be used by the person assigned to it. *Do not tell your password to anybody, or let anyone else use your account*. Users should consider the security implications of their actions. For example: + +- Passwords for accounts on CSC machines should not be used on other machines +- Accounts not on MFCF or CSC machines should not be granted automatic access to CSC accounts (e.g. via .rhosts files). + +The appropriate members of the systems committee must be notified immediately in the event that a security problem is found. Naturally, the problem should neither be exploited nor made public until it can be corrected. diff --git a/content/resources/machine-usage-agreement/summary.md b/content/resources/machine-usage-agreement/summary.md new file mode 100644 index 00000000..91cb9af2 --- /dev/null +++ b/content/resources/machine-usage-agreement/summary.md @@ -0,0 +1,31 @@ +--- +title: Summary +index: 1 +--- + +This is a brief version of the usage policy. Everyone who receives an account on one of the CS Club machines must sign the full Machine Usage Agreement, and this summary lists the things that the users will agree to. + +## Use of accounts + +- One person per account only. +- Usage intended for personal or course work. +- Don't abuse system resources. +- Use the machines in a respectful manner. + +## Security + +- Your `.rhosts` file should only contain your user IDs on CSC and MFCF machines. +- Don't use passwords that you use elsewhere, and *never* tell anyone your password. +- If you find security holes, report them to the [Systems Committee](mailto:syscom@csclub.uwaterloo.ca). Intentional malpractice will not be tolerated. + +## The Systems Committee may + +- Examine programs that seem to be violating policy or security; this includes the following, *when necessary*, +- Remove accounts with short/no notice and provide an reasonable explanation to the user as to why their account was removed. + +## General + +- You are completely responsible for your actions. +- Don't do anything illegal, damaging, or unethical. +- The executive team can change their policies with reasonable notice. +- CS Club machines will not be up at all times, and may crash while you are using them. diff --git a/content/resources/machine-usage-agreement/usage-policy.md b/content/resources/machine-usage-agreement/usage-policy.md new file mode 100644 index 00000000..2d0fa9f8 --- /dev/null +++ b/content/resources/machine-usage-agreement/usage-policy.md @@ -0,0 +1,15 @@ +--- +title: Usage Policy +index: 2 +--- + +Everyone who receives an account on one of the CS Club machines must sign the agreement in the final section. This document does not state who will be allowed accounts on CS Club machines, the normal expiry period of accounts, nor any other similar matters. Further, this policy does not, in general, guarantee any rights to users. + +_Note: that in the following sections, the term "user" implies a user of a CS Club machine, unless otherwise specified._ + +The usage policy is divided into the following sections: + +1. [Acceptable and Unacceptable Use](/resources/machine-usage-agreement/acceptable-and-unacceptable-use) +1. [User Responsibilities](/resources/machine-usage-agreement/user-responsibilities) +1. [Security](/resources/machine-usage-agreement/security) +1. [Rights of the Systems Committee and the CSC Executive](/resources/machine-usage-agreement/rights-of-syscom-and-exec) diff --git a/content/resources/machine-usage-agreement/user-agreement.md b/content/resources/machine-usage-agreement/user-agreement.md new file mode 100644 index 00000000..e98b7ed5 --- /dev/null +++ b/content/resources/machine-usage-agreement/user-agreement.md @@ -0,0 +1,20 @@ +--- +title: User Agreement +index: 9 +--- + +I have read and understood the usage policy of 29 August 2007, and I agree to use my account(s) on the CSC network in accordance with this policy. I am responsible for all actions taken by anyone using this account. Furthermore, I accept full legal responsibility for all of the actions that I commit using the CSC network according to any and all applicable laws. + +I understand that with little or no notice machines on the CSC network and resources on these machines may become unavailable. Machines may shut down while users are using them, and I will not hold the CSC responsible for lost time or data. + +``` +Name: ___________________________ + +Signature: ___________________________ + +Office Staff: ___________________________ + +Signature: ___________________________ + +Date: ___________________________ +``` diff --git a/content/resources/machine-usage-agreement/user-responsibilities.md b/content/resources/machine-usage-agreement/user-responsibilities.md new file mode 100644 index 00000000..7b3a5320 --- /dev/null +++ b/content/resources/machine-usage-agreement/user-responsibilities.md @@ -0,0 +1,10 @@ +--- +title: User Responsibilities +index: 4 +--- + +Users must be responsible for their behaviour. Users, and not the CSC, will be held accountable for any of their illegal, damaging or unethical actions. Such actions are obviously not permitted on CSC machines. + +Users must act responsibly, and the needs of others with regard to computing resources must be considered at all times. In particular, no user should use any resource to an extent that other users are prevented from similarly using that resource, and no user's actions shall disrupt the work of other users. + +Users must also abide by the usage policies of all machines that they connect to from CSC machines, or use to connect to CSC machines. It is the users' responsibility to check the policies of *all* machines that they connect to. diff --git a/content/resources/services/machine-accounts.md b/content/resources/services/machine-accounts.md index 0adbcd5a..acef9bc7 100644 --- a/content/resources/services/machine-accounts.md +++ b/content/resources/services/machine-accounts.md @@ -15,6 +15,7 @@ RSA: 0c:a3:66:52:10:19:7e:d6:9c:96:3f:60:c1:0c:d6:24 ED25519: 9e:a8:11:bb:65:1a:31:23:38:6b:94:9d:83:fd:ba:b1 ``` -[SSH key fingerprints for other machines](https://csclub.uwaterloo.ca/services/fingerprints) + +[SSH key fingerprints for other machines](/services/fingerprints) diff --git a/pages/resources/machine-usage-agreement.mdx b/pages/resources/machine-usage-agreement.mdx deleted file mode 100644 index 8cc1e3bc..00000000 --- a/pages/resources/machine-usage-agreement.mdx +++ /dev/null @@ -1 +0,0 @@ -# Machine Usage Agreement \ No newline at end of file diff --git a/pages/resources/machine-usage-agreement.tsx b/pages/resources/machine-usage-agreement.tsx new file mode 100644 index 00000000..66a408dc --- /dev/null +++ b/pages/resources/machine-usage-agreement.tsx @@ -0,0 +1,18 @@ +import path from "path"; + +import { + createReadAllPage, + Options, +} from "@/components/OrganizedContent/ReadAll"; +import { createReadAllGetStaticProps } from "@/components/OrganizedContent/static"; + +export const options: Options = { + title: "Machine Usage Agreement", + // TODO: Different image for this? + image: "images/services.svg", + pagePath: path.join("resources", "machine-usage-agreement"), +}; + +export default createReadAllPage(options); + +export const getStaticProps = createReadAllGetStaticProps(options.pagePath); diff --git a/pages/resources/machine-usage-agreement/[section].tsx b/pages/resources/machine-usage-agreement/[section].tsx new file mode 100644 index 00000000..d139a5ae --- /dev/null +++ b/pages/resources/machine-usage-agreement/[section].tsx @@ -0,0 +1,12 @@ +import { createSectionPage } from "@/components/OrganizedContent/Section"; +import { + createSectionGetStaticPaths, + createSectionGetStaticProps, +} from "@/components/OrganizedContent/static"; + +import { options } from "../machine-usage-agreement"; + +export default createSectionPage(options); + +export const getStaticProps = createSectionGetStaticProps(options.pagePath); +export const getStaticPaths = createSectionGetStaticPaths(options.pagePath); -- 2.39.2 From 9f547ab29939fc6e52011985c4d802c4f443abc3 Mon Sep 17 00:00:00 2001 From: Aditya Thakral Date: Tue, 24 Aug 2021 11:50:48 -0400 Subject: [PATCH 8/9] Add new color: --code-background --- components/Theme.tsx | 2 ++ pages/_app.css | 2 ++ 2 files changed, 4 insertions(+) diff --git a/components/Theme.tsx b/components/Theme.tsx index 0c697b1c..15698e21 100644 --- a/components/Theme.tsx +++ b/components/Theme.tsx @@ -38,6 +38,8 @@ export const PALETTE_NAMES = [ "--input-placeholder-text", "--input-text", + "--code-background", + "--navbar-page-overlay", ] as const; diff --git a/pages/_app.css b/pages/_app.css index 0c63a4f9..b0c6d313 100644 --- a/pages/_app.css +++ b/pages/_app.css @@ -26,6 +26,8 @@ body { --input-placeholder-text: #bbbbbb; --input-text: #6b6b6b; + --code-background: #f0f0f0; + --navbar-page-overlay: #787878b2; background-color: var(--primary-background); -- 2.39.2 From 96fa48f35633013ed33d431665b10fd847a50872 Mon Sep 17 00:00:00 2001 From: Aditya Thakral Date: Tue, 24 Aug 2021 11:51:15 -0400 Subject: [PATCH 9/9] Break words in the inlineCode component --- components/Code.module.css | 6 ++++++ components/Code.tsx | 9 +++++++++ components/Pre.module.css | 2 +- pages/_app.tsx | 9 ++++++++- 4 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 components/Code.module.css create mode 100644 components/Code.tsx diff --git a/components/Code.module.css b/components/Code.module.css new file mode 100644 index 00000000..ba3d5b71 --- /dev/null +++ b/components/Code.module.css @@ -0,0 +1,6 @@ +.code { + padding: 0 calc(4rem / 16); + background: var(--code-background); + border-radius: calc(5rem / 16); + word-wrap: break-word; +} diff --git a/components/Code.tsx b/components/Code.tsx new file mode 100644 index 00000000..1ca5273b --- /dev/null +++ b/components/Code.tsx @@ -0,0 +1,9 @@ +import React, { HTMLAttributes } from "react"; + +import styles from "./Code.module.css"; + +export function Code(props: HTMLAttributes) { + const classes = [styles.code, props.className ?? ""]; + + return ; +} diff --git a/components/Pre.module.css b/components/Pre.module.css index b3e7a635..6e5372f1 100644 --- a/components/Pre.module.css +++ b/components/Pre.module.css @@ -1,6 +1,6 @@ .pre { padding: calc(10rem / 16); - background: var(--input-background); + background: var(--code-background); overflow-x: auto; border-radius: calc(5rem / 16); } diff --git a/pages/_app.tsx b/pages/_app.tsx index bd681180..01452742 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -4,6 +4,7 @@ import { AppProps as DefaultAppProps } from "next/app"; import React, { ComponentType, ReactNode } from "react"; import { Button } from "@/components/Button"; +import { Code } from "@/components/Code"; import { DefaultLayout } from "@/components/DefaultLayout"; import { Footer } from "@/components/Footer"; import { HorizontalLine } from "@/components/HorizontalLine"; @@ -23,7 +24,13 @@ export default function App({ Component, pageProps }: AppProps): JSX.Element { return (
-- 2.39.2