Getting Started
Working with course materials in the github-pages/jekyll format used by UCSB CS
A few basic ideas
Two websites in one
- For each course offering, we have two websites we work with:
- One that stays the same across course offerings, e.g. https://ucsb-cs16.github.io
- One that is new every quarter, e.g. https://ucsb-cs16-wi17.github.io, https://ucsb-cs16-sp17.github.io
- The two websites are integrated via common navigation so that they appear to the end user as if they are one big website.
Terminology
- Markdown is the format we use to author more course materials
- Jekyll is the software that is used to convert Markdown into static HTML
- Github Pages is used to host the Jekyll formatted site
You don’t have to use github pages to build your site this way, and are not locked into using github pages. It is possible to host course ebsites formatted this way, using Jekyll, on other platforms, including Heroku. You can also run Jekyll locally on a laptop, and just upload static HTML to the site each time it changes—then you can use any system that can serve static HTML/CSS/Javascript files. We won’t discuss any of those alternatives further in this getting started article—I’m just mentioning that they exist, in case you are worried about getting locked in to “github.com”, per se.
First Steps: github.com login, github.com organization
The first thing you need is a github.com login. One on the “free plan” is fine. You don’t need any academic discounts to work with sites in the way we describe here.