Skip to content

Commit

Permalink
copying starter pages for fa24 site
Browse files Browse the repository at this point in the history
  • Loading branch information
abhutta0 committed Jul 30, 2024
1 parent cf25b7b commit 1710933
Show file tree
Hide file tree
Showing 65 changed files with 1,993 additions and 2 deletions.
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Ask a question
url: https://github.com/kevinlin1/just-the-class/discussions
about: Ask questions and discuss with other community members
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
20 changes: 20 additions & 0 deletions .github/workflows/jekyll.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Build and deploy Jekyll site to GitHub Pages

on:
push:
branches:
- main # or master before October 2020

jobs:
github-pages:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: helaili/jekyll-action@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
env:
CANVAS_TOKEN: ${{secrets.CANVAS_TOKEN}}
CANVAS_COURSE_ID: ${{secrets.CANVAS_COURSE_ID}}
CANVAS_BASE_URL: ${{ secrets.CANVAS_BASE_URL }}
JEKYLL_NO_BUNDLER_REQUIRE: true
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
5 changes: 5 additions & 0 deletions .netlify/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/sh
ESCAPED_URL=$(printf '%s\n' "$DEPLOY_URL" | sed -e 's/[\/&]/\\&/g')

sed -i -e "s/^url:.*$/url: '$ESCAPED_URL'/g" _config.yml
bundle exec jekyll build -b ''
1 change: 1 addition & 0 deletions Activities/git-placeholder.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Placeholder file to force git to create a folder here.
1 change: 1 addition & 0 deletions Assignments/git-fodder.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
some text
1 change: 1 addition & 0 deletions Examples/git-placeholder.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Placeholder file to force git to create a folder here.
17 changes: 17 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
source "https://rubygems.org"
gem "jekyll", "~> 3.9.0"
gem "coderay", "~> 1.1.0"

group :jekyll_plugins do
gem "jekyll-asciidoc", "~> 2.1.1"
gem "jekyll-seo-tag", "~> 2.7.1"
gem "jekyll-last-modified-at"
end

gem "kramdown-parser-gfm"

gem "github-pages", group: :jekyll_plugins
gem "lms-api"
gem "just-the-docs"

gem "webrick", "~> 1.7"
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2024 neu-se
Copyright (c) 2023 neu-se

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 2 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
index.html:
bundle exec jekyll serve
46 changes: 45 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,45 @@
# CS4530-Fall-2024
# CS4530, Spring 2024: Fundamentals of Software Engineering
This repository contains the source for the website for Northeastern's CS4530, Spring 2024 class. If you are looking to browse the site, you should visit it directly, at [https://neu-se.github.io/CS4530-Spring-2024/](https://neu-se.github.io/CS4530-Spring-2024/). If you are looking to edit the site, then you have come to the right place!

### Websites for prior versions of this class:
* [Fall 2023](https://neu-se.github.io/CS4530-Fall-2023)
* [Spring 2023](https://neu-se.github.io/CS4530-Spring-2023)
* [Fall 2022](https://neu-se.github.io/CS4530-Fall-2022)
* [Spring 2022](https://neu-se.github.io/CS4530-Spring-2022)
* [Fall 2021](https://pages.github.ccs.neu.edu/CS4530-Fall2021/CourseWebSite/)
* [Spring 2021](https://neu-se.github.io/CS4530-CS5500-Spring-2021/) (see also [public website repo](https://github.com/neu-se/CS4530-CS5500-Spring-2021/))
* [Fall 2020](https://pages.github.ccs.neu.edu/CS5500-CourseMaterials/CS4530-CS5500-Fall2020/)

### License
All materials in this repository (the lectures, assignments, and also the site itself) are released under the [Creative Commons Attribution-ShareAlike 4.0 License](https://creativecommons.org/licenses/by-sa/4.0/). Please feel free to reuse or remix these materials in your class. If you do, we'd love to hear your thoughts.

### About this site
This website is built using [Jekyll](https://jekyllrb.com), a lighweight static website generator that takes Markdown files as input and outputs a nicely structured website according to some template. This site uses [Kevin Lin's Just the Class](https://kevinl.info/just-the-class/) Jekyll template, which in turn is built on the [Just the Docs](https://pmarsceill.github.io/just-the-docs/) template.

### Local development environment

The local development environment for [Jekyll](https://jekyllrb.com) will allow you to run a live-updating local server that lets you preview what the website will look like when it is deployed. As you make changes to the website (in the markdown files), the development server will automatically update the site that it is serving. View the [Jekyll quick start guide](https://jekyllrb.com/docs/) for more information.

1. Follow the GitHub documentation for [Setting up your GitHub Pages site locally with Jekyll](https://help.github.com/en/articles/setting-up-your-github-pages-site-locally-with-jekyll).

1. Install a local Jekyll server if you do not already have one. To do this, say
```bash
$ gem install bundler jekyll
$ bundle install
```
1. Start your local Jekyll server.
```bash
$ bundle exec jekyll serve
```
1. Point your web browser to [http://localhost:4000](http://localhost:4000)
1. Reload your web browser after making a change to preview its effect.

### Canvas Sync
The GitHub Actions build system for this site is configured to automatically push content into Canvas when changes are pushed to the main branch of this repository. Specifically, it will push the assignments, lectures, and the home page material into Canvas, overwriting any changes made to those assignments, modules, or home page content in Canvas.

The Canvas sync plugin benefits from some metadata on assignments (e.g. due date) and lectures (e.g. list of lessons and curricular materials). Hence, the assignments and lectures in this site include a few extra front-matter definitions at the top of each page.

To use this plugin on a new repository, configure the GitHub secrets `CANVAS_BASE_URL`, `CANVAS_COURSE_ID` and `CANVAS_TOKEN`. Given that the plugin is embeded directly in the project (and not in a separate gem), it's also necessary to set the environmental variable `JEKYLL_NO_BUNDLER_REQUIRE` to true. Ideally, after this course offering is complete, the plugin should be extracted to its own module for better reusability. Note that GitHub Pages limits which plugins can be built using the standard GitHub Pages builder, and hence, the canvas sync plugin won't work if built using GitHub Pages. However, GitHub *Actions* will build whatever you want, including Jekyll sites with custom plugins. See the GitHub Actions configuration in this repo.

### Automatic website previews
This repository is also built by [Netlify](https://www.netlify.com). We do not use Netlify to host the production site, but use it for development. Each commit to this repository (to any branch) is automatically deployed to a publicly-accessible web address, allowing for an easy preview/review of what the site will look like given some change. The easiest way to use this workflow is to create a pull request: Netlify will add a status message on the pull request with a link to the current deploy preview of the site as it is in that pull request. As you push more commits to the pull request, Netlify will continue to update the site. Alternatively, you can log into the [Netlify control panel using GitHub sign-in](https://app.netlify.com/sites/objective-mclean-ad778c/overview) and view the complete deployment history, with direct links to all deploy previews (not just for pull requests).
1 change: 1 addition & 0 deletions Slides/git-placeholder.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Placeholder file to force git to create a folder here.
83 changes: 83 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# 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: CS4530, Fall 2024
#email: [email protected]
description: >- # this means to ignore newlines until "baseurl:"
Northeastern University CS 4530 "Fundamentals of Software Engineering",
Fall 2024. Professors Adeel Bhutta and Mitch Wand.
tagline: Fundamentals of Software Engineering
baseurl: '/CS4530-Fall-2024' # the subpath of your site, e.g. /blog
url: 'https://neu-se.github.io' # the base hostname & protocol for your site, e.g. http://example.com
exclude: ["Gemfile", "Gemfile.lock", "LICENSE", "README.md", "disabled", "vendor", "_plugins", "temp"]

# Theme settings
theme: just-the-docs
color_scheme: neu
search_enabled: true
heading_anchors: true
permalink: pretty

callouts:
warning:
title: Warning
color: red

#aux_links:
# Kevin Lin:
# - 'https://kevinl.info'
# Just the Class on GitHub:
# - 'https://github.com/kevinlin1/just-the-class'
footer_content: "&copy; 2024 Adeel Bhutta and Mitch Wand. Released under the <a href=\"https://creativecommons.org/licenses/by-sa/4.0/\">CC BY-SA</a> license"


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

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

plugins:
- jekyll-seo-tag
- jekyll-last-modified-at

last-modified-at:
date-format: '%b %d, %y %H:%M %Z'
33 changes: 33 additions & 0 deletions _data/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
deadlines:
'3':
Wed:
date: 2024/01/24 11:00am
content: ip1
'4':
Wed:
date: 2024/01/31 11:00am
content: tp1
'6':
Wed:
date: 2024/02/14 11:00am
content: tp2
'7':
Wed:
date: 2024/02/21 11:00am
content: ip2
'8':
Wed:
date: 2024/02/28 11:00am
content: tp3
'14':
Wed:
date: 2024/04/10 11:00am
content: tp4
dates:
firstMonday: 2024/01/08
numWeeks: 15
types:
default:
className: lesson
holiday:
className: holiday
Loading

0 comments on commit 1710933

Please sign in to comment.