Assignment 1a Blogging environment
Content over layout
Grading this course will not take into account how beautiful results of the work are formatted. We more easily focus on content by using Markdown, an increasingly popular language used to document code and/or write blogs published on the web.
Note: if an assignment pages include links, you are supposed to have a look at those before proceeding!
Equating webpages to files in a GitHub repository means that we edit and publish a website the exact same way as we version our code:
git commit, and
git push the website, collaboratively and versioned. When setup correctly, a tool called Jekyll will
automagically convert the markdown into HTML (without you doing anything, Jekyll will run at the Github servers upon
Github for Education
Did you already request your github student pack? You might want to visit github for education to get benefits like private repositories. (BTW, all repositories created in the course are private unless you change that, so no worries about your future career if you write silly things here).
If you are not yet fluent in
git and Github, then go ahead and study the
online training material
provided by Github. If you are unhappy working with the command line (a skill which I do recommend taking the
effort to acquire), consider Github’s OS X or Windows
tool suites (the Windows one is convenient, but I never use it really).
Earlier (on Brightspace), I already pointed you to MIT’s The Missing Semester of Your CS Education, which includes both commandline and git lectures. Recommended stuff!
How to Create a Blog Post
The goal in this first assignment is to just complete your first repository that contains a simple site, composed in Markdown, published online for free; make sure the process is familiar. Use the results of assignment one as your personal course website and blog, and deploy the same steps in the rest of the course to bootstrap new blog posts, one for every real course assignment.
So, after familiarizing yourself with
git (or refreshing your memory) with the resources above, continue to write the first post on your blog:
- Follow the link to the Classroom for Github Bigdata Blog 2020 assignment, login with your github account, and accept the assignment. This creates a private repository under the
rubigdata“organization”, specifically for this assignment. This newly created repository
rubigdata/big-data-blog-2020-USERNAMEcontains the structure that you use throughout the practical assignments for the course.
- Go to your Github repository on Github (you can follow the link that is shown after accepting the assignment) and navigate to the settings tab. Scroll down to the Github Pages settings and select
master branch /docs folderas source to enable Github pages. After a little delay your repository should appear on
- If you would like your blog to look better than plain HTML, select a theme in your repository settings after enabling Github Pages.
Editing the Blog post
In order to add your own content you should now
clone the private assignment repository. The
README.md demonstrates some Markdown markup that you may use. The
docs/ directory contains the Github Pages source for your blog (if you followed the instructions above).
Proceed as follows:
docs/index.mdto include some basic information about you (name, student number, course programme), and create a table of contents (ToC) (just use a bulleted list) with at least one link to a (so far non-existent) HTML file; that you will have Jekyll generate in the next step.
- Create a new markdown file, do the
git pushsequence, and Jekyll will turn the new
.mdfile into a
.htmlfile with the same name - the latter is what you should link to in the ToC.
- Create that blog post, including some extra information about yourself, e.g., hobbies, favourite study/sports/student association, why you follow this course, etc.
Finalize the test assignment
If you are just starting out using
git, it is fine to use just simple markup and limited styling.
Have you been committing and pulling for months or even longer, then you should figure out how to use the
Github pages features for a blog series instead of having to create separate files manually
and this excellent blog).