Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
00bce06
Update _config.yml
TheBlackDemon Oct 21, 2024
9f05ab0
Update _config.yml
TheBlackDemon Oct 21, 2024
c1dc00a
Update people.yml
TheBlackDemon Oct 21, 2024
49b611e
Update people.yml
TheBlackDemon Oct 21, 2024
04a48d0
Update _config.yml
TheBlackDemon Oct 21, 2024
3131576
Update _config.yml
TheBlackDemon Oct 21, 2024
11399f2
Update _config.yml
TheBlackDemon Oct 21, 2024
410bee1
Update _config.yml
TheBlackDemon Oct 21, 2024
b592b55
Update people.yml
TheBlackDemon Oct 21, 2024
78fd25c
Update _config.yml
TheBlackDemon Oct 23, 2024
a218fef
Update previous_offering.yml
TheBlackDemon Oct 23, 2024
829165a
Update people.yml
TheBlackDemon Oct 23, 2024
539a31d
Update people.yml
TheBlackDemon Oct 23, 2024
fe9eb81
Update README.md
TheBlackDemon Oct 23, 2024
6142dfc
Update _config.yml
TheBlackDemon Oct 23, 2024
0db26b7
Update _config.yml
TheBlackDemon Oct 23, 2024
13af676
Update _config.yml
TheBlackDemon Oct 23, 2024
694643a
Update _config.yml
TheBlackDemon Oct 23, 2024
a1aafaa
Update people.yml
TheBlackDemon Oct 23, 2024
5a6be20
Update people.yml
TheBlackDemon Oct 23, 2024
93019e5
Add files via upload
TheBlackDemon Oct 23, 2024
8f33c3d
Add files via upload
TheBlackDemon Oct 23, 2024
6d15eb1
Add files via upload
TheBlackDemon Oct 23, 2024
c620c65
Update _user_vars.scss
TheBlackDemon Oct 23, 2024
f846b99
Update _config.yml
TheBlackDemon Oct 23, 2024
9bf767e
Update people.yml
TheBlackDemon Oct 23, 2024
d0dc590
Update _user_vars.scss
TheBlackDemon Oct 23, 2024
6513720
Update _user_vars.scss
TheBlackDemon Oct 23, 2024
a843a79
Add files via upload
TheBlackDemon Oct 23, 2024
0430a68
Update people.yml
TheBlackDemon Oct 23, 2024
a0fa542
Update index.md
TheBlackDemon Oct 23, 2024
08d3476
Update index.md
TheBlackDemon Oct 23, 2024
c485d2b
Update index.md
TheBlackDemon Oct 23, 2024
c736d4c
Update 01_sample_assignment.md
TheBlackDemon Oct 23, 2024
fa005f0
Update 01_sample_assignment.md
TheBlackDemon Oct 23, 2024
005d76f
Update assignments.md
TheBlackDemon Oct 23, 2024
e377035
Update lectures.md
TheBlackDemon Oct 23, 2024
715fcf5
Update sample_due.md
TheBlackDemon Oct 23, 2024
9046dc9
Update sample_exam_due.md
TheBlackDemon Oct 23, 2024
65e2b8f
Update sample_raw_event.md
TheBlackDemon Oct 23, 2024
b7cdaea
Update schedule.md
TheBlackDemon Oct 23, 2024
4c0f015
Update materials.md
TheBlackDemon Oct 23, 2024
5464c88
Update schedule.md
TheBlackDemon Oct 23, 2024
bec65d7
Update lectures.md
TheBlackDemon Oct 23, 2024
7c65243
Update schedule.md
TheBlackDemon Oct 23, 2024
9ffb988
Update materials.md
TheBlackDemon Oct 23, 2024
db49e16
Update lectures.md
TheBlackDemon Oct 23, 2024
c31eb5a
Update materials.md
ZeynabAshourii Oct 23, 2024
d50b464
Update materials.md
ZeynabAshourii Oct 23, 2024
60781d4
Add files via upload
ZeynabAshourii Oct 23, 2024
882c391
Rename coverBook.jpg to coverBook1.jpg
ZeynabAshourii Oct 23, 2024
8381cb6
Add files via upload
ZeynabAshourii Oct 23, 2024
d7aa867
Rename coverBook1.jpg to coverBook.jpg
ZeynabAshourii Oct 23, 2024
9080821
Delete coverBook.jpg
ZeynabAshourii Oct 23, 2024
64dcf53
Update materials.md
ZeynabAshourii Oct 23, 2024
39d5c06
Delete _images/coverBook.jpg
ZeynabAshourii Oct 23, 2024
43d7990
Add files via upload
ZeynabAshourii Oct 23, 2024
9c699e5
Update materials.md
ZeynabAshourii Oct 23, 2024
af215ea
Delete _images/coverBook.jpg
ZeynabAshourii Oct 23, 2024
34172b3
Add files via upload
ZeynabAshourii Oct 23, 2024
a8f9955
Update materials.md
ZeynabAshourii Oct 23, 2024
63ee64a
Update project.md
ZeynabAshourii Oct 23, 2024
3103d88
Update assignments.md
ZeynabAshourii Oct 23, 2024
350e800
Update 01_sample_assignment.md
ZeynabAshourii Oct 23, 2024
2903345
Update 01_introduction.md
TheBlackDemon Oct 23, 2024
f4c0a38
Update 01_introduction.md
TheBlackDemon Oct 23, 2024
53c60d0
Update 01_introduction.md
TheBlackDemon Oct 23, 2024
fe277ac
Update 01_introduction.md
TheBlackDemon Oct 23, 2024
885836a
Create 02_sample_assignment.md
ZeynabAshourii Oct 23, 2024
3ff402f
Create 03_sample_assignment
TheBlackDemon Oct 23, 2024
0b5aeaf
Update 01_sample_assignment.md
TheBlackDemon Oct 23, 2024
0c8935f
Rename 03_sample_assignment to 03_sample_assignment.md
TheBlackDemon Oct 23, 2024
6e9c306
Delete _assignments/03_sample_assignment.md
TheBlackDemon Oct 23, 2024
d46541c
Update 02_sample_assignment.md
TheBlackDemon Oct 23, 2024
4722f2c
Update 02_sample_assignment.md
TheBlackDemon Oct 23, 2024
fbf70e4
Update 01_sample_assignment.md
TheBlackDemon Oct 23, 2024
9ac6a19
Update 01_sample_assignment.md
TheBlackDemon Oct 23, 2024
759f25f
Update 01_sample_assignment.md
TheBlackDemon Oct 23, 2024
bb36357
Update 02_sample_assignment.md
TheBlackDemon Oct 23, 2024
3a18cdf
Create 03_sample_assigment.md
TheBlackDemon Oct 23, 2024
b6f2e0d
Create 04_sample_assigment.md
TheBlackDemon Oct 23, 2024
a54fd61
Create 05_sample_assigment.md
TheBlackDemon Oct 23, 2024
d9e84fe
Update late_policy.yml
ZeynabAshourii Oct 23, 2024
e0b5ed0
Update 01_sample_assignment.md
ZeynabAshourii Oct 23, 2024
53ca9f9
Update 01_sample_assignment.md
ZeynabAshourii Oct 23, 2024
14f8fb1
Update 01_sample_assignment.md
ZeynabAshourii Oct 23, 2024
bff2bda
Update 01_sample_announcement.md
ZeynabAshourii Oct 23, 2024
7395f7f
Update 01_sample_assignment.md
ZeynabAshourii Oct 23, 2024
03350be
Update 02_sample_assignment.md
ZeynabAshourii Oct 23, 2024
e531a54
Update 01_sample_assignment.md
ZeynabAshourii Oct 23, 2024
920724f
Update 01_sample_assignment.md
ZeynabAshourii Oct 23, 2024
8133f12
Update 02_sample_assignment.md
ZeynabAshourii Oct 23, 2024
52ecb96
Update 02_sample_assignment.md
ZeynabAshourii Oct 23, 2024
9f9ebff
Update 03_sample_assigment.md
ZeynabAshourii Oct 23, 2024
3afbed7
Update 03_sample_assigment.md
ZeynabAshourii Oct 23, 2024
19dfae9
Update 04_sample_assigment.md
ZeynabAshourii Oct 23, 2024
7fb53ae
Update 04_sample_assigment.md
ZeynabAshourii Oct 23, 2024
0631523
Update 03_sample_assigment.md
ZeynabAshourii Oct 23, 2024
f4e599b
Update 05_sample_assigment.md
ZeynabAshourii Oct 23, 2024
796662e
Update 03_sample_assigment.md
ZeynabAshourii Oct 23, 2024
eda073d
Update 05_sample_assigment.md
ZeynabAshourii Oct 23, 2024
2751238
Update 05_sample_assigment.md
ZeynabAshourii Oct 23, 2024
e56950f
Update sample_exam_due.md
ZeynabAshourii Oct 23, 2024
10feba9
Delete _events/sample_raw_event.md
ZeynabAshourii Oct 23, 2024
2bd04a6
Update sample_exam_due.md
ZeynabAshourii Oct 23, 2024
9bd032f
Update sample_exam_due.md
ZeynabAshourii Oct 23, 2024
8134d30
Update sample_exam_due.md
ZeynabAshourii Oct 23, 2024
b9f2428
Delete _events/sample_due.md
ZeynabAshourii Oct 23, 2024
90802d3
Update people.yml
ZeynabAshourii Oct 23, 2024
20fd788
Delete _images/pp/granger.jpg
TheBlackDemon Oct 23, 2024
f44ed00
Delete _images/pp/mcgonagall.jpg
TheBlackDemon Oct 23, 2024
193a7c1
Delete _images/pp/potter.jpg
TheBlackDemon Oct 23, 2024
a33f129
Delete _images/pp/snape.jpg
TheBlackDemon Oct 23, 2024
506e9eb
Delete _images/pp/weasley.jpg
TheBlackDemon Oct 23, 2024
8c7e97f
Update people.yml
TheBlackDemon Oct 24, 2024
b54d57e
Update people.yml
TheBlackDemon Oct 28, 2024
35b6b0e
Update home.html
TheBlackDemon Oct 28, 2024
0da239e
Update people.yml
TheBlackDemon Oct 28, 2024
5a753b4
Update people.yml
TheBlackDemon Oct 28, 2024
8897c30
Add files via upload
TheBlackDemon Oct 28, 2024
efa4a59
Update people.yml
TheBlackDemon Oct 28, 2024
aa9965d
Update people.yml
TheBlackDemon Oct 28, 2024
6b65a69
Update home.html
TheBlackDemon Oct 28, 2024
69ae90e
Update people.yml
TheBlackDemon Oct 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
229 changes: 2 additions & 227 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,227 +1,2 @@
# Features
- Individual page for assignments, lectures, course material, course schedule
- Auto generated Course schedule Page
- Auto generated course updates section (for each new lectures and assignments) + custom/manual announcements
- Super lightweight
- Highly customizable
- Ready to be used in Github Pages
- Responsive Mobile View
- Support for Google Analytics

# Change log
- Version 2.0
- New Schedule page with more efficient use of space.
- Gregorian calendar is now the default one (English Calendar).
- Add customization options to home, assignments, lectures, and schedule pages.
- Add support for themes (so you can modify the website's look according to your school's brandings)!.
- Move navigation menus to YAML which means it is now easier to add new pages.
- Add more flexibility to lecture's links

# Demo
Checkout for a working demo at [kazemnejad.github.io/jekyll-course-website-template/](https://kazemnejad.github.io/jekyll-course-website-template/). You may also want to see this real-world example at [iust-deep-learning.github.io/972](https://iust-deep-learning.github.io/972/) or [iust-courses.github.io/ai97/](https://iust-courses.github.io/ai97/) (Please note the last two examples are using the older version).

# Some Screenshots
<p float="left">
<img src="https://raw.githubusercontent.com/kazemnejad/jekyll-course-website-template/master/_images/screenshots/screen_home.jpg" width="300">
<img src="https://raw.githubusercontent.com/kazemnejad/jekyll-course-website-template/master/_images/screenshots/screen_schedule.jpg" width="300">
<img src="https://raw.githubusercontent.com/kazemnejad/jekyll-course-website-template/master/_images/screenshots/screen_lecture.jpg" width="300">
</p>

<p float="left">
<img src="https://raw.githubusercontent.com/kazemnejad/jekyll-course-website-template/master/_images/screenshots/screen_assign.jpg" width="300">
<img src="https://raw.githubusercontent.com/kazemnejad/jekyll-course-website-template/master/_images/screenshots/screen_sample_assign.jpg" width="300">
<img src="https://raw.githubusercontent.com/kazemnejad/jekyll-course-website-template/master/_images/screenshots/screen_material.jpg" width="300">
</p>

# Acknowledgement
This template is heavily based on [svmiller / course-website](https://github.com/svmiller/course-website).

# How to deploy your own website (on GitHub pages)
1. Fork this repository.
2. Open `_config.yml`.
1. Update `url` field according to your GitHub account (e.g., `https://<your-github-username>.github.io/`).
2. Update `baseurl` field according to your reporsitory's name (e.g., `/cs101`).
3. Commit and push your changes.
3. Go to your repository's settigns (`https://github.com/<your-github-username>/<your-repo-name>/settings`).
4. On GitHub Pages section, choose source to be your master branch, and enable Github Pages.
5. You are now ready to go! Start customizing your website.

Pro Tip: You don't need to clone your repo to update your website. Use GitHub web UI to update its source files, and GitHub will build and deploy your website automatically!

**Best Practice for managing repositories**: If you plan to use this template for university courses, and the course is offered for multiple semesters/quarters, I suggests you to create a GitHub account or an Organization for it. Then, create new repoository under that account/organization for each semester.
- Example:
- Course name: CS101
- Semester: Fall 2020
- School name: CMU
- => account/org name: `cmu-cs101`
- => repo name: `fa2020`
- => website address will be: `https://cmu-cs101.github.io/fa2020/`

# How to test your website locally
1. Install Jekyll ([Installation guide](https://jekyllrb.com/docs/installation/))
2. Clone your repo
3. Watch your website while editing: `bundle exec jekyll serve`

# How to customize
## Changing the names
- Open `_config.yml`
- Update `course_name`, `course_semester`, and `course_description` (this will appear in the home page).
- Update `schoolname`, `schoolurl`, `twitter_username`, and `address` accordingly.
- (Optional) Enter your Google Analytics tracking ID in the `google_analytics` field (Remember to uncomment it).
- Add more content to your home page: Update `index.md` (it supports Markdown!)
- Update course staff info at `_data/people.yml` (You may need to upload the profile pics to `_images` folder.
- (Optional) Open `_data/previous_offering.yml` and update the data if needed.

## Change the looks
- Open `_sass/_user_vars.scss`
- Select your favorite from the pre-defined themes (comment all other themes, and uncomment your desired one)
- Here are all themes:
<img src="https://raw.githubusercontent.com/kazemnejad/jekyll-course-website-template/master/_images/screenshots/themes.png">

- You can also change the colors manually to match your branding
## Contents
### Lectures
To add a new lecture, create an empty file with `.md` postfix in `_lectures/` directory. fill it using below template:
```markdown
---
type: lecture
date: 20xx-xx-xxTx:xx:xx+4:30
title: <Title of this lecture>

# optional
# please use /static_files/notes directory to store notes
thumbnail: /static_files/path/to/image.jpg

# optional
tldr: "What is AI? How does it impact our lives? The current state of the art."

# optional
# set it to true if you dont want this lecture to appear in the updates section
hide_from_announcments: false

# optional
links:
- url: /static_files/presentations/lec.zip
name: notes
- url: /static_files/presentations/code.zip
name: codes
- url: https://google.com
name: slides
- url: https://example.com
name: other
---
<!-- Other additional contents using markdown -->
**Suggested Readings:**
- [Readings 1](http://example.com)
- [Readings 2](http://example.com)
```

### Assignments
To add a new assignments, create an empty file with `.md` postfix in `_assignments/` directory. fill it using below template:
```markdown
---
type: assignment
date: 20xx-xx-xxTx:xx:xx+4:30
title: <Assignment title (e.g. Assignment #1>

# optional
pdf: /static_files/assignments/assign_01.pdf

# optional
solutions: /static_files/assignments/assign_01_solutions.pdf

# optional
attachment: /static_files/assignments/assign_01_attachment.zip

# optional
# set it to true if you don't want this assignment to appear in the announcements section
hide_from_announcments: false

due_event:
type: due
date: 20xx-xx-xxTx:xx:xx+4:30
description: 'Assignment #1 due'
---
<!-- Other additional contents using markdown -->
```

### Dues & Deadlines
Use `_events/` directory to add new a deadline, use `type: due`. These events will apear at the schedule page.
```markdown
---
type: due
date: 20xx-xx-xxTx:xx:xx+4:30
description: <Description of deadline (e.g. 'Final report due')>

# optional
# set it to true if you don't want this event to appear in the announcements section
hide_from_announcments: false
---
```

### Exams
Use `_events/` directory to add new Exam alert, use `type: exam`. These events will apear at the schedule page.
```markdown
---
type: exam
date: 20xx-xx-xxTx:xx:xx+4:30
description: <Description of the exam (e.g. 'The midterm exam')>

# optional
# set it to true if you don't want to this event appear in the announcements section
hide_from_announcments: false
---
```

### Custom Events
Use `_events/` directory to add new custom events, use `type: raw_event`. These events will apear at the schedule page.
```markdown
---
type: raw_event
name: <Event name>
date: 20xx-xx-xxTx:xx:xx+4:30
description: <Event description>

# optional
# if you want to hide time in Schedule, set this to true
hide_time: false

# optional
# set it to true if you don't want this event appear to in the announcements section
hide_from_announcments: false
---
<!-- you can create custom content using markdown. this section will be placed in "Course Materials (in schedule section)" -->
## Hello
this is a custom event with `code`
```


### Updates/Announcements
All contents here appear in at the home page
Use `_announcements/` directory to create new Announcement
```markdown
---
date: 20xx-xx-xxTx:xx:xx+4:30
---
<put a short announcement here, you can use all markdown features>
```

## Advanced Customization
You can add custom contents to each section (lectures, assignments, schedule, materials, and project)
- Lectures: Edit `lectures.md`
- Assignments: Edit `assignments.md`
- Schedule: Edit `schedule.md`
- Materials: Edit `materials.md`
- Project: Edit `project.md`

Additionally, you can update navigation menus (the menu at the top of the website) by editing `_data/nav.yml`

To add new section, add new navigation menu. Then create a new file in website's root directory using the following template:
```markdown
---
layout: page
title: Page Title
permalink: /page-address/
---
```

# Course Description
This course introduces the fundamentals of computer programming using the Java programming language. We cover all basic syntax of Java with object-oriented programming principles.
4 changes: 2 additions & 2 deletions _announcements/01_sample_announcement.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
date: 2018-10-03T10:00:00+3:30
date: 1403-07-01T00:00:00
---
Sample announcement, Please check out [here](/).
Sample announcement, Please check out [here](/).
7 changes: 3 additions & 4 deletions _assignments/01_sample_assignment.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
---
type: assignment
date: 2018-09-26T4:00:00+4:30
title: 'Assignment #1 - Sample Assignment'
date: 1403-08-03T00:00:01
title: 'Assignment #1'
pdf: /static_files/assignments/asg.pdf
attachment: /static_files/assignments/asg.zip
solutions: /static_files/assignments/asg_solutions.pdf
due_event:
type: due
date: 2018-11-13T23:59:00+3:30
date: 1403-08-17T23:59:00
description: 'Assignment #1 due'
---
This is a sample assignment.
12 changes: 12 additions & 0 deletions _assignments/02_sample_assignment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
type: assignment
date: 1403-08-18T4:00:00+4:30
title: 'Assignment #2'
pdf: /static_files/assignments/asg.pdf
attachment: /static_files/assignments/asg.zip
solutions: /static_files/assignments/asg_solutions.pdf
due_event:
type: due
date: 1403-09-01T23:59:00+3:30
description: 'Assignment #2 due'
---
12 changes: 12 additions & 0 deletions _assignments/03_sample_assigment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
type: assignment
date: 1403-09-02T4:00:00+4:30
title: 'Assignment #3'
pdf: /static_files/assignments/asg.pdf
attachment: /static_files/assignments/asg.zip
solutions: /static_files/assignments/asg_solutions.pdf
due_event:
type: due
date: 1403-09-15T23:59:00+3:30
description: 'Assignment #3 due'
---
12 changes: 12 additions & 0 deletions _assignments/04_sample_assigment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
type: assignment
date: 1403-09-16T4:00:00+4:30
title: 'Assignment #4'
pdf: /static_files/assignments/asg.pdf
attachment: /static_files/assignments/asg.zip
solutions: /static_files/assignments/asg_solutions.pdf
due_event:
type: due
date: 1403-09-29T23:59:00+3:30
description: 'Assignment #4 due'
---
12 changes: 12 additions & 0 deletions _assignments/05_sample_assigment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
type: assignment
date: 1403-10-02T4:00:00+4:30
title: 'Assignment #5'
pdf: /static_files/assignments/asg.pdf
attachment: /static_files/assignments/asg.zip
solutions: /static_files/assignments/asg_solutions.pdf
due_event:
type: due
date: 1403-10-15T23:59:00+3:30
description: 'Assignment #5 due'
---
21 changes: 10 additions & 11 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
# Site settings
course_name: History of Magic
course_description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam ornare aliquam mattis. Donec hendrerit sollicitudin urna. Aliquam venenatis rutrum velit, at lobortis dui cursus a. Nam varius metus in turpis maximus, ut rhoncus tellus dictum. In aliquam tortor nec mi dapibus, sit amet vehicula dolor auctor."
course_semester: "Fall 1998"
course_name: Basic Programming
course_description: "Welcome to the Basic Programming course of Department of Mathematical Sciences Sharif University of Technology. Saturday and Monday 10:30-12:30 AM."
course_semester: "Autumn 2024"

baseurl: "/jekyll-course-website-template" # the subpath of your site, e.g. /blog/
url: "http://kazemnejad.github.io/" # the base hostname & protocol for your site
baseurl: "/Basic-Programming-Autumn-03" # the subpath of your site, e.g. /blog/
url: "http://theblackdemon.github.io/" # the base hostname & protocol for your site

schoolname: "Hogwarts"
schoolurl: "https://hogwarts.edu"
twitter_username: username
schoolname: "Sharif University of Technology"
schoolurl: "https://sharif.edu"
twitter_username: null

address: |
School of Witchcraft and Wizardry
Hogwarts
Scotland
Tehran
Iran

# Set your Google Analytics tracking ID (set up yours at http://www.google.com/analytics/)
# google_analytics: UA-XXXXXXXX-X
Expand Down
6 changes: 3 additions & 3 deletions _data/late_policy.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
policies:
- You have free 8 late days.
- You can use late days for assignments. A late day extends the deadline 24 hours.
- Once you have used all 8 late days, the penalty is 10% for each additional late day.
- The specified times are final and will not be extended in any way .
- You can submit a total of 15 days of exercises late without deducting marks.
- If the practice is delayed for more than 20 days, 5% of the grade will be deducted every day.
Loading