OverviewTeaching: 15 min
Exercises: 20 minQuestions
what is GitHub Pages?Objectives
set up a website using Github Pages
share work and collaborate using GitHub
GitHub Pages are websites hosted on GitHub. They allow you to build a repository that displays as a website. GitHub pages uses Jekyll, a ‘blog-aware static site generator’ to turn a site of files and folders into a website.
GitHub pages allow you to version control your website. This is useful for a lot of different reasons. It allows you to keep a record of what changes you have made. It allows people to reference your website at a particular point in time and (if you make your source open) to see what it was like at that particular point in time. This is very useful for academic citations. Most people have had the experience of following up a reference to a website and either getting a 404 error or seeing something completely different. Although using versions on your site doesn’t guarantee this won’t happen, it does make it easier to manage old versions of your site.
GitHub pages also mean that you can collaborate on a website with a lot of people without everyone having to communicate endlessly back and forwards about what changes need to be made, or have been made already. You can create ‘issues’ (things that need discussing or fixing), list things to do in the future, and allow other people visiting your website to quickly suggest, and help implement changes through pull requests.
Now we’re all persuaded of how awesome GitHub pages are (or you’ve identified some fatal flaws in my reasoning), it would be useful to try playing around with some things we can do with GitHub pages. This will help us cement what we have learned in the previous hour and may help spark discussion for the last section of this session.
To practise using Git, GitHub pages and Markdown we can contribute to a GitHub pages site. This page is currently very bare but we can change that by making some pull requests and suggesting changes.
GitHub Pages use the Git/GitHub workflow to help you build webpages