Skip to content

Commit

Permalink
initial commit for course site template
Browse files Browse the repository at this point in the history
  • Loading branch information
ashmchiu committed Nov 4, 2024
0 parents commit f6aa93b
Show file tree
Hide file tree
Showing 139 changed files with 4,128 additions and 0 deletions.
29 changes: 29 additions & 0 deletions .github/workflows/merge-schedule.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Merge Schedule

on:
pull_request:
types:
- opened
- edited
schedule:
- cron: '0 * * * *'

jobs:
merge_schedule:
runs-on: ubuntu-latest
steps:
- uses: gr2m/merge-schedule-action@v2
with:
# Merge method to use. Possible values are merge, squash or
# rebase. Default is merge.
merge_method: squash
# Time zone to use. Default is UTC.
time_zone: 'America/Los_Angeles'
# Require all pull request statuses to be successful before
# merging. Default is `false`.
require_statuses_success: 'true'
# Label to apply to the pull request if the merge fails. Default is
# `automerge-fail`.
automerge_fail_label: 'merge-schedule-failed'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
*.gem
.bundle/
.jekyll-cache/
.jekyll-metadata
.sass-cache/
Gemfile.lock
_site/
node_modules/
vendor/
.DS_Store
.idea/
1 change: 1 addition & 0 deletions .htaccess
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ErrorDocument 404 /~cs161/su24/404.html
50 changes: 50 additions & 0 deletions 404.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
layout: page
permalink: /404.html
title: 404
nav_exclude: true
---

# 404

<style type="text/css" media="screen">
.container {
margin: 10px auto;
max-width: 600px;
text-align: center;
}
h1 {
margin: 30px 0;
font-size: 7em;
line-height: 1;
letter-spacing: -1px;
}
.row {
display: flex;
flex-wrap: wrap;
}
.column {
flex: 1
}
.container {
top: 50%;
}
</style>

<div class="row">
<div class="column"><img style="min-width: 100px;" src="{{ site.baseurl }}/assets/images/404.png"></div>
<div class="column">
<div class="container">
<h1>404</h1>
<p><strong>Looks like we're both lost. All I am getting is this:</strong></p>
<pre id="error-404">Program received signal SIGSEGV, Segmentation fault.
0x4576616e in main () at 404.c:42</pre>
<script>
(function () {
var el404 = document.getElementById('error-404');
el404.innerText = el404.innerText.replace('404', decodeURIComponent(window.location.pathname));
})();
</script>
<div>
</div>
</div>
1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
fa24.cs161.org
4 changes: 4 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
source 'https://rubygems.org'
gem "github-pages", group: :jekyll_plugins

gem "webrick"
23 changes: 23 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# CS 161 Staff Website

New course website for SU23 developed by Peyrin (ping on Slack in the `#website` channel if there are any problems).


## Updating assignments

- Instructions for uploading discussion worksheets are in `_data/discussions.yml`.
- Instructions for releasing homeworks are in `_data/homeworks.yml`.
- Instructions for releasing projects are in `_data/projects.yml`.


## Building website

To update the website, just push to this repo, and the website will automatically build and update in around a minute. To keep the repo clean, **please tag your commit messages** by adding an assignment tag at the beginning. Examples:
- `[disc02] release`
- `[hw02] add electronic hw`
- `[proj1] fix typo in spec`

To build the website locally, [install Jekyll](https://jekyllrb.com/docs/installation/) and run `bundle exec jekyll serve`.

## [NEW] SU24: Beginning of semester setup
Refer to this [GitHub gist](https://gist.github.com/ashmchiu/797f80d9d4c1d674b9868c0a01b633c0) for information on setting up the website to deploy on inst.eecs.
104 changes: 104 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
# Welcome to Jekyll!
#
# This config file is meant for settings that affect your whole site, values
# which you are expected to set up once and rarely edit after that. If you find
# yourself editing these this file very often, consider using Jekyll's data files
# feature for the data you need to update frequently.
#
# For technical reasons, this file is *NOT* reloaded automatically when you use
# 'jekyll serve'. If you change this file, please restart the server process.

# Site settings
# These are used to personalize your new site. If you look in the HTML files,
# you will see them accessed via {{ site.title }}, {{ site.github_repo }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.
title: Course Name
description: Course Name at School Name
baseurl: '' # the subpath of your site, e.g. /blog
url:
exclude: ["Gemfile", "Gemfile.lock", "LICENSE", "vendor"]

# Theme settings
remote_theme: just-the-docs/[email protected]
color_scheme: light
search_enabled: true
heading_anchors: true
permalink: pretty
aux_links:
Dark Mode:
- '#'
Ed:
- 'https://edstem.org'
OH Queue:
- 'https://oh.cs161.org'
Anonymous Feedback:
- 'https://TODO'
footer_content:

# Collections for website data
collections:
staffers:
modules:
schedules:
announcements:
# Default layouts for each collection type
defaults:
- scope:
path: ''
type: staffers
values:
layout: staffer
subpath: '/assets/staff/'
- scope:
path: ''
type: modules
values:
layout: module
- scope:
path: ''
type: schedules
values:
layout: schedule
- scope:
path: ''
type: announcements
values:
layout: announcement

compress_html:
clippings: all
comments: all
endings: all
startings: []
blanklines: false
profile: false

plugins:
- jekyll-seo-tag

color_scheme: wider

callouts:
warning:
title: Warning
color: yellow
story: # CS 161 custom config for story
title: Story
color: blue
example: # CS 161 custom config for proj2
title: Example
color: blue
question: # CS 161 custom config for proj2
title: Design Question
color: green

# For copy button on code
enable_copy_code_button: true

# CS 188 custom config variable
# Set this to true at the start of semesters to show a warning on the homepage
under_construction: false

# Set this to true if discussion times are uncertain (populates on calendar.md)
discussions_under_construction: false
7 changes: 7 additions & 0 deletions _data/calendar.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Follow the steps on https://fullcalendar.io/docs/v4/google-calendar until "Getting Set Up" to obtain the google_calendar_id.

google_api_key: None
google_calendar_id: None

google_calendar_embed_link: None
google_calendar_add_link: None
52 changes: 52 additions & 0 deletions _data/discussions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#####################################
# Instructions for updating website #
#####################################

# Discussion filepaths are all formatted based on the discussion number.
# Pad discussion numbers, e.g. discussion 2 uses "02", not "2".
# For example, the files for discussion 2 should be placed at:
# - /assets/discussions/disc02-regular.pdf
# - /assets/discussions/disc02-regular-sols.pdf
# - /assets/discussions/disc02-examprep.pdf
# - /assets/discussions/disc02-examprep-sols.pdf

# To upload discussion worksheets and solutions to the website, just
# put the files in assets/discussions using the filenames above.

# If you need to manually put something in the discussion cell
# (e.g. links to multiple worksheets for exam review weeks), there's
# an override field that you can use. Anything you put in the override
# field will be converted to Markdown.


#####################################
# Additional documentation #
#####################################

# Each element in the array corresponds to one box on the website.
# This includes boxes that are blank or don't have a discussion.
# By default, each box spans 2 rows (edit the default in syllabus.yml).
# To override this, use the "rowspan" attribute to resize a box.

# The website automatically numbers each element in the array.
# To skip numbering (e.g. for a "no discussion" box), add
# "nonumber: True" as an attribute.

# We currently assume that every week has both regular and exam-prep
# sections. If that's not true, update discussion.html.

# If released=True, the worksheet will populate
# If regular_video has a link and sols_released=True, the solutions and videos will populate
# whether to display links to worksheets.

discussions:
- title: "First Discussion"
released: True
sols_released: True
regular_video: "https://www.youtube.com/watch?v=FMLe4g8wGXE"
rowspan: 1
- title: "Discussion Title"
released: True
sols_released: False
regular_video: ""
examprep_video: ""
30 changes: 30 additions & 0 deletions _data/exams.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
current_exam: "midterm"
midterm:
date: "Monday, October 14th from 7-9PM PT"
alt: "Monday, October 14th from 9-11PM PT"
form_deadline: "Monday, October 7th, 11:59PM PT"
form_open_until: "Saturday, October 12th, 11:59PM PT"
form: "https://forms.gle/3DnmDdNTQiBJwJGSA"
scope: "Lectures 1-12, Homeworks 1-4, Project 1, Discussions 0-6"
num_cheatsheets: "one"
arrival: "6:50PM PT"
clarif_bathroom: "https://docs.google.com/document/d/1IR-rSOPFLl_VtLpqmzJEOmUE3h2W7UuXBnKFGTG14gw/edit?usp=sharing"
recordings: "https://forms.gle/ixbXxCSv3WAsJHW76"
remote_release: "7:10 PM"
day: "Monday, October 14th"
start: "7PM"
final:
date: "Tuesday, December 17th from 3-6PM PT"
alt: "Tuesday, December 17th from 6-9PM PT"
form_open_until: ""
form_deadline: ""
form: ""
scope: "Lectures 1-26, Homeworks 1-7, Projects 1-3, Discussions 0-13"
num_cheatsheets: "two"
arrival: "2:50PM PT"
clarif_bathroom: "https://forms.gle/ay2hPKArfMe7RCGc8"
recordings: "https://forms.gle/SJ1YcKT13d9rZT9u7"
remote_release: "3:10 PM"
day: "Tuesday, December 10th"
start: "3PM"
gradescope_demo: "https://www.gradescope.com/courses/831532/assignments/4780709"
16 changes: 16 additions & 0 deletions _data/faqs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
last_updated: "October 7, 2024"
year: "2025"
semester: "spring"
semester_capital: "Spring"
past_three_semesters: "Fall 2023, Spring 2024, and Fall 2024"
first_week: "January 22, 2025"
midterm:
date: "TBA"
alt: "TBA"
start: "TBA"
day: "TBA"
final:
date: "Wednesday, May 14, 2025, 7–10pm PT"
alt: "Wednesday, May 14, 2025, 4–7pm PT"
start: "7pm"
day: "Wednesday, May 14, 2025"
42 changes: 42 additions & 0 deletions _data/homeworks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#####################################
# Instructions for updating website #
#####################################

# Written HW filepaths are all formatted based on the HW number.
# Pad HW numbers, e.g. HW2 uses "02", not "2".
# For example, the files for written HW2 should be placed at:
# - assets/homeworks/hw02.pdf
# - assets/homeworks/hw02-sols.pdf

# To upload homework to the website:
# 1. In this file, add the link to the electronic Gradescope assignment.
# 2. Put the files in assets/homeworks using the filenames above.


#####################################
# Additional documentation #
#####################################

# Each element in the array corresponds to one box on the website.
# This includes boxes that are blank or don't have a homework.

# The website automatically numbers each element in the array.
# To skip numbering (e.g. for a blank box), add
# "nonumber: True" as an attribute.

#####################################
# Content #
#####################################

# HW1: Course policies, course accounts (edstem, inst eecs,security principles), c stack layout
# HW2: Canaries, printf oracle, crypto block cipher modes
# HW3: Padding oracle
# HW4: Symmetric-key encryption, hashing, PRNGs, DHE, Signatures, Certificates, Passwords
# HW5: web attacks, proj2 spec stuff (remove), sql injection lab
# HW6: networking thru TLS
# HW7: potpourri

homeworks:
- hw_link: "https://TODO"
due: "9/6"
rowspan: 3
Loading

0 comments on commit f6aa93b

Please sign in to comment.