Just the Class is a GitHub Pages template developed for the purpose of quickly deploying course websites. In addition to serving plain web pages and files, it provides a boilerplate for:
- a course calendar,
- a staff page,
- and a weekly schedule.
Just the Class is a set of customizations on top of the popular Just the Docs theme, which provides a robust and thoroughly-tested foundation that makes it easy to extend for your own special use cases. These foundational features include:
- automatic navigation structure,
- instant, full-text search and page indexing,
- and a small but powerful set of UI components and authoring utilities.
Getting started with Just the Class is simple.
- Create a new repository based on Just the Class.
- Update
_config.yml
andindex.md
with your course information. - Configure a publishing source for GitHub Pages. Your course website is now live!
- Edit and create
.md
Markdown files to add your content._config.yml
- update first - its contents are not auto-refreshed like the .md pages do. To see the changes to its contents, stop/restart Jekyllabout.md
- make sure to update the Syllabus and course policiesannouncements.md
- skip, if not using the website Announcementscalendar.md
- the information from this file is displayed at the top of the page that lists weekly topics and due dates;- if not using reflections, make sure to comment-out that part of the instructions.
- The Calendar is populated using the files in the
_modules
folder. These are added semi-automatically, using a scriptgenerate_due_dates.py
that hard-codes start and end dates, etc.
faq.md
- make sure to update the QnA based on your course information. After you update the Syllabus and the Calendar, make sure you address the typical first-week questions and clarify the#weekly-pattern-and-planning-your-work
sectionindex.md
- the front page of the course; some of the info there, like the course title, come from the_config.yml
filejekyll.sh
- no need to change: run it as a shortcut to running thebundle
commandquiz.md
- make sure to update the instructions based on your course quiz structure and policiesschedule.md
- the information for it is pulled from the_schedules/weekly.md
--> make sure to update the latter - usually done via a scriptstaff.md
- the information for it is pulled from the_staffers
and images are in theassets/images
--> make sure to update them (see the_example.md
to help you get started with a template)success.md
- make sure to change the Roadmap to align with your course calendar
- For the
ref/
folder, I recommend initially comitting thegoals.md
, since it's referenced in the Syllabus andkeyboard.md
; the rest of them can be added later, when they become relevant. - Initial commit should include the following files (if using announcements):
README.md _announcements _config.yml _includes/ _layouts/ _modules/ _sass/ about.md announcements.md assets/ calendar.md faq.md index.md jekyll.sh ref/goals.md ref/keyboard.md schedule.md staff.md success.md _staffers _schedules
Just the Class has been used by instructors at Stanford University (CS 161), UC Berkeley (Data 100), UC Santa Barbara (DS1), Northeastern University (CS4530/5500), and Carnegie Mellon University (17-450/17-950). For a few open-source examples, see the following course websites and their source code.
- CSE 390HA (source code) is an example of a single-page website that centers modules.
- CSE 143 (source code) hosts an entire online textbook with full-text search.
- CSE 373 (source code) is an example of a simple website combining Markdown pages with generated HTML files.
Share your course website and find more examples in the show and tell discussion!
Continue reading to learn how to setup a development environment on your local computer. This allows you to make incremental changes without directly modifying the live website.
Just the Class is built for Jekyll, a static site generator. View the quick start guide for more information. Just the Docs requires no special Jekyll plugins and can run on GitHub Pages' standard Jekyll compiler.
- Follow the GitHub documentation for Setting up your GitHub Pages site locally with Jekyll.
- Start your local Jekyll server.
$ bundle exec jekyll serve
- Point your web browser to http://localhost:4000
- Reload your web browser after making a change to preview its effect.
For more information, refer to Just the Docs.