I decided to start a blog. Like Andrej Karpathy’s blog, this one is built using Jekyll and hosted by GitHub.

This first post just describes how to set up Jekyll and GitHub for a personal page / blog combo. My github username is goodfeli. I wanted a setup where I have a personal site at https://goodfeli.github.io and a blog at https://goodfeli.github.io/blog. Because it wasn’t immediately obvious how to do this, I thought I should document the process.

  1. Register a GitHub account if you do not already have one.
  2. Make a repository called <username>.github.io, in my case goodfeli.github.io. Make another repository called blog.
  3. (Optional) I recommend setting both repositories to be private. Otherwise anyone can file a GitHub issue on the repository and it will be publicly visible.
  4. In your <username.github.io> directory, make a branch called master. Make an index.html file for your personal page. Pushing this to GitHub will result in it being published to the web at https://goodfeli.github.io. Note that we will not be making a blog subdirectory within this repository; instead the separate blog repository will serve that content.
  5. Install Jekyll following the instructions for your platform.
  6. Run jekyll new blog and use the contents of the resulting directory to initialize the gh-pages branch of your blog repository. Yes, the <username>.github.io repository will serve the master branch and the blog repository will serve the gh-pages branch. Your blog with the default Jekyll files is now available, in my case, at https://goodfeli.github.io/blog.