Adarsh Pandit

Software Developer

Episode 4, A New Blog

By Adarsh Pandit in blogging

This is a new Octopress blog set up here at adarsh.github.io using GitHub User Pages (different from Group/Repo pages).

How I set it up (cribbed heavily from this post by Paul Sturgess):

Initial setup

Create a new repo named username.github.io cloned from the Octopress repo:

$ git clone git://github.com/imathis/octopress.git adarsh.github.io
$ cd adarsh.github.io

I’m not sure it matters much, but I use ruby 2.0.0-p247 under rbenv:

$ echo '2.0.0-p247' > .ruby-version
$ gem install bundler
$ bundle install

Skip the installation of the default theme ($ rake install) - we’ll install something nicer in a moment.

Setup GitHub User Pages

Octopress has a nice Rake task for setting up a blog under GitHub Pages:

$ rake setup_github_pages

This does a bunch of stuff. I’ll let Paul explain more clearly:

This task does quite a few things. The most important is that it creates a new _deploy directory that is another git repository. This is where Octopress generates the flat website for deployment to the master branch of your repo on Github.

All the Octopress code used to generate the website into the _deploy directory now lives in new branch called source. Note in the source branch the .gitignore includes _deploy so it doesn’t get committed in two places!

This sounds more complicated than it is, Octopress has rake tasks to make this really easy to manage. It’s worth pushing up at this point to check everything works before tinkering:

$ rake generate deploy

This copies the generated files into _deploy, adds them to git, commits and pushes them up to the master branch.

Visit http://yourgithubusername.github.io and check it out

Add a Theme

While Octopress is pretty great out of the box, the default theme is a little stale. I’m using LeanPress:

$ git clone https://github.com/tlvince/leanpress.git .themes/leanpress
$ rake install\['leanpress'\]
$ rake generate

There’s a gotcha here for zsh users: Under zsh, these rake commands with square brackets need escaping. I think it’s okay to skip this under bash.

Configure _config.yml

There’s a ton of stuff in here, but for now, just edit the stuff at the top:

# ----------------------- #
#      Main Configs       #
# ----------------------- #

url: http://adarsh.github.io
title: adarsh.github.io
subtitle: a development blog
author: Adarsh Pandit
simple_search: http://google.com/search
description:

Add Posts

$ rake new_post\['Episode 4: A New Blog'\]

This generates a source/_posts/2013-08-08-a-new-hope.markdown file. Edit it up and set up preview:

# In another pane/tab
$ rake watch     # will regenerate the html/css after any changes

# In yet another pane/tab
$ rake preview   # preview page at http://localhost:4000

Deploy again and commit the source:

$ rake generate deploy
$ git commit -am 'First Commit and post!'
$ git push

Profit

Profit!

692dad2af6224bf856e94a96049292c4
Written by Adarsh Pandit

Read more posts by Adarsh, and follow Adarsh on Twitter.