Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Feature-rich Jekyll template for academic course websites with schedule, assignments, and announcements.
Jekyll Course Website Template is a static-site generator template for building academic course websites, packaged with pre-built pages for lectures, assignments, schedules, and announcements and deployable directly to GitHub Pages.
Jekyll Course Website Template is a feature-rich Jekyll theme specifically for academic courses. It takes course content written in Markdown files (stored in folders like _lectures, _assignments, _events, and _announcements) and outputs a complete static website with individual pages for assignments, lectures, course materials, and a course schedule. The template runs on Jekyll, the Ruby-based static site generator, and is designed to be published directly to GitHub Pages. It was created by kazemnejad and is heavily based on svmiller/course-website.
_events, _lectures, and _assignments collections._announcements/._sass/_user_vars.scss to change colors and themes._config.yml with your URL and base URL, enable GitHub Pages on the master branch, and the site builds automatically from source files._config.yml under the google_analytics field._data/nav.yml, so adding new pages doesn't require touching HTML templates._data or collection folders; the home page updates automatically.cmu-cs101/fa2020) to maintain multiple semesters of the same course under one account/org._sass/_user_vars.scss; change the course name, semester, description, school name, and address from _config.yml.hide_from_announcments: true in front matter.Jekyll Course Website Template is built on Jekyll collections. Content lives in folders like _lectures, _assignments, _events, _announcements, and _data. Each file includes YAML front matter (e.g., type, date, title, optional pdf, solutions, links) followed by Markdown body content. Jekyll processes these at build time, generating static HTML pages and the schedule/announcement sections. To get started, fork the repository, edit _config.yml, then push to GitHub Pages; for local development, install Jekyll and run bundle exec jekyll serve to watch changes live.
Yes, the template is open source and hosted on GitHub. Since it's designed for GitHub Pages, hosting is free for public repositories. No pricing or paid tiers are mentioned in the repository.
No. It's a static site generator, so the output is plain HTML. All content is stored in Markdown files within the repository, and Jekyll builds the site at deploy time. The only runtime requirement is Jekyll during the build step (GitHub Pages handles that automatically).
Create a new Markdown file in the _lectures or _assignments folder, fill in the YAML front matter (type, date, title, and optional fields like pdf, solutions, or links), and add content below the front matter. The template will automatically include it on the schedule and updates pages unless you set hide_from_announcments: true.
Yes. Version 2.0 added support for themes. Open _sass/_user_vars.scss, comment or uncomment one of the pre-defined themes, or modify the color variables manually. You can also change the navigation menu and add new pages via _data/nav.yml.
The demo and real-world examples (like iust-deep-learning.github.io/972 ) shown in the repository use the older version. Version 2.0 introduced a new schedule page, Gregorian calendar default, more customization options for home/assignments/lectures/schedule pages, themes, YAML navigation, and more flexible lecture links.
