Your own Jekyll blog

(for free, yay!)


  • Is a computer program written in the language Ruby. When you run Jekyll, it will start a web server and render your pages.
  • You need a configuration file to set it up. (They give you a default one.)
  • You have to follow rules about how to name files and where to put them so the program can find your information.
  • Then you write blog posts in "markdown" - a simple format where, for example, asterisks (*) denote bulleted lists.
  • Github runs Jekyll to host people's web pages and blogs off of their Github accounts for free.

There are instructions on Jekyll. And some awesome examples.


The picture is 'Octocat' - it is half octopus and half cat. I don't know why.

Every startup I've worked at (three of them) uses Github to store their code. You can pay for a private account for your company. So if you know Github it will help you get a coding job. It provides a form of version control — the idea is you can save old versions of your code that was working and go back to it later if you break something.

It also provides tools for people to collaborate on the same code. Almost all of the open source projects I work on use Github. You can start contributing to open-source code for free here. And share your code with other people. Job seekers make their pages look good and then use it as a portfolio to show employers their skills.

Here is a link to slides that get you started on Github. We are jumping to this and will do all of it first before making the blog because the blog will be hosted on Github and you need to know how to use it.

Back to Jekyll

There are great instructions for getting started on Jekyll, and special instructions if you are running Jekyll on Windows. Wait just a second before following the link and install al this other stuff below.

If there's a problem installing, don't worry. Just copy the starting code from a webpage you like in the list of Jekyll example pages into your Github repository (I'll show you how in the next slide) and go from there.

  • Get Ruby for Windows (Choose something less than 2.2.2). You probably have it on other systems. Try ruby -v in a command terminal / Windows Powershell to check.
  • Get Python for Windows. You probably have it on other systems
    Try python --version in a command terminal / Windows Powershell to check.
  • For now don't worry about installing Node.js (They say you need it for version 2 and earlier of Jekyll and right now they're on version 3.)
  • Get Jekyll (finally)
  • Follow the quickstart

Option A: Copy someone else's site code as a starting point

If you can't get Jekyll installed for some reason ahem, Windows then you can work around it by doing this because you'll know the page already works and you can just write posts. If you really like someone else's blog and they're OK with you copying it do this too, because it's quicker than learning how to style a web page right now.

Later, if you want to learn it, Udacity is the best place to go for free online classes that you complete on your own schedule. Free online class on HTML + CSS. Or here's a really quick intro but you have to pay to get the whole lesson. Or mess around on Codepen.

  1. Make the directory that will store your blog page. It has to be titled
    <your github login>
  2. Pick a site you like from the examples or even more examples
  3. Check that there is a license and don't violate it because it's bad mojo (um, stealing). So if they say don't copy my site, pick another one. But if they say copy my site but delete all of the stuff in _posts then do that. If there's no license you're supposed to assume they don't want you to copy anything and you need to pick another site.
  4. Click on its "source" link to get to the source code on GitHub
    1. Use git clone and copy the URL at the top (</img>)
    2. Delete the .git directory; you will re-initialize it for yourself.
    3. Delete the other person's pages. Keep one file from _posts but open it and delete all of the words that aren't yours and just keep the layout.
  5. Initialize the repository, add all files, and commit the addition:
    git init
    git add .
    git commit -m"Initial commit."
  6. Follow this post about how to add your git project to GitHub
  7. Start posting!

Option B: Make your own site

  1. Make the directory that will store your blog page. It has to be titled
    <your github login>
  2. Follow the Jekyll quickstart to get a basic page up, and then change stuff (this can be a little hard but then you have total control.)
  3. For now we'll accept the page the way it is

The markdown content

Make a new post! Change directories to _posts and edit the existing entry to have your text. The beginning "front matter" tells Jekyll how to title your post. You have to keep the format there exactly the same.

layout: post
title:  "Welcome to Jekyll!"
date:   2015-12-28 06:19:56 -0600
categories: jekyll update

The rest of the content you see is in markdown. The dialect for your markdown (so you can google for how to do other things) is in the _config.yml file. By default it is kramdown.