The course template

The course template#

This tutorial is further paired with a template course, that you can freely download here. To see a rendered version of the website this template course produces follow this link. This course will in essence teach you how to adapt this template to host your own online courses. An explanation of the template can be found below.

The course template is structured in the following way

depicting the contents of the course template repository on github

Where:

  • .github/workflows folder: contains the prewritten scripts to automatically create your website everytime new content is pushed online

  • lecture: contains all our content files and directories, as well as the “toc.yml” and the “config.yml” files, which defines the strutcture and functionality of the website

  • README: a short explanation of your website/course

  • LICENSE: self-explanatory, stating who and how are people allowed to use or reproduce the content of this repo

  • requirements.txt: contains the necessary requirements for the automatic scripts building the website to run, no need to change anything here.

Now most of the things that you’ll be adapting for your course are contained in the content folder “lecture”, which looks like this

depicting the contents of the course template repository on github

Where:

  • content: contains files making up the main content of a course website

  • general information: contains files providing information, such as the necessary setup, the outline of the course, a code of conduct etc.. The included “index.md” file will be the landing point of the course website

  • introduction: contains files making up the introdutory sessions of a course

  • static: contains all the pictures and graphs contained in a course. It’s recommended that should you add new files. e.g. a course logo to this folder.

  • config.yml: Contains the course title, authors and copyright notice at the footer of the website, which you should change before hosting your website. Further contains the specifics for the technical implementations of a course, e.g. whether jupyter notebooks should be re-run everytime the course website is created by the github workflow or e.g. whether a course incoporated interactive elements.

  • toc.yml: contains information on the structure of the course website. For an in-depth explanation, jump to the respective section under “creating content”