Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

The website and index of materials.

Find lecture notes and details on how to run the sessions.

Building the Site

Configured in site.sbt.

Run sbt site/makeMicrosite to create the site you're reading now. Find it in site/target/jekyll once built.

You should be able to preview the site using Jekyll to serve it.

$ cd site/target/jekyll
$ jekyll serve

If you're going to publish it (sbt site/publishMicrosite), make sure you site/makeMicrosite first (otherwise you'll see a commit on the gh-pages branch with 0 commits)

Initially Publishing the Site

This only needs to be done once.

We publish the site to Githubs gh-pages, setup the branch (one time) with the following:

# Using a fresh, temporary clone is safest for this procedure
$ mkdir temp
$ git clone
$ cd yourproject

# Create branch with no history or content
$ git checkout --orphan gh-pages
$ git rm -rf .

# Establish the branch
$ git commit --allow-empty -m "initialize gh-pages branch"
$ git push origin gh-pages

Then delete the temp folder, you have a new empty branch. When that branch has HTML in it (say, a jekyll site), when you push, Github will "deploy" the HTML to it's web servers. Visit the published site with

Domain Names

If you have a domain name (like we do), add it to a file called CNAME and the above will redirect to it. Setup that domain name server to point back to Github (just a A records is enough). This article goes into a little more depth around HTTPS (notably, the older don't support HTTPS so you want to be using the alternatives).

Then go enjoy


Website and index of materials






No releases published


No packages published