If you are familiar with classic Web development using HTML/CSS without server side code you probably know that adding a menu item on one page makes it so that you need to update all other html-pages with the same code. An early solution for this situation was frames. Frames let us separate a menu from the page content and made updating static sites much easier. It came with a lot of drawbacks though. If the goal is to have a static website and still be able to add content and updates in an easy way, static site generators are the way to go. A static site generator creates a static webpage (ie. pure HTML/CSS/Javascript) from more dynamic content.
In this course we will use Jekyll because of its easy hosting on GitHub. You can add Jekyll in a GitHub-repo and GitHub will compile and present the final result on their Github-pages.